自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(77)
  • 收藏
  • 关注

原创 SSH连接SFTP传输:如何使用libssh库在windows环境下进行(文件、文件夹)传输到远端服务器

SSH连接SFTP传输:如何使用libssh库在windows环境下进行(文件、文件夹)传输到远端服务器:配置环境,cmake编译libssh,如何使用生成的dll与lib文件,配置lib 方法一,配置lib 方法二,配置dll方法一 将dll配置进入环境变量,配置dll方法二 在编译过后将dll直接与可执行文件.exe文件放在同一目录下,传输文件、文件夹代码(适配windows)

2024-04-01 08:42:13 1032

原创 SSH连接SFTP传输:如何使用libssh库在Linux环境下进行(文件、文件夹)传输到远端服务器

SSH连接SFTP传输:如何使用libssh库在Linux环境下进行(文件、文件夹)传输到远端服务器:建立SSH会话并连接远端服务器;SSH身份验证;密码验证;密钥验证;SFTP子系统构建;传输普通文件;递归传输文件夹

2024-03-28 08:25:24 1664

原创 CPU独占内核运行方式实现,并指定线程到特定CPU上执行

操作系统实现 CPU 独占内核运行方式,确保进程具有高优先级和独占 CPU 运行的能力。这样可以提高系统的稳定性、安全性和效率。如果想让特定进程或线程独占某一或某些CPU,我们需要做三件事:1.隔离CPU,避免其它线程run在被隔离的CPU上2.绑定所有的interrupts(中断)到非隔离的CPU上,避免被隔离的CPU收到interrupt3.把特定的 线程/进程 绑定到某一被隔离的CPU上

2024-03-11 08:46:05 2017

原创 【数据链路层】网络基础 -- MAC帧协议与ARP协议

数据链路层、认识以太网、以太网帧格式(MAC帧)、认识MAC地址、对比理解MAC地址、IP地址、认识MTU、MTU对IP协议的影响、MTU对UDP协议的影响、MTU对于TCP协议的影响、再谈局域网转发原理(基于协议)、ARP协议、ARP协议的作用、ARP协议的工作流程、ARP数据报的格式

2023-09-21 16:35:01 1506 32

原创 【网络层】网络基础 -- IP协议

IP、协议头格式、网段划分、特殊的IP地址、IP地址的数量限制、私有IP地址和公网IP地址、分片与组装、如何分片与组装?

2023-09-07 08:51:53 1650 42

原创 【传输层】TCP -- 三次握手四次挥手 | 可靠性与提高性能策略

超时重传机制、连接管理机制、三次握手、四次挥手、滑动窗口、拥塞控制、延迟应答、捎带应答、面向字节流、粘包问题、TCP异常情况、TCP小结、基于TCP应用层协议、理解 listen第二个参数

2023-09-04 09:18:44 3842 84

原创 【传输层】网络基础 -- UDP协议 | TCP协议

再谈端口号,端口号范围划分,netstat,pidof,UDP,UDP的特点,面向数据报,UDP的缓冲区,基于UDP的应用层协议,TCP,认识TCP协议的报头,理解封装解包,理解可靠性,TCP工作模式,16位窗口大小,6位标志位:URG、ACK、PSH、RST、SYN、FIN

2023-08-31 13:00:20 693 33

原创 【应用层】网络基础 -- HTTPS协议

HTTPS 协议原理:为什么要加密:常见的加密方式:对称加密、非对称加密、数据摘要&&数据指纹、HTTPS 的工作过程探究:方案1-只使用对称加密、方案2-只使用非对称加密、方案3-双方都使用非对称加密、方案4-非对称加密+对称加密、中间人攻击-针对上面的场景、CA认证、理解数据签名、方案5-非对称加密+对称加密+证书认证

2023-08-28 10:25:26 1521 37

原创 【应用层】网络基础 -- HTTP协议

再谈协议、HTTP协议、认识URL、urlencode和urldecode、HTTP协议格式、HTTP的方法、HTTP的状态码、HTTP常见Header、HTTP周边会话保持

2023-08-24 12:03:49 1957 46

原创 【Linux网络】网络编程套接字 -- 基于socket实现一个简单UDP网络程序

认识端口号、网络字节序、处理字节序函数 htonl、htons、ntohl、ntohs、socket:socket编程接口、sockaddr结构、结尾实现UDP程序的socket接口使用解析、socket、处理 IP 地址的函数、初始化sockaddr_in、bind、recvfrom、sendto、实现一个简单的UDP网络程序、封装服务器相关代码、封装客户端相关代码

2023-08-21 09:55:21 1879 39

原创 【Linux网络】网络基础 -- 初识协议 | 网络传输流程 | IP地址与MAC地址

认识 "协议":思考: 只要通信的两台主机, 约定好协议就可以了么?协议分层、OSI七层模型、TCP/IP五层(或四层)模型、网络传输基本流程、先谈局域网、网络传输流程图:数据包封装和分用、网络中的地址管理、认识IP地址、认识MAC地址

2023-08-17 10:34:26 658 28

原创 【Linux】简单线程池的设计与实现 -- 单例模式

