Linux 高并发学习笔记 - Linux 文件操作基本原理

1.6.1 Linux 文件操作基本原理

Linux 高并发学习笔记 - 笔记索引

标准C库与Linux系统文件IO对比
  • I0Input / Output,输入输出,通常指文件在存储介质之间的传输。

  • 标准C库IO函数与LinuxIO函数是调用与被调用的关系, 标准C库函数调用Linux函数进行文件IO,应用程序没有直接操作文件的权限,必须由操作系统代理完成。标准C库IO函数比LinuxIO函数更高级。但是,需要注意的是,标准C库IO函数效率高于Linux函数,标准C库为IO实现了缓冲区的功能,减少了效率低下的外部设备访问开销。
    在这里插入图片描述

  • 由于缓存区的存在,标准C库IO是非即时的,LinuxIO是即时的,例如在网络交互中需要使用后者,一般场景使用前者更优。
    在这里插入图片描述

虚拟地址空间
  • 在操作文件与内存中得到的所有地址都是虚拟地址真实地址对于用户是不可见的,也是无需关心的。

  • MMUMemory Management Unit,用于实现虚拟地址真实地址之间的映射,从而完成CPU的内存管理请求。虚拟地址映射表存储在PCB中。
    在这里插入图片描述

  • 栈空间从高地址向低地址占用,堆空间从低地址向高地址占用。

文件描述符
  • 文件描述符用于描述一个打开的文件,存储于进程PCBProcessing Control Block)中。
  • 进程通过文件描述符访问一个打开的文件。
  • PCB中文件描述符列表的尺寸为1024,也就是说,一个进程最多同时打开1024个文件,关闭文件后可复用。
  • 多次打开相同文件将占用多个文件描述符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值