Linux
文章平均质量分 90
the_nov
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
VSCode远程连接
第二步:第三步:将配置写入配置文件。原创 2025-04-03 14:52:16 · 857 阅读 · 0 评论 -
25.Reactor
解释: 演示代码函数名被视为函数指针或地址在大多数编程语言中,函数名本身可以被视为函数的地址或指针。这意味着您可以使用函数名来引用或传递函数,就像您可以使用指向函数的指针一样。这是因为函数名通常表示函数在内存中的起始地址。在 C 和 C++ 中,函数名可以被视为指向函数的指针。您可以将函数名赋值给函数指针,然后通过函数指针来调用函数。例如:在上面的示例中, 是函数的名称,但它可以被赋值给函数指针 ,然后通过 调用函数。这种函数名作为函数地址的特性在许多编程语言中也适用,但在不同语言和编译器中原创 2025-04-03 14:51:06 · 938 阅读 · 0 评论 -
24.多路转接-poll
poll也是一种linux中的多路转接的方案。原创 2025-04-03 14:50:22 · 1119 阅读 · 0 评论 -
23.多路转接-select
后端服务器最常用的网络IO设计模式其实就是Reactor,也称为反应堆模式,Reactor是单进程,单线程的,但他能够处理多客户端向服务器发起的网络IO请求,正因为他是单执行流,所以他的成本就不高,CPU和内存这样的资源占用率就会低,降低服务器性能的开销,提高服务器性能。原创 2025-04-03 14:48:50 · 949 阅读 · 0 评论 -
22.DNS协议,ICMP协议,NAT技术
主域名是用来识别主机名称和主机所属的组织机构的一种分层结构的名称.例如com:一级域名,表示这是一个工商企业域名。同级的还有.net(网络提供商)和.org(开源组织或非盈利组织)等。baidu:二级域名,一般对应的就是公司名。www:只是一种习惯用法,之前人们在使用域名时,往往命名成类似于ftp.xxx.xxx/www.xxx.xxx这样的格式,来表示主机支持的协议。数据链路层的作用:两个设备(同一种数据链路节点)之间进行传递数据以太网是一种技术标准;原创 2025-04-03 14:47:23 · 642 阅读 · 0 评论 -
21.数据链路层协议
发起方构建ARP请求,以广播的方式发送给每一个主机。每台主机都能识别接收,然后根据MAC帧的帧类型字段将有效载荷交付给每个主机的ARP层。其他不相关主机立马根据目的IP,在自己的ARP协议内部丢弃ARP请求,只有目标主机会处理请求。原创 2025-04-03 14:46:50 · 785 阅读 · 0 评论 -
20.IP协议
IP协议全称为“网际互连协议(Internet Protocol)”,IP协议是TCP/IP体系中的网络层协议。原创 2025-04-03 14:45:58 · 1055 阅读 · 0 评论 -
19.TCP相关实验
当客户端和服务器在进行TCP通信时,如果客户端调用close函数关闭对应的文件描述符,此时客户端底层操作系统就会向服务器发起FIN请求,服务器收到该请求后会对其进行ACK响应。但如果当服务器收到客户端的FIN请求后,服务器端不调用close函数关闭对应的文件描述符,那么服务器就不会给客户端发送FIN请求,相当于只完成了四次挥手当中的前两次挥手,此时客户端和服务器的连接状态分别会变为FIN_WAIT_2和CLOSE_WAIT。原创 2025-04-03 14:45:14 · 1076 阅读 · 0 评论 -
18.Tcp协议
TCP全称为“传输控制协议(Transmission Control Protocol)”,TCP协议是当今互联网当中使用最为广泛的传输层协议,没有之一。原创 2025-04-03 14:43:05 · 1373 阅读 · 0 评论 -
17.udp协议
负责数据能够从发送端传输接收端端口号(Port)标识了一个主机上进行通信的不同的应用程序;在TCP/IP协议中, 用 “源IP”, “源端口号”, “目的IP”, “目的端口号”, “协议号” 这样一个五元组来标识一个通信(可以通过netstat -n查看);原创 2025-04-03 14:42:22 · 1059 阅读 · 0 评论 -
16.https协议
数字指纹(数据摘要),其基本原理是利⽤单向散列函数(Hash函数)对信息进⾏运算,⽣成⼀串固定⻓度 的数字摘要。数字指纹并不是⼀种加密机制,但可以⽤来判断数据有没有被窜改。摘要常⻅算法:有MD5、SHA1、SHA256、SHA512等,算法把⽆限的映射成有限,因此可能会有 碰撞(两个不同的信息,算出的摘要相同,但是概率⾮常低)摘要特征:和加密算法的区别是,摘要严格意义不是加密,因为没有解密,只不过从摘要很难反推 原信息,通常⽤来进⾏数据对⽐。原创 2025-04-03 14:40:50 · 855 阅读 · 0 评论 -
15.http协议
例如, 我们需要实现一个服务器版的加法器. 我们需要客户端把要计算的两个加数发过去, 然后由服务器进行计算, 最后再把结果返回给客户端。原创 2025-04-03 14:40:02 · 730 阅读 · 0 评论 -
14.网络套接字TCP
accept()connect()关于网络命令行命令tcp演示代码1(基础框架)makefilelog.hpptcpServer.hpptcpServer.cctcpClient.hpptcpClient.cctcp演示代码2(多进程版)版本1(孙子进程法)只需要修改tcpServer.hpp就可以,其他文件不变tcpServer.hpp演示结果演示结果演示结果log.hppLockGuard.hppTask.hppThread.h原创 2025-04-02 14:02:13 · 1034 阅读 · 0 评论 -
13.网络套接字
举例: 我们从家出发去学校,那么家就是源IP地址,学校就是目的IP地址端口号(port)是传输层协议的内容传输层协议(TCP和UDP)的数据段中有两个端口号, 分别叫做源端口号和目的端口号. 就是在描述 “数据是谁发的(源端口号), 要发给谁(目的端口号)”;原创 2025-04-02 10:45:37 · 878 阅读 · 0 评论 -
11.多线程-信号量-线程池
针对一些经典的常见的场景, 给定了一些对应的解决方案, 这个就是。原创 2025-04-02 10:44:07 · 846 阅读 · 0 评论 -
11.多线程_生产消费者模型
【代码】11.多线程_生产消费者模型。原创 2025-04-02 10:43:21 · 433 阅读 · 0 评论 -
10.多线程
在一个程序里的一个执行路线就叫做线程(thread)。更准确的定义是:线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行,本质是在进程地址空间内运行在Linux系统中,在CPU眼中,看到的PCB都要比传统的进程更加轻量化透过进程虚拟地址空间,可以看到进程的大部分资源,将进程资源合理分配给每个执行流,就形成了线程执行流线程的优点创建一个新线程的代价要比创建一个新进程小得多进程:创建PCB、进程地址空间、页表、构建进程地址空间和物理空间的映射关系、加载代码和数据等等。原创 2025-04-02 10:31:21 · 802 阅读 · 0 评论 -
9.进程信号
上面所说的所有信号产生,最终都要有OS来进行执行,为什么?OS是进程的管理者信号的处理是否是立即处理的?在合适的时候信号如果不是被立即处理,那么信号是否需要暂时被进程记录下来?记录在哪里最合适呢?一个进程在没有收到信号的时候,能否能知道,自己应该对合法信号作何处理呢?如何理解OS向进程发送信号?能否描述一下完整的发送处理过程?在Linux系统中,子进程在终止时,会想父进程发送17号信号,也就是SIGCHLD信号printf("pid: %d, %d 号信号,正在被捕捉!cnt--原创 2025-04-02 10:30:25 · 1036 阅读 · 0 评论 -
8进程间的通信
数据传输:一个进程需要将它的数据发送给另一个进程资源共享:多个进程之间共享同样的资源。通知事件:一个进程需要向另一个或一组进程发送消息,通知它(它们)发生了某种事件(如进程终止时要通知父进程)。进程控制:有些进程希望完全控制另一个进程的执行(如Debug进程),此时控制进程希望能够拦截另一个进程的所有陷入和异常,并能够及时知道它的状态改变。管道是Unix中最古老的进程间通信的形式。我们把从一个进程连接到另一个进程的一个数据流称为一个 “管道”。原创 2025-04-02 10:29:09 · 797 阅读 · 0 评论 -
7.理解文件系统
要查看Linux中文件的修改时间,可以使用。原创 2025-04-02 10:28:16 · 1089 阅读 · 0 评论 -
6.Linux基础IO
1.空文件,也要在磁盘占据空间。2.文件 = 内容 + 属性3.文件操作 = 对内容的操作 + 对属性的操作4.标定一个问题,必须使用: 文件路径 + 文件名【因为 文件路径+文件名 具有唯一性】5.如果没有指明对应的文件路径,默认是在 当前路径(进程的当前路径) 进行文件访问。6.当我们把 fopen、fclose、fread、fwrite 等接口写完之后,代码编译之后,形成二进制可执行程序之后,但是没有运行,那么文件对应的操作是没有被执行的。————对文件的操作的本质:是进程对文件的操作。7.一个文件如原创 2025-04-02 10:27:36 · 820 阅读 · 0 评论 -
5.Linux进程控制
/ 头文件// 函数 --> 将自定义环境变量添加到系统中// 返回值// putenv()函数在成功时返回零,如果发生错误则返回非零。如果发生错误,则设置errno来指示原因。========================================================================================= // 我们只需要将自定义的环境变量添加到系统中,这样就可以直接打印所有的环境变量assert(id!= -1);NULL。原创 2025-04-02 10:26:46 · 671 阅读 · 0 评论 -
4.Linux进程概念
在程序加载到内存中之后,会有对应的进程控制块(PCB)对进程进行描述,然后再将进程控制块(PCB)组织起来,如果我们想要运行这些进程,就需要将这些进程对应的task_struct(PCB)结构体对象放入到runqueue(运行队列,用数据结构的方法将其组织起来),然后依次或者轮转将其放入CPU进行计算,而只要我们将进程对应的task_struct结构体对象放入到runqueue(运行队列)就代表这个进程是运行状态,且对应的task_struct(PCB)中会显示其进程状态为运行状态。原创 2025-04-02 10:25:40 · 532 阅读 · 0 评论 -
3.Linux开发工具的使用
/ Enb :表示 enable;状态 y 表示这个断点是可用的。// Enb :表示 enable;状态 n 表示这个断点是禁用的。原创 2025-04-02 10:17:30 · 468 阅读 · 0 评论 -
2.Linux的权限理解
1. 什么是权限?(是什么)(1) 权限是约束人的(一个或者某些群体)(2) 没有对应的属性如:电影网站没有听音乐的属性如:音乐app没有看电影的属性 // 可以得出 :文件权限 = 人 + 文件属性 人:人有权限是因为其自身被赋予的角色;如校长是管理学校的,企业高管的管理公司的 // 在Linux中,人被分为3中角色 拥有者(owner)所属组(group)其他人(other) // 为什么要存在所属组?方便同一个团队的人相互访问,禁止团队外的人访问。原创 2025-04-02 10:14:11 · 251 阅读 · 0 评论 -
1.Linux的常见指令
1.文件本身如果我们创建一个空文件,请问,占不占磁盘空间?答案:是占据磁盘空间的。文件 = 文件的内容数据 + 文件的属性数据(元数据)文件的属性:文件的创建时间,文件名,日期,大小等等信息空文件没有文件内容,但是空文件的文件属性也是数据,是占据磁盘空间的。学习操作文件的方法学习操作文件内容的方法学习操作文件属性的方法2.文件之间(普通文件 vs 目录)普通文件目录 ==> 文件夹 ==> 保存其他文件的场所。原创 2025-04-02 10:12:28 · 427 阅读 · 0 评论 -
0.Linux环境搭建与安装
主要有三种双系统或者把自己的电脑系统换位Linux(严重不推荐)。使用虚拟机软件, 将 Linux 搭建在虚拟机上(),不推荐(但是不用花钱)。(推荐)原创 2025-04-02 10:09:35 · 488 阅读 · 0 评论
分享