gcc 默认生成的可执行文件是a.out文件
PCB 进程控制块/进程描述符
本质是一个结构体,其中有一个成员是一个指针,指针指向文件描述符表。
文件描述符表里面存放的就是文件描述符。本质上文件描述符表存放的是指针。在往下揪的话,实际上是键值对应的映射。fd 返回的就是数组的下标。
操作系统不希望你去了解他,不希望你去研究它,所以具体实现细节会对你隐藏。(有点想cpp的信息隐蔽)。
一个进程最多能打开1024个文件。
文件描述符表还遵循这样一个原理:新打开的文件描述符一定是文件描述符当中可用的最小的的那个。标准输入,标准输出 标准出错 文件描述符虽然是0 1 2 ,但是不推荐使用的时候,直接使用这三个数,而是要使用对应的宏。STDIN_FILENO STDOUT_FILENO STDERR_FILENO.