linux系统编程学习笔记(1)--文件描述符表,_open函数,_read_write函数
1.文件描述符
可执行文件的内存分布如上图所示,在内核区包含了linux的许多内核函数,其中进程管理模块里面有一个小的PCB进程控制块,就是一个400多行的结构体。在控制块里面有一个小的文件描述表,每一个进程都有一个文件描述表,是一个数组,存放文件描述符,最多存储1024个文件描述符,每打开一个文件就占用一个文件描述符。前三个默认是stdin stdout stderr标准输入输出。文件描述符的作用是找到对应的磁盘文件,file*指针里面封装的有一个int文件描述符。
2.linux系统函数之open函数
命令行 man 2 open 查看文档
返回值是一个新的文件描述符,返回-1失败,errno是一个全局变量。flag是一个32位整数,做或操作记录标志位。
umask = 0002