Upload
russell-ryan
View
71
Download
13
Embed Size (px)
DESCRIPTION
第六章 输入 / 输出系统. 6.7 I/O 与操作系统. 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小 ◆ I/O 操作主要在外设和存储器间进行,所以操 作系统的主要任务是维护数据的安全性。. 6.7 I/O 与操作系统. 6.7.1 DMA 和虚拟存储器 DMA 是使用虚拟地址还是物理地址? 1. 使用物理地址进行 DMA ,存在的问题: ◆ 对于超过一页的数据缓冲区,由于缓冲区使 用的页面在物理存储器中不一定是连续的, - PowerPoint PPT Presentation
Citation preview
1/ 11
设计 I/O 系统需要注意操作系统的因素。
◆ I/O 系统硬件的功能如何使用,往往完全是由
操作系统来决定的。
例如寻址空间的大小
◆ I/O 操作主要在外设和存储器间进行,所以操
作系统的主要任务是维护数据的安全性。
6.7 I/O 与操作系统
第六章 输入 / 输出系统
2/ 11
6.7.1 DMA 和虚拟存储器DMA 是使用虚拟地址还是物理地址?1. 使用物理地址进行 DMA ,存在的问题:
◆ 对于超过一页的数据缓冲区,由于缓冲区使 用的页面在物理存储器中不一定是连续的, 所以传输可能会发生问题。 ◆ 如果 DMA 正在存储器和缓冲器之间传输数据 时,操作系统从存储器中移出(或重新装载) 一些页面后, DMA 将会在存储器中错误的页 面上传输数据。
6.7 I/O 与操作系统
3/ 11
◆ 解决问题的方法 锁定在主存中的页面 虚拟 DMA 技术
2. 通过 DMA 连接的 I/O
“ 虚拟 DMA” 技术,它允许 DMA 设备直接使用
虚拟地址,在 DMA 期间由硬件将虚拟地址映射到
物理地址。
6.7 I/O 与操作系统
4/ 11
CPUCPU
CacheCache
主存主存
DMADMA控制器控制器
I/OI/O总线总线
TLBTLB
地址转换寄存器地址转换寄存器
-主存总线-主存总线CPUCPU
6.7 I/O 与操作系统
5/ 11
6.7.2 I/O 和 Cache 数据一致性 1. Cache 会使一个数据出现两个副本
一个在 Cache 中,一个在主存中。
2. I/O 与计算机的连接方式
(1) 连接到 CPU 的 Cache 上
6.7 I/O 与操作系统
6/ 11
CPUCPU
CacheCache
主存主存
总线适配器总线适配器
I/OI/O总线总线
TLBTLB
CPUCPU-主存总线-主存总线
6.7 I/O 与操作系统
7/ 11
I/O 连接到 CPU 的 Cache 上的特点 :
◆ 不会产生数据不一致的问题 所有 I/O 设备和 CPU 都能在 Cache 中看到最
新的数据,而且存储器中的机制能保证数据
的其它副本得到及时更新。
◆ 损失了性能 I/O 要传给 Cache 的数据往往不是 CPU当
前需要访问的数据。
6.7 I/O 与操作系统
8/ 11
(2) 直接连到存储器上
I/O 与存储器之间的数据交换不会干扰 CPU 。
CPU
Cache主存
I/O控制器
图形显示
I/O控制器 I/O控制器
总线适配器
网络
CPUCPU-主存总线-主存总线
I/OI/O 总线总线
6.7 I/O 与操作系统
9/ 11
I/O 直接连到存储器上的问题:
◆ 第一个问题 如果系统中存在 Cache ,而 I/O 连接到存储
器上,此时存储器中可能不是 CPU 产生的最新数
据,最新数据在 Cache 中。
◆ 第二个问题 I/O 与存储器交换数据之后,在 Cache 中被
CPU 使用的可能就是陈旧数据,而最新数据在存
储器中。
6.7 I/O 与操作系统
10/ 11
6.7.3 异步 I/O
1. 提高 I/O 性能的一种方法:并行使用多个磁盘同时工作来获得一批数据。
2. 同步 I/O进程处于等待状态直到所需数据从磁盘读出。
3. 异步 I/O◆ 允许进程在发出 I/O 请求后继续执行,直到 该进程需要使用请求的数据。
6.7 I/O 与操作系统
11/ 11
◆ 异步 I/O 允许进程进一步发出 I/O 请求,这
样多个 I/O 请求可以同时处理以最大限度地
利用带宽。6.7.4 块服务器和文件服务器
◆ 将存储功能与网络技术结合起来
◆ 目的:方便共享信息,方便维护信息。
6.7 I/O 与操作系统