CSNotesCSNotes
TODO
LeetCode
数据结构
计算机组成原理
操作系统
计算机网络
数据库
Java
SSM
React
实用工具
GitHub
TODO
LeetCode
数据结构
计算机组成原理
操作系统
计算机网络
数据库
Java
SSM
React
实用工具
GitHub
  • 第一章 计算机系统概述

    • 1.1 操作系统的基本概念
    • 1.2 操作系统的发展历程
    • 1.3 操作系统运行环境
    • 1.4 操作系统结构
  • 第二章 进程与线程

    • 2.1 进程与线程
    • 2.2 处理机调度
    • 2.3 同步与互斥
    • 2.4 死锁
  • 第三章 内存管理

    • 3.1 内存管理概念
    • 3.2 虚拟内存管理
  • 第四章 文件管理

    • 4.1 文件系统基础
    • 4.2 文件目录
    • 4.3 文件系统
  • 第五章 输入/输出(I/O)管理

    • 5.1 I/O 管理概述
    • 5.2 设备独立性软件
    • 5.3 磁盘和固态硬盘

5.2 设备独立性软件

设备的独立性是指用户编程时使用的设备与实际使用的设备无关。

5.2.1 与设备无关的软件

5.2.2 高速缓存与缓冲区

在内存中设置磁盘缓冲区的主要目的是减少磁盘 I/O 次数。

磁盘把一块数据输入到缓冲区时间为 T

将缓冲区数据传送到用户区的时间为 M,

CPU 处理时间 C

(1)单缓冲

处理时间 $max(C,T)+M$

(2)双缓冲

处理时间 $max(C+M,T)$

不存在等待磁盘块从缓冲区读入用户区的问题。

5.2.3 设备的分配与回收

(1)独占式使用设备

(2)分时式使用设备

(3)以 SPOOLing 方式使用外部设备

5.2.4 SPOOLing 技术(假脱机技术)

利用专门的外围控制机,将低速 I/O 设备上的数据传送到高速磁盘上。

以空间换时间。

开辟磁盘上的空间作为输入井和输出井。

向磁盘输出数据比向 IO 设备输出数据块。

编辑此页
上次更新:
Prev
5.1 I/O 管理概述
Next
5.3 磁盘和固态硬盘