跳到主要内容

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 中断,轮循。