标准C库IO函数和Linux系统IO函数

linux系统的io函数更加偏底层,更加建议使用C库的函数,效率较高(有缓冲区)

标准C库IO函数和Linux系统IO函数_第1张图片

磁盘满了或者手动fflush或者关闭文件才会io一次,效率提高,但是linux没有缓冲区

主要通过file *fp指针操作文件,文件描述符是定位文件用的,是对文件的数据进行操作,缓冲区提高效率

标准C库IO函数和Linux系统IO函数_第2张图片

file结构体组成标准C库IO函数和Linux系统IO函数_第3张图片

写/读的起始指针 起始位置 结束位置……  fileno是文件描述符

虚拟地址空间

标准C库IO函数和Linux系统IO函数_第4张图片

虚拟地址空间不存在

程序就是代码只占用磁盘空间不占用内存空间,但是程序运行起来时,操作系统会为这个程序分配一些资源,加载到内存中去,对应创建进程

栈空间保存局部变量等等  从小到大

堆空间保存new的量  从高地址到低地址保存

文件描述符

标准C库IO函数和Linux系统IO函数_第5张图片

文件描述符在内核区,在PCB进程控制块里面用数组存放文件描述符,一般默认大小为1024所以一个进程最大同时打开的文件为1024

一个文件可以被打开多次,但是每次的文件描述符是不一样的

你可能感兴趣的:(Linux编程入门,linux,运维,服务器)