磁盘组织与管理
磁盘调度算法
一次读写需要花费多长时间?
1.先来先服务:
- 最短寻找时间:
有可能产生饥饿
- 扫描算法
走到头才能换方向:
-
look 法:
- 循环扫描 单方向的 LOOK
-
C-LOOK 算法:
减少延迟时间的方法
1.交替编号
柱面号、盘面号、扇区号
- 错位命名
扇区错位
磁盘管理
1.磁盘初始化
扇区分为 头 数据区 尾
物理格式化 画出扇区。
引导块。
2.坏块的管理
坏块链表
IO 设备管理
特性分类:
人机交互、存储、网络通信、
传输速率:
高中低速。
传输单位
块设备、字符设备
IO 控制器
IO 控制方式
1.程序直接控制方式:轮询等待。
接口虽然也在内存,但不可以被一般的寻址指定查找。
2.中断驱动方式:
每次一个字,
阻塞进程。 IO 设备可以认为是接口。
3.DMA 方式
直接访存。 DMA 控制器 读取一个块
4.通道控制
通道是 弱鸡版本的 CPU ,打包版本的 MDA
IO 软件层次
用户层软件、设备独立性软件、设备驱动、中断、硬件
驱动程序一般会以一个独立进程存在
IO 核心子系统
假脱机 SPOOLing 改造设备从临界资源到共享。
IO 调度:一个好的执行 IO 请求的的顺序。
设备在UNIX 是文件,文件是有读写权限的 FCB 实现保护。
假脱机 SPOOLing
脱离主机的控制,进行 输入、输出。 其实就是 用软件模拟硬件。
脱机,其实打印机是打印到内存里了。
缓冲区管理
缓冲区 管道 不满不读,不空不写
- 单缓冲
- 双缓冲
通信是采用双缓冲。
- 缓冲池
设备分配与回收
独占设备、共享设备、虚拟设备
1.安全分配方式
使用设备时 进程必须 阻塞,
- 不安全分配
静态分配:进程运行前一次性分配所有资源 不会死锁。
与动态分配:动态分配。 会死锁。
设备分配表记录了设备状态
DCT
COCT
CHCT
SDT
从 SCT 找到 DCT 再把 PCB 挂到 DCT 的 设备等待队列中
通过设备类型查找到设备