从根本认识文件目录
总概括图
机械硬盘的实际图
认识硬盘内部知识
磁盘的I/O过程
最直接的使用磁盘
使用out函数写入磁盘控制器
第一层抽象(通过盘块号读写磁盘)三维转一维
应用程序根据盘块号访问磁盘信息
应用程序发出block号,操作系统会解释这个盘块是多少个连续扇区组成(程序–>磁盘驱动)
根据CHS算出扇区在哪儿,连续几个扇区(磁盘驱动–>磁盘控制器)
计算出的参数通过out函数发给磁盘控制器(c ,s ,h,n)
磁盘控制器通过力臂和磁头扫描对应的扇区,磁信号转换电信号传到内存缓存
1)应用程序处理对磁盘的请求概念图
2)盘块号从CSH到扇区号,也可以从扇区到盘块
盘块(可以连续好几个扇区的组合)的概念就是用空间换取时间的一种策略
3)request函数,应用程序处理对磁盘的请求,发出block号
第二次抽象(多进程通过队列使用磁盘)
1)多进程通过请求队列,再利用最优调度算法请求磁盘使用
2)磁盘四种调度算法
3)多进程共同使用磁盘
raw disk工作总线
第三层抽象(从raw disk 到File-cooked disks)
文件的映射(字符流–>盘块号)三种结构
顺序结构
链式结构
索引结构
多级索引
代码解析