》进程的状态:执行态、就绪态、等待态。
》进程包含3个段:数据段、代码段、堆栈段。
》守护进程:也就是通常说的Daemon进程,是Linux中的后台服务进程,生存期较长,在系统引导载入时启动,在系统关闭时终止。创建步骤如下:
(1)创建子进程,父进程退出
(2)在子进程中创建新回话
(3)改变当前目录为根目录
(4)重设文件权限掩码
(5)关闭文件描述符
》进程间通信:管道、信号、消息队列、共享内存、信号量、套接字。共享内存最快。
》OS参考模型:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。
》TCP/IP参考模型:网络接口层、网络层、传输层、应用层。
》socket有3种数据类型:流式socket、数据报socket、原始socket
》TCP与UDP的区别
TCP:是面向连接的流传输控制协议,具有高可靠性,确保传输数据的正确性,有验证重发机制,不会出现丢失或乱序。
UDP:是无连接的数据报服务,不对数据报进行检查与修改,无须等待对方的应答,会出现分组丢失、重复、乱序,但具有较好的实时性,UDP段结构比TCP的段结构简单,因此网络开销也小。
》TCP连接三次握手
1.首先TCP客户向服务器发出连接请求报文
2.服务器收到连接请求报文段后,向客户端发送确认
3.客户端收到服务器的确认后,再向服务器发送确认
》多线程如何同步
Linux系统中多线程同步有最常用的是:互斥锁、条件变量和信号量。
》自旋锁与信号量
使用自旋锁的进程不能睡眠,使用信号量的进程可以睡眠。