磁盘
- 磁盘的俯视图
- 操作系统最直接的使用磁盘
- 找到指定柱面上的磁道
- 旋转相应的磁头
- 找到相应扇区后,将数据读入内存缓冲区(磁生电),在内存缓冲区中修改数据后再写回磁盘对应位置(电生磁)
- 通过盘块号读写磁盘
-
磁盘驱动负责用程序提供的block计算出柱面、扇区等数据来对磁盘进行读写
-
磁盘访问时间 = 写入控制时间 + 寻道时间 + 旋转时间 + 传输时间
-
-
S:扇区号 -
盘块可以是几个连续的扇区
-
多个进程使用磁盘
- 磁盘调度算法
- FCFS:响应队头请求
- 短寻道优先(Shortest-seek-time first):先响应最近的请求
- SCAN
- 电梯算法
- FCFS:响应队头请求
从生磁盘到文件
- 文件:建立字符流到磁盘盘块的映射关系
- 文件与磁盘的映射关系:
- 连续结构实现文件:
映射表:
- 链式结构实现文件
映射表:
- 索引结构实现文件:
- 实际系统中使用的是多级索引
- 连续结构实现文件:
目录与文件系统
- 文件系统:
- 目录树
- 实现目录
通过"/“的FCB找到”/"的数据块,再通过数据块找到my的FCB在FCB数组中的位置,之后找到my的FCB又去找对应的my的数据块最后通过该数据块找到data的FCB然后在data的数据块中找到a的FCB最后通过a的FCB找到对应的数据块然后进行操作
ps:i节点就是FCB数组,超级块记录两个位图有多大就可以定位到FCB数组的开头("/"的FCB)