Linux-环境编程
2 标准IO库
文件描述符 0 1 2
IO 缓存 。 全缓,行缓(主要是终端),无缓
3 进程环境
进程空间
exit() , 正常退出,崩溃,kill 掉,内核退出该进程,
环境变量
putenv(), setenv()
动态库
4 进程-2
pid
进程层次
forck()
vforck()
daemon
system()
5 进程控制
6 信号
7 线程
创建线程无需拷贝页表
线程的劣势: 复杂度,脆弱性,协同
临界区与锁
线程组
gettid(), getpid() , pid.t
proc/<num>/task
pthread_join() 获取线程退出 值,必须。不链接,不退出,不释放资源。
pthread_detach
互斥量,读写锁
伪共享
缓存一致,缓存 Line
待件等待
8 理解线程
多线程Fork()
永远不要在多线程函数上调用Fork().
9 进程间通信
信号、管道、Socket、共享内存、消息。
10 进程间通信-systemV-IPC
11 进程间通信-POSIX-IPC
12 网络通信
建立 , 发送,接收。
Socket 文件描述符
协议族,类型,协议
bind
Connect
14 网络通信数据报文接收
从网卡到套接字。硬中断,软中断。
NAPI 中断,轮循。