线程池:一种线程使用模式。线程过多会带来调度开销,进而影响缓存局部性和整体性能。而线程池维护着多个线程,等待着监督管理者分配可并发执行的任务。这避免了在处理短时间任务时创建与销毁线程的代价。线程池不仅能够保证内核的充分利用,还能防止过分调度。可用线程数量应该取决于可用的并发处理器、处理器内核、内存、网络sockets等的数量。需要大量的线程来完成任务,且完成任务的时间比较短。WEB服务器完成网页请求这样的任务,使用线程池技术是非常合适的。

2023-08-14 10:42:02 1240 23

原创 【Linux】线程同步 -- 条件变量 | 生产者消费者模型 | 自旋锁 |读写锁

初识生产者消费者模型、同步、条件变量、初步使用、POSIX信号量、其他常见的各种锁、自旋锁、读写锁

2023-08-02 10:57:45 2319 63

原创 【Linux】线程互斥 -- 互斥锁 | 死锁 | 线程安全

互斥锁、互斥量mutex、锁原理解析、可重入VS线程安全、STL中的容器是否是线程安全的?、死锁

2023-07-30 11:35:59 1004 29

原创 已解决:多线程环境中,新线程在使用cout函数打印输出到显示器出现数据混乱的情况

最近学习Linux多线程的时候,创建新线程后使用cout打印输出到显示器上面的内容老是不对齐,数据混乱,搞得我强迫症都犯了。那么有什么方法呢?本文已解决

2023-07-28 11:30:47 1865 13

原创 【Linux】详解线程控制 -- 线程用法 | 线程等待 | 线程ID及地址空间布局

本文主要讲述线程控制:Pthread线程库,线程使用,线程等待,线程退出返回值的用处,C++11的多线程,线程ID及地址空间布局,线程局部存储,分离线程

2023-07-26 11:41:52 976 23

原创 【Linux】 由“进程”过渡到“线程” -- 什么是线程(thread)?

由进程过渡到线程,一字之差进程与线程的区别是什么?什么叫线程?什么叫进程?如何创建线程?线程相对于进程又有哪些优缺点?

2023-07-23 06:30:00 1022 18

原创 【Linux】进程信号 -- 信号保存与递达 | 信号捕捉 | 僵尸进程的信号处理方法

信号的保存与信号的递达处理:信号集操作函数、信号捕捉流程(陷入内核操作)、可重入函数、volatile、SIGCHID信号关于僵尸进程处理

2023-07-20 11:07:01 2962 53

原创 【Linux】进程信号 -- 信号产生 | 系统调用、硬件、软件的信号发送

关于信号发送的问题:上面所说的所有信号产生,最终都要有OS来进行执行,为什么?OS是进程的管理者,也只有OS有权利去操作信号的处理是否是立即处理的?在合适的时候信号如果不是被立即处理,那么信号是否需要暂时被进程记录下来?记录在哪里最合适呢?是的,保存在PCB一个进程在没有收到信号的时候,能否能知道,自己应该对合法信号作何处理呢?我们应该知道,比如红灯快要亮起,但还没有,此时我们知不知道红灯亮起的时候该怎么办?答案是知道。

2023-07-18 10:07:41 4235 43

原创 【Linux】进程间通信 -- 信号量

假如我们将一份共享资源(电影院)分成几份,进程(人),访问共享资源的子部分(电影的座位),我们不能直接去访问这些资源(不能不买票随便坐),信号量(电影票),每个进程先申请信号量,如果申请成功了,就相当于预定这部分资源(买到票有座位),申请失败就不允许访问这部分资源(没买票到不允许看电影)。所有的进程在访问公共资源之前,都必须先申请sem信号量→必须先申请sem信号量的前提,是所有进程必须先得看到同一个信号量→信号量本身就是公共资源→信号量是不是也要保证自己的安全呢?为什么要让不同的进程看到同一份资源呢?

2023-07-16 15:12:27 868 14

原创 【Linux】进程间通信 -- system V共享内存

共享内存的原理以及共享内存的用法,案例实现共享内存通信:1.使用shmget生成共享内存⒉.使用ftok使得进程能看到同一内存块3.模拟创建共享内存查看key值与shmid值、再谈key、IPC资源4.shmctl对共享内存进行控制5.shmat将共享内存段连接到进程地址空间6.shmdt将共享内存段与当前进程脱离7.创建共享内存通信-读取端8.创建共享内存通信-写入端、共享内存的优缺点、共享内存的内核结构

2023-07-13 09:05:21 884 18

原创 【Linux】进程间通信 -- 命名管道 | mkfifo调用

同是管道通信,命名管道与匿名管道有什么区别呢?本文通过建立一个命名管道通信带你了解什么是命名管道

2023-07-10 11:54:09 1075 19

原创 【Linux】进程间通信 -- 匿名管道 | pipe系统调用

什么是通信?为什么要有通信?如何实现?管道通信、匿名管道、pipe系统调用、读写特征、管道的特征

2023-07-08 09:24:16 971 6

原创 【Linux】如何将自定义源文件打包并生成动态库

