Linux
Keepen
你可真是慢了很多拍呢。
展开
-
Linux——生产者/消费者模型(条件变量、信号量)
生产者消费者模型简述:有时候对于临界资源的访问是有限制条件的,举例说明打印机:只有有任务来了才可以进行打印;一.条件变量二.信号量原创 2020-05-19 11:36:29 · 261 阅读 · 0 评论 -
Linux——五种IO模型(阻塞IO、非阻塞IO、信号驱动IO、异步IO、多路转接IO)
五种IO模型五种IO模型分别是:阻塞IO、非阻塞IO、信号驱动IO、异步IO、多路转接IO一.阻塞IO1.含义:为了完成某种功能而发起调用后,若当前不具备IO条件则阻塞等待2.特点: 1)一次只能进行一个IO,多个IO的情况下,是串行的(还是一个接着一个) 2)进程对CPU的利用率不高(因为有大量的时间都在等待IO就绪)3.示意图:二.非阻塞IO1....原创 2020-04-29 21:01:41 · 259 阅读 · 0 评论 -
Linux——IP地址
IP地址一.含义:网络通信所用来识别设备的地址信息。二.组成:网络号、主机号1.网络号:用来区分每一个网络2.主机号:用来识别唯一一台主机三.类型:(一)早期IP地址类型:将所有IP地址分为五类1.内容:A类:0.0.0.0~127.255.255.255B类:128.0.0.0~191.255.255.255C类:192.0.0.0~223.255...原创 2019-09-25 22:33:17 · 209 阅读 · 0 评论 -
Linux——传输层基于TCP协议的套接字编程实例
TCP1.含义:同udp相同也是传输层的一种协议。(Transmission Control Protocol 传输控制协议)。2.特点:面向连接、传输可靠、提供字节流服务 面向连接:服务端必须与客户端建立连接。 传输可靠:一系列的机制(应答等)保证数据传输的可靠性。 提供字节流服务:发送数据不会像udp那样一次发送(要么成功,要么失败),而是灵活的发送(能发...原创 2019-10-03 18:28:15 · 212 阅读 · 0 评论 -
Linux——传输层基于UDP协议的套接字编程实例
UDP1.含义:udp协议是传输层的一种协议。(User Datagram Protocol用户数据报协议)2.特点:无连接、不可靠、面向数据报。 无连接:不用向服务端建立连接 不可靠:数据传输的过程是一个不可靠的--数据可能会丢失 面向数据报:数据报的传输方式3.流程:4.实现:(1)首先封装一个UdpSocket类来实现其基本的功能//传输层基于...原创 2019-09-23 19:26:51 · 249 阅读 · 0 评论 -
Linux——TCP的3次握手,4次挥手
TCP一.特性的实现1.含义:TCP是网络传输中传输层的一种协议类型。2.特点:面向连接、传输可靠、面向字节流。3.应用范围:对安全性有要求的网络通信--文件的传输等4.过程示意:5.保活机制:如果某一端突然异常退出:那么默认情况下,通信双方要是7200s没有数往来,则每间隔75s回想对方发送一个保活探测数据报,要求其进行响应:(1)若得到响应--表示连接正...原创 2019-09-23 19:57:55 · 177 阅读 · 0 评论 -
Linux——线程池概念以及实现
线程池1.概念:顾名思义就是许多线程的一个集合。2.线程池的意义:虽然线程是轻量级的进程,创建的开销比进程小,但是,频繁的创建与销毁线程也会得不偿失,导致线程的创建与销毁所占的时间成本远大于任务处理的时间成本;因此我们将线程创建后不再销毁而是先放在一起,任务一旦分配就直接进行处理,任务执行完毕,统一销毁。这样就大大提高了任务处理的效率。3.特点:(1)线程池中的线程全是消费...原创 2019-09-10 13:04:58 · 201 阅读 · 0 评论 -
Linux——进程终止、僵尸进程的解决--进程等待
进程终止:1.终止的场景: 正常退出:结果符合预期 正常退出:结果不符合预期 异常退出2.退出方式:(1)return :退出前会刷新缓冲区(2)exit():退出前会刷新缓冲区(库函数)(3)_exit():退出前不会刷新缓冲区(系统调用接口)3.返回值:查看进程的返回值:echo $进程等待:1.pid_t wait(int *s...原创 2019-08-28 16:31:39 · 527 阅读 · 0 评论 -
Linux——进程的概念,僵尸进程、进程等待
进程1.概念:顾名思义,即正在运行中的程序;就是操作系统对运行中的程序的描述信息---PCB(Process Control Block)(进程控制块),在Linux下,PCB是一个具体的结构体——task_struct;2.进程创建: 通过fork()函数来创建:该函数是通过复制调用父进程的PCB来实现子进程的创建。通过其返回值来对父子进程进行分流: 在父...原创 2019-08-28 15:50:40 · 228 阅读 · 0 评论 -
Linux入门——常用命令
Linux:现阶段小编对Linux的理解就是与Windows、Mac OS等等级一样的操作系统。不过在该系统下,我们常用的就不是图形化界面了,而是命令行。所以了解一些常用命令是很重要的,接下来就是一些常用命令的总结。Linux下的目录结构:树形结构:绝对路径:以根目录为路径起始位置 eg:/usr相对路径:以当前目录为路径起始位置 ...原创 2019-04-11 17:45:09 · 242 阅读 · 0 评论 -
Linux——权限的简单理解
Linux下的权限:一.用户权限普通用户:可以进行基本操作。root用户:为所欲为。切换用户的命令如下:创建用户:useradd -m 用户名 表示创建一个用户并创建它地下的家目录-m 创建home目录修改用户密码:passwd username 修改用户的密码二.文件权限1.文件权限有:r、w、x分别表示read(可读...原创 2019-04-11 21:21:03 · 311 阅读 · 0 评论 -
Linux——编辑器vim、编译器gcc、调试器gdb、Makefile的编写
一.Vim编辑器1.简单了解vim的操作模式:12种(6种基本模式、6种条件模式)三种最常用的操作模式:普通模式、插入模式、底行模式 插入模式 底行模式模式切换:普通——>插入 i 从光标所在位置开始插入 a 光标后一个字符处插入 o 光标下一行行首i女性插入普通——>底行 ...原创 2019-04-13 06:07:33 · 372 阅读 · 0 评论