磁盘组织与管理



磁盘调度算法
一次读写需要花费多长时间?

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 的 设备等待队列中

通过设备类型查找到设备

