进程
进程内存结构
虚拟内存管理
父子进程创建与通信
父子进程COW机制
逻辑层面
物理层面
进程创建速度
进程优先级(nice值)
传统UNIX实现中只有特权进程才能赋予自己一个高优先级,而非特权进程只能降低自己的优先级(这样做对其他进程就友好了,nice值也由此而来)
进程、进程组、会话关系
作业控制
孤儿进程组
系统日志
线程
线程数据结构
多线程内存结构
多线程修改共享变量
无同步处理
通过互斥量控制同步资源访问
IPC
进程和线程通信方法
IPC工具标识符和句柄
管道通信
ls | wc -l
FIFO实现C/S通信
System V IPC
System V IPC对象数据结构
System V 消息队列实现C/S通信
System V 消息队列实现文件服务器
System V 信号量同步进程
多进程同时初始化信号量同步控制
System V 共享内存
使用共享内存和信号量完成进程通信
共享内存位置
通过文件创建内存映射
多个进程通过文件映射内存
非线性文件内存映射(虚拟内存顺序和文件页顺序不对应)
POSIX IPC
SOCKET
流SOCKET
未决的socket连接
流socket通信
数据报socket
零拷贝
sendfile()实现零拷贝,不用经过用户空间
TCP/IP
网络包结构简单示意
TCP
报文格式
TCP报文确认机制
TCP状态机
TCP三次握手
TCP四次挥手
IP
IPV4转IPV6,前80位全0,接着16位全1,后面32位放IPV4地址
TCP
网络字节序
大端字节顺序和小端字节顺序
DNS
IO
IO多路复用方案对比
水平触发,可以在任意时刻检查文件描述符的就绪状态
边缘触发,只有在文件描述符就绪时才会通知,且在下一个文件描述符就绪前不会有任何其他通知
select()和poll()对比
不同事件对应不同的标识
epoll\select\poll性能对比