L31 目录与文件系统

  • file system
  • 磁盘是一颗目录树,每个目录下一堆文件
  • 文件系统,抽象整个磁盘(第四层抽象)

  • 故事从多个文件开始
  • 所有文件放在一层(大集合)--集合划分:分治处理
  • 引入目录树
  • 目录形成目录树

  • 实现目录成为关键问题
  • 根据树状结构查找文件目录路径,得到文件FCB的映射
  • 如果存放目录下的所有文件的FCB吗?需要逐个匹配,这样查找效率低,而且需要加载到内存中才进行匹配;而且目录下很多文件都是多余的
  • 这样目录下应该存放什么?使系统效率更高
  • 目录的实现,要使整个系统自举,还需要存一些信息
  • 引导块大小固定,超级块决定了两个位图的信息,确定根目录的开始地址
  • 完成全部映射下的磁盘使用
  • read的时候利用open的inode信息

  • 4层抽象现在明确了!!!

  • 总结一下磁盘的使用:多进程需要读写→通过文件系统(第四层抽象)目录解析找到test.c文件,根据文件(第三层抽象)的FCB得到所需位置的盘块号→盘块号写入请求队列排队(第二层抽象)进行电梯算法→磁盘驱动根据盘块号(第一层抽象)算出C H S→相应扇区读写

L32 目录解析代码的实现

  • directory resolution
  • open解析
  • get_dir完成真实的目录解析
  • find_entry找根目录下目录信息
  • FCB存放了盘块的索引。

哈工大李志军操作系统 —(四)设备驱动与文件系统—目录与文件系统L31.L32相关推荐

  1. 哈工大李治军老师操作系统笔记【29】:目录与文件系统(Learning OS Concepts By Coding Them !)

    文章目录 0 回顾 1 目录与文件系统 1.1 映射 1.2 目录树 1.3 实现目录 1.4 树状目录的完整实现 2 总结 0 回顾 整个磁盘变成一棵目录树 目录树组织一堆文件 文件抽象 一个文件到 ...

  2. 【操作系统】设备驱动

    本文为学习李治军老师<操作系统原理.实现与实践>第八章的总结,主要讲述显示器.键盘设备驱动. 参考资料: 哈工大李治军老师操作系统mooc视频: 实践项目解析. 第八章 设备驱动 设备驱动 ...

  3. Unix/Linux操作系统分析实验四 设备驱动: Linux系统下的字符设备驱动程序编程

    Unix/Linux操作系统分析实验一 进程控制与进程互斥 Unix/Linux操作系统分析实验二 内存分配与回收:Linux系统下利用链表实现动态内存分配 Unix/Linux操作系统分析实验三 文 ...

  4. 为Tiny4412设备驱动在proc目录下添加一个可读版本信息的文件

    http://blog.csdn.net/morixinguan/article/details/77808088 上节,我们明白了proc文件系统的作用,接下来我们在友善之臂已经写好的led驱动的基 ...

  5. 哈工大李治军老师操作系统笔记【10】:内核级线程实现(Learning OS Concepts By Coding Them !)

    文章目录 0 回顾 1 实现 1.1 int 0x80 fork(中断入口) 1.2 进入核心态 1.3 system_call(中断切换中间三段) 1.4 中断出口 1.3 switch_to 1. ...

  6. 哈工大李治军老师操作系统笔记【27】:从生磁盘到文件(Learning OS Concepts By Coding Them !)

    文章目录 0 回顾 1 引入文件 1.1 映射 1.2 链式结构实现文件 1.3 索引结构实现文件 2 总结 0 回顾 盘块号就是连续的扇区 得到盘块号就能进行下列操作 1 引入文件 普通用户使用生磁 ...

  7. 哈工大李治军老师操作系统笔记【13】:一个实际的schedule函数(Learning OS Concepts By Coding Them !)

    文章目录 0 回顾 1 linux0.11的schedule() 1.1 counter的作用 2 总结 0 回顾 实际的schedule是多种基本算法的融合,综合考虑各种情况,但也要求算法本身尽可能 ...

  8. 设备驱动理论详解,Linux操作系统原理与应用

    目录 一.概述 1.设备是什么 2.设备的分类 3.设备驱动分层结构 4.设备的信息 5.设备驱动程序是什么 6.设备管理 7.用户进程请求设备进行输入/ 输出的简单流程 二.设备驱动程序框架 三.I ...

  9. 设备驱动,字符设备驱动、(总线)设备驱动模型、sysfs文件系统、平台设备驱动

    以下内容转载于微信公众号:嵌入式企鹅圈.如有侵权,请告知删除. 学习Linux设备驱动开发的过程中自然会遇到字符设备驱动.平台设备驱动.设备驱动模型和sysfs等相关概念和技术. 对于初学者来说会非常 ...

最新文章

  1. 7、在对象内部尽量直接访问实例变量
  2. R语言泊松分布函数Poisson Distribution(dpois, ppois, qpois rpois)实战
  3. LayerDate渲染多个class出现闪现问题的解决
  4. Unicode(UTF-8, UTF-16)令人混淆的概念
  5. Left join后用and和where的区别
  6. [jQuery] 根据表单的不同参数跳转不同的链接
  7. 列表使用与内部实现原理
  8. Java的Comparator排序(升序降序)理解
  9. Nest,很酷的东西
  10. 蓝桥杯 ADV-169 算法提高 士兵排队问题
  11. [转载] Java:简述Java中的自定义异常
  12. Linux环境安装redis
  13. sd卡计算机无法读取数据,怎么强制格式化sd卡-内存卡突然无法读取、数据损坏……整个人都是崩溃的!...
  14. spread.net 14.2 Crack by Xacker
  15. .net framework MVC ,API, 支持OAS3
  16. 向mysql写入时间_Python向Mysql写入时间类型数据
  17. 关于servlet生命周期
  18. 记一次电脑没有声音,修复的问题
  19. 中国联通数字乡村白皮书2.0 附下载
  20. 【知名的移动APP和网站设计工具】Sketch for Mac 54.1

热门文章

  1. 黑客攻击常用端口详解总结
  2. 2012年10月3日
  3. 阿里云大学-Java开发初级
  4. python的单行打印与多行打印
  5. (读书笔记)笨办法学python-(习题1-40)
  6. 中方强调国际刑事法院应尊重有关国家司法传统-国际刑事法院-司法传统
  7. 高等数学(空间解析几何)
  8. 什么是淘宝代购?(跨境独立站、代购系统)
  9. Xsolla与蜗牛一起共创黑金
  10. 算法之美-用状态机消除递归