Linux下的文件描述符(fd)文件指针 以及普通文件 设备文件等等 的区别 open和fopen的区别

LINUX中块设备文件和字符设备文件的本质区别

1:典型的比如硬盘式的裸设备(Block device),他两种访问方式都支持:他是一种具有一定结构的随机存取设备,对这种设备的读写是按块进行的,他使用缓冲区来存放暂时的数据,待条件成熟后,从缓存一次性写入设备或从设备中一次性读出放入到缓冲区;
:2:磁盘和文件系统等字符设备(Character device):这是一个顺序的数据流设备,对这种设备的读写是按字符进行的,
而且这些字符是连续地形成一个数据流。他不具备缓冲区,所以对这种设备的读写是实时的,如终端、磁带机等。

https://blog.csdn.net/aijianzhu5530/article/details/101795132?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.pc_relevant_default&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7Edefault-1.pc_relevant_default&utm_relevant_index=2

在这里插入图片描述

https://blog.csdn.net/yushuaigee/article/details/107883964?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164221016916780264013674%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164221016916780264013674&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2alltop_positive~default-1-107883964.first_rank_v2_pc_rank_v29&utm_term=%E6%96%87%E4%BB%B6%E6%8F%8F%E8%BF%B0%E7%AC%A6&spm=1018.2226.3001.4187

fopen与open的区别(好文)

区别:
1、缓冲文件系统与非缓冲系统的区别

缓冲文件系统(fopen) :在内存为每个文件开辟一个缓存区,当执行读操作,从磁盘文件将数据读入内存缓冲区,装满后从内存缓冲区依次读取数据。写操作同理。
内存缓冲区的大小影响着实际操作外存的次数,缓冲区越大,操作外存的次数越少,执行速度快,效率高。缓冲区大小由机器而定。
借助文件结构体指针对文件管理,可读写字符串、格式化数据、二进制数据。
非缓冲文件系统(open):依赖操作系统功能对文件读写,不设文件结构体指针,只能读写二进制文件。

2、open属于低级IO,fopen属于高级IO

3、open返回文件描述符,属于用户态,读写需进行用户态与内核态切换。
fopen返回文件指针

4、open是系统函数,不可移植
fopen是标准C函数,可移植

5、一般用fopen打开普通文件,open打开设备文件

6、 如果顺序访问文件,fopen比open快
如果随机访问文件,open比fopen快

https://blog.csdn.net/oscarjulia/article/details/72638060?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164221014116781683916353%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164221014116781683916353&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-72638060.first_rank_v2_pc_rank_v29&utm_term=fopen%E5%92%8Copen%E5%8C%BA%E5%88%AB&spm=1018.2226.3001.4187

Linux】linux中普通文件和块设备文件的区别

https://blog.csdn.net/fu_zk/article/details/46447007?ops_request_misc=&request_id=&biz_id=102&utm_term=%E6%99%AE%E9%80%9A%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%E5%92%8C%E8%AE%BE%E5%A4%87%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B%E5%8C%BA%E5%88%AB&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-0-46447007.first_rank_v2_pc_rank_v29&spm=1018.2226.3001.4187

Linux下七种文件类型、文件属性及其查看方法

https://blog.csdn.net/rong09_13/article/details/79233956?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164221351216780271972392%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164221351216780271972392&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-3-79233956.first_rank_v2_pc_rank_v29&utm_term=%E6%96%87%E4%BB%B6%E7%B1%BB%E5%9E%8B&spm=1018.2226.3001.4187

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学无止境2022

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值