动态库打包、动态库链接OS方法:1.增加环境变量方法2.配置.conf文件3.创建一个软连接在当前目录4.创建一个软连接在系统库目录。静态库如何加载、动态库如何加载

2023-07-06 11:24:31 419 5

原创 【Linux】如何将自定义源文件打包并生成静态库

自定义实现一个静态库,从源文件的书写,再到静态库打包,以及作为使用者如何使用静态库,另外—种使用静态库的方法(安装库到本地)

2023-07-04 08:58:00 1038 8

原创 【Linux】什么是文件系统及inode?如何创建软硬链接?软硬链接有什么作用?

关于文件系统以及inode,什么是软硬链接,以及如何创建软硬链接,软硬链接有什么作用

2023-07-02 09:40:03 6022 19

原创 【Linux】文件基础IO操作:C语言接口 | 系统调用接口 | 重定向

简述:重修C语言文件知识、Linux文件知识、标记位传参、文件的系统调用、理解什么是文件、文件fd的分配规则、重定向、c语言文件层面的缓冲区知识

2023-06-29 09:20:36 1208 13

原创 【Linux】详解进程控制 ( 再谈进程退出 | 程序替换exec*类型函数 )

再谈进程退出、进程程序替换、程序替换原理有哪些替换函数、execl、execlp、execv、execvp、execle、execve

2023-06-27 10:18:38 712 11

原创 【Linux】详解进程控制 ( fork函数 | 写时拷贝 | 进程退出 | 进程等待 )

fork函数、初识fork返回值问题、fork常规用法、写时拷贝、进程退出、进程退出码、进程退出场景、进程如何退出、进程等待、僵尸进程、进程等待的方法

2023-06-25 09:12:04 494 12

原创 【Linux】程序地址空间?进程地址空间

你之前在语言阶段学习的内存地址空间真的准确么?本文让你重新认识地址空间进程地址空间:为什么要存在虚拟地址空间?重新理解地址空间

2023-06-22 10:37:25 1250 10

原创 【Linux】进程优先级

什么是进程优先级?在Linux中进程优先级是怎么具体表述出来的、如何更改优先级?

2023-06-18 18:07:09 724 4

原创 【Linux】详解环境变量与命名行参数

环境变量:了解PATH、什么是环境变量?如何使用环境变量命名行参数:argc与argv、env、environ

2023-06-15 11:13:53 2027 12

原创 万字详解普遍操作系统进程七态与Linux进程七态

作为一个称职的系统管理员,为了更熟悉进程的管理流程,我们必须要知道进程的不同状态所对应的意义。普遍操作系统的概念:就绪状态、运行状态、等待状态、阻塞状态、挂起状态、暂停状态、终止状态Linux下的进程状态:R(running)运行状态、s(sleeping)可中断睡眠状态、T(stopped)停止状态、t (tracing stop)跟踪停止、D(disk sleep)不间断睡民状杰Z(zombie)僵尸状态、x (dead)死亡状态

2023-06-09 12:13:02 1813 22

原创 【Linux】什么是进程(process)?

了解什么是进程?进程与程序概念描述进程-PCB、Windows进程与Linux进程、Linux进程操作子进程父进程、创建进程fork的使用

2023-06-06 10:42:02 1557 14

原创 C++三大特性—多态 “抽象类与虚函数表”

什么是抽象类?什么是虚函数表?带你通过vs的监视窗口与内存窗口了解虚函数的底层工作原理

2023-05-30 15:20:23 1219 16

原创 作为C/C++程序员你可以不使用但你必须会的Linux调试器-gdb(GNU Debugger)

C/C++程序员的开发工作大多集中在Linux环境下,那么在Linux环境中的调试技巧就非常重要了,而且有些面试官也喜欢考察gdb这种不是特别好用但又表现你的Linux基础的小工具

2023-05-27 11:40:11 717 14

原创 C++三大特性—多态 “虚函数与动态绑定”

多态的定义及实现、虚函数重写、动态绑定、override和final (C++11)、重载、覆盖(重写)、隐藏(重定义)的对比、成员函数与继承、派生类中的虚函数虚函数与默认实参、如何回避虚函数的机制

2023-05-21 18:51:59 1927 16

原创 超详细的Linux环境下使用git上传代码教程(gitee版)

git各种操作总结:超详细的在linux环境下使用git创建本地及远程仓库,上传文件,删除文件教程,一看就懂

2023-05-16 19:27:42 3570 6

原创 C++三大特性—继承“复杂的菱形继承及菱形虚拟继承”

C++的一个大坑:菱形继承 希望这篇文章能让你理解什么是菱形继承,以及菱形继承的注意事项,以及为了解决菱形继承又引入一个坑 虚拟继承

2023-05-07 21:42:47 1112 9

原创 C++三大特性—继承“名字搜索与默认成员函数”

继承中的类的作用域、编译时的名字搜索、名字冲突与继承、名字查找优先类型检查派生类的默认成员函数、派生类的声明、继承与友元、继承与静态成员

2023-05-03 14:30:31 1574 12

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除