Linux C库I/O函数工作流程图
PCB与文件描述符
pcb(进程控制块),是进程存在的唯一标识。在它里面有一个文件描述符表—数组[1024], 文件描述符类型为int
一个进程最多打开1024个文件,其中前三个文件描述符默认打开标准输入,标准输出,标准错误。每次打开一个文件,文件描述符总是从低位到高位来占用文件描述符表
进程的虚拟地址空间
进程的虚拟地址空间为用户区和内核区
虚拟地址空间从下往上:
代码段
已经初始化的全局变量
未被初始化的全局变量
堆 – 分配空间地址从下往上
共享库
栈 – 分配空间地址从上往下
环境变量
内核区
虚拟地址空间如图所示
库函数与系统函数的关系
Comments