首次打开文件简单分析

@(OS)

打开文件是一个合作的过程。具体的过程有open–read.

其中特别注意,这两个操作都是系统调用!用户进程只是把打开文件这个需求发到操作系统,操作系统就根据要求完成这个任务,且这个任务分成两个部分执行。

首先,维护一个打开文件表。用户进程发送的请求里,给的是文件名,经过open系统调用,就去把该文件的FCB调入内存,并返回一个指针供read调用。
即:首次打开文件时,先open,之后的read等都用open返回的指针索引到文件。

(2014.29)在一个文件被用户进程首次打开的过程中,操作系统需要做的是:B.
A. 将文件内容读到内存中
B. 将文件控制块读到内存中
C. 修改文件控制块的读写权限
D. 将文件的数据缓冲区首指针返回给用户进程

分析:主要考查的是open系统调用主要做了什么。open最终返回的是文件描述符fd。为后面的读写做准备。至于文件缓冲区的首指针,这是在read和write需要传入的,open只做到减少查询,避免按名查找,通过维护的打开文件表,快速索引到文件。FCB主要是文件的描述信息,也是open工作的核心:把FCB或者Linux下的inode调入内存。

首次打开文件简单分析相关推荐

  1. c语言以只写方式打开二进制文件,C语言采用文本方式和二进制方式打开文件的区别分析...

    稍微了解C程序设计的人都知道,文本文件和二进制文件在计算机上面都是以0,1存储的,那么两者怎么还存在差别呢?对于编程人员来说,文本文件和二进制文件就是一个声明,指明了你应该以什么方式(文本方式/二进制 ...

  2. eclipse mat 分析dump文件,打开文件报错,out of memeory

    eclipse mat 分析dump文件,打开文件报错,out of memeory 解决: 1.打开eclipse报out of memeory通用 window-->Preferences- ...

  3. 轻松玩转Python:打开文件夹,搜索视频文件,实现简单视频播放器

    目录 1.功能描述: 2.具体实现: 3.代码实现: 4.执行效果: 1.功能描述: 这段代码实现了一个简单的视频播放器,可以打开指定的文件夹并搜索其中的视频文件,将搜索结果展示在列表框中,用户可以选 ...

  4. 超简单设置右键 VS Code 打开文件

    超简单设置右键 VS Code 打开文件 每次羡慕小伙伴,右键一下就跳出来vscode打开的快捷键:于是自己就查了下资料,找到原因,安装vscode时,直接全部默认了,没有选择Open with Co ...

  5. win10如何打开文件扩展名(俗称后缀名)?简单易懂!

    一.win10打开文件扩展名的方法 1.在电脑桌面上双击打开此电脑. 2.打开此电脑后,在窗口上方的菜单栏上,找到查看. 3.找到查看后,点击查看,打开查看的菜单栏. 5.然后你就会发现,文件的后面就 ...

  6. C4D打开obj文件简单操作记录

    网页加载一些3D效果,是通过js打开OBJ模型文件, OBJ格式模型详细介绍 查资料说可以用3D Max,C4D等软件可以打开 毕竟不是专业的人,选个体积小的就行,C4D也满足需求了 汉化: 双击ob ...

  7. VBA小程序--打开文件夹内所有Excel表格(代码简单,针对xls + xlsx,注释清楚,小白亦可轻松看懂)

    PS:使用下面的代码时,请先根据自己所需要处理的文件夹,进行更改mypath的路径 Sub VBA打开文件夹内所有Excel表格()Dim myPath$, myFile$, WB As Workbo ...

  8. 哪吒票房逼近30亿,从豆瓣短评简单分析人们对哪吒的态度

    目录 前言 分析 具体步骤 登录 爬取与存储 可视化分析 结语 前言 暑期档电影惨淡,但随着哪吒爆红开拓了新局面.这也是国产动画的首次爆红.在哪吒刚出,笔者以为最多10亿就算不错的了.没想过仅过了几天 ...

  9. Enemy源码简单分析

    这是这个项目的网页链接,以下是关于enemy源代码的粗略分析. https://github.com/freakanonymous/enemy 弗兰克,是一个全职的恶意代码工程师,会不定期更新enem ...

最新文章

  1. 美国发布《量子网络战略愿景》
  2. 炒冷饭系列:设计模式 装饰模式
  3. 文巾解题 704. 二分查找
  4. 高德地图和百度地图接口封装遇到的问题(一):重复添加实时路况图层后无法移除
  5. 红包实名的背后,支付实名制如何影响产品设计?
  6. NuGet(微软.NET开发平台的软件包管理工具)在VisualStudio中的安装的使用
  7. 重定向和转发之间的区别
  8. SequoiaDB 系列之五 :源码分析之main函数
  9. 0xFFFFFF的问题
  10. win7(windows 7)系统下安装SQL2005(SQL Server 2005)图文教程
  11. vue 公用组件开发 确认框confirm
  12. idea中.ignore插件的使用
  13. java error:编码gbk的不可映射字符
  14. C# Winform开发人脸识别小程序 (基于百度接口)
  15. unity识别图片颜色并把颜色数量排序
  16. 淘客基地教你如何推广淘客小程序
  17. php Excel 合并单元格
  18. ncverilog脚本_NcVerilog_工作学习记录.pdf
  19. 企业微信hook接口,朋友圈功能开发教程,逆向开发,企业微信营销开发
  20. opencv实现车牌识别之车牌号定位_1

热门文章

  1. (04)VTK移动模型,判断是否相交
  2. 自动驾驶数据集_奥迪推出大型自动驾驶数据集A2D2
  3. 理光打印机如何设置邮件服务器,技术员帮您win10系统网络共享理光打印机的设置方法的操作办法...
  4. html输入格式限制,jQuery输入框限制输入内容格式插件
  5. Python核心编程朱红庆_Python编程语言的核心是什么?
  6. linux救援模式使用yum,linux学习笔记-第二课-yum,救援模式,单用户模式,运行级别...
  7. matlab p q的确定,基于MATLAB软件的P-Q分解法潮流计算 (1)
  8. Python字符串count()
  9. TestNG Eclipse插件
  10. 如何编译Linux内核