一、文件I/O
-
FILE* fp 指针(指向的结构体有三个重要的成员)
-
文件描述符: 通过文件描述可以找到文件的inode, 通过inode可以找到对应的数据块 文件指针: 读和写共享一个文件指针, 读或者写都会引起文件指针的变化 文件缓冲区: 读或者写会先通过文件缓冲区, 主要目的是为了减少对磁盘的读写次数, 提高读写磁盘的效率.
-
虚拟地址空间
-
进程的虚拟地址空间分为用户区和内核区 内核区中很重要的一个就是进程管理, 进程管理中有一个区域就是PCB
- pcb和文件描述符表
-
一个进程有一个文件描述符表:1024 • 前三个被占用, 分别是STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO • 文件描述符作用:通过文件描述符找到inode, 通过inode找到磁盘数据块 虚拟地址空间->内核区->进程管理->PCB->文件描述表->文件描述符->文件IO操作使用文件描述符
# 流程图(帮助理解)
-
C库IO函数的工作流程
-
C库函数与系统函数的关系
-
虚拟地址空间
-
pcb和文件描述符表
标签:文件,FILENO,虚拟地址,备忘,NO.6,描述符,Linux,inode,指针 From: https://www.cnblogs.com/ChenYuansong/p/17738084.html