11
111 设设 I/O 设设设设设设设设 设设设统统 I/O 系 系系系系系系系系系 系系系系系系 系系系 系系系系 系系系系系系系系系 I/O 系系系系系系系系系系系系系系 系系系 系系 系系系系系系系系系系系系系系系 6.7 I/O 设设设设设设设 设设 / 设设设

设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

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

Page 1: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

1/ 11

设计 I/O 系统需要注意操作系统的因素。

◆ I/O 系统硬件的功能如何使用,往往完全是由

操作系统来决定的。

例如寻址空间的大小

◆ I/O 操作主要在外设和存储器间进行,所以操

作系统的主要任务是维护数据的安全性。

6.7 I/O 与操作系统

第六章 输入 / 输出系统

Page 2: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

2/ 11

6.7.1 DMA 和虚拟存储器DMA 是使用虚拟地址还是物理地址?1. 使用物理地址进行 DMA ,存在的问题:

◆ 对于超过一页的数据缓冲区,由于缓冲区使 用的页面在物理存储器中不一定是连续的, 所以传输可能会发生问题。 ◆ 如果 DMA 正在存储器和缓冲器之间传输数据 时,操作系统从存储器中移出(或重新装载) 一些页面后, DMA 将会在存储器中错误的页 面上传输数据。

6.7 I/O 与操作系统

Page 3: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

3/ 11

◆ 解决问题的方法 锁定在主存中的页面 虚拟 DMA 技术

2. 通过 DMA 连接的 I/O

“ 虚拟 DMA” 技术,它允许 DMA 设备直接使用

虚拟地址,在 DMA 期间由硬件将虚拟地址映射到

物理地址。

6.7 I/O 与操作系统

Page 4: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

4/ 11

CPUCPU

CacheCache

主存主存

DMADMA控制器控制器

I/OI/O总线总线

TLBTLB

地址转换寄存器地址转换寄存器

-主存总线-主存总线CPUCPU

6.7 I/O 与操作系统

Page 5: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

5/ 11

6.7.2 I/O 和 Cache 数据一致性 1. Cache 会使一个数据出现两个副本

一个在 Cache 中,一个在主存中。

2. I/O 与计算机的连接方式

(1) 连接到 CPU 的 Cache 上

6.7 I/O 与操作系统

Page 6: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

6/ 11

CPUCPU

CacheCache

主存主存

总线适配器总线适配器

I/OI/O总线总线

TLBTLB

CPUCPU-主存总线-主存总线

6.7 I/O 与操作系统

Page 7: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

7/ 11

I/O 连接到 CPU 的 Cache 上的特点 :

◆ 不会产生数据不一致的问题 所有 I/O 设备和 CPU 都能在 Cache 中看到最

新的数据,而且存储器中的机制能保证数据

的其它副本得到及时更新。

◆ 损失了性能 I/O 要传给 Cache 的数据往往不是 CPU当

前需要访问的数据。

6.7 I/O 与操作系统

Page 8: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

8/ 11

(2) 直接连到存储器上

I/O 与存储器之间的数据交换不会干扰 CPU 。

CPU

Cache主存

I/O控制器

图形显示

I/O控制器 I/O控制器

总线适配器

网络

CPUCPU-主存总线-主存总线

I/OI/O 总线总线

6.7 I/O 与操作系统

Page 9: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

9/ 11

I/O 直接连到存储器上的问题:

◆ 第一个问题 如果系统中存在 Cache ,而 I/O 连接到存储

器上,此时存储器中可能不是 CPU 产生的最新数

据,最新数据在 Cache 中。

◆ 第二个问题 I/O 与存储器交换数据之后,在 Cache 中被

CPU 使用的可能就是陈旧数据,而最新数据在存

储器中。

6.7 I/O 与操作系统

Page 10: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

10/ 11

6.7.3 异步 I/O

1. 提高 I/O 性能的一种方法:并行使用多个磁盘同时工作来获得一批数据。

2. 同步 I/O进程处于等待状态直到所需数据从磁盘读出。

3. 异步 I/O◆ 允许进程在发出 I/O 请求后继续执行,直到 该进程需要使用请求的数据。

6.7 I/O 与操作系统

Page 11: 设计 I/O 系统需要注意操作系统的因素。 ◆ I/O 系统硬件的功能如何使用,往往完全是由 操作系统来决定的。 例如寻址空间的大小

11/ 11

◆ 异步 I/O 允许进程进一步发出 I/O 请求,这

样多个 I/O 请求可以同时处理以最大限度地

利用带宽。6.7.4 块服务器和文件服务器

◆ 将存储功能与网络技术结合起来

◆ 目的:方便共享信息,方便维护信息。

6.7 I/O 与操作系统