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

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

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

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

file结构体组成

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

虚拟地址空间

虚拟地址空间不存在

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

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

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

文章来源地址https://uudwc.com/A/0k50e

文件描述符

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

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

原文地址:https://blog.csdn.net/weixin_44273624/article/details/132793359

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年09月10日 23:16
下一篇 2023年09月10日 23:17