操作系统L14
Redundant Array of Independent Disk (RAID) 独立磁盘冗余阵列

- SLED:单个大容量昂贵磁盘
- SCSI盘:采用SCSI接口的硬盘,SCSI是Small Computer System Interface( 小型计算机系统接口 )的缩写,接口速度快CPU占用率低
关键思想:数据分布在驱动器上,以允许并行操作。




这叫做划分条带(striping)


Error Handling 错误处理
- 为什么总是出错?
- 一旦制造技术改进到可以在特定密度下完美运行的程度,磁盘设计者就会转向更高的密度来增加容量。
- 两种解决方案:用备用扇区替换坏扇区,或者移动扇区。

Stable Storage 稳定存储器
RAID 首先不能对将坏数据写下的写错误提供保护,也不能对写操作期间的崩溃提供保护
在某些应用程序中,数据永远不会丢失或损坏是至关重要的。
稳定存储:目标是不惜一切代价保持磁盘的一致性
定义了三种操作
- 稳定写 -- stable write
- 稳定读 -- stable read
- 崩溃恢复 -- crash recovery
稳定写
- 将块写入驱动器 1 上,然后读取它以进行验证。
- 如果出了什么问题,再写和重读 n 次,直到它们起作用为止。
- 在连续 n 次失败后,该块被重新映射到备用块上并重复该操作(写和重读操作)直到成功。
- 写入驱动器 1 成功后,对驱动器 2 上的相应块进行写入和重新读取,如果需要,重复,直到它也最终成功。
稳定读
- 读取驱动器 1 上的块,如果这产生不正确的 ECC,则再次尝试读取,最多 n 次。 如果所有 n 次都失败,则从驱动器 2 读取。
- 同一块在两个驱动程序上都变坏的可能性可以忽略不计。
崩溃恢复

Clock 时钟

Clock Hardware 时钟硬件
可编程时钟
三个部件
- 晶体振荡器
- 计数器
- 存储寄存器
晶体振荡器可以产生几百MHz范围内的周期信号。
两种模式:一次性模式和方波模式
时钟滴答:由可编程时钟引起的周期性中断。


Clock Software 时钟软件
时钟驱动的功能

为了满足多个计时请求,操作系统需要用一个时钟模拟多个虚拟定时器。



Input Software: Keyboard 输入软件:键盘
- 按下或释放键时会产生中断。
- 键盘驱动程序从 I/O 端口提取扫描码,并将其转换为 ASCII 码。
- 两种模式:规范模式、非规范模式。
Mouse Software
- 两种常见类型:
- 带橡皮球的鼠标
- 光电鼠标
- 当鼠标移动了某个最小距离或按下或释放按钮时,就会向计算机发送一条消息。 (Dx, Dy, 按钮状态)
Output Software:Text Windows 输出软件: 文本窗口

转义序列:escape sequences
Output Software: GUI Windows
GUI(图形用户界面)有四个基本元素:窗口、图标、菜单和指点设备。

Draw points, lines, rectangles: The Win32 SDK contain many APIs for GUI development.
Bismap 位图: Copying bitmaps using Bitblt.
Fonts:每个 Truetype 字体由围绕其周边的一系列点定义。 所有的点都相对于 (0,0) 原点。
Power Management
- 最常见的节省电池的方法是将设备设计为具有多种状态:
- 打开、睡眠和关闭。


- 以全时钟速度运行。
- 将电压降低 2 倍,时钟速度降低 2 倍,功耗降低 4 倍。
- 通过接受一些质量下降,用户可以使用给定的电池运行更长时间。
- 放弃颜色信息,以黑白显示视频。
- 使用无线电链接将任务发送到其他设备。
- 交易图像质量以减少传输过载。
问题










Summary
- Two kinds of I/O devices.
- The components of I/O device.
- Three ways to communicate with I/O.
- Disks: Magnetic disks (components, disk arm scheduling), RAIDs
- Clocks
- Terminals: Text windows, GUI Windows
- Power Management
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Yeの博客!