OS------第六章 输入输出系统

在看I/O设备操作系统之前之前,我们先来看计算机的体系结构,对计算机的组成,比如台式机能看到的部分有主机,显示器、键盘、鼠标。

主机的核心是CPU、内存,对于怎么管它们,

 

 

I/O系统的管理对象主要是I/O设备和相应的设备控制器、

其主要任务就是提高速率,利用率,方便使用

I/O操作:内存和外设间的信息传送操作

I/O通道,又称通道控制器

设备控制器,即电子部件,又称设备适配器、I/O控制器、I/O控制接口、I/O模块、I/O接口

系统与控制器交互,而非与设备交互

如何方便用户使用I/O设备

  1. 隐藏物理设备的细节
  2. 与设备的无关性(提高操作系统的可适应性和可扩展性,实现设备的独立性)

如何实现隐

藏物理设备的细节?

配置相应的设备控制器,就是包含有若干个用于存放控制命令的寄存器和存放参数的寄存器

I/O系统必须通过对设备加以适当的抽象,隐藏掉物理设备的实现细节,仅向上层提供少量的、抽象的读/写命令

何谓设备的独立性?

操作系统把所有外部设备统一当成文件来看待,只要安装对应的驱动程序,用户就可以像使用文件一样操纵使用这些设备,而不必知道他们的具体存在形式

一方面,用户不仅可以使用抽象的I/O命令,还可以使用抽象的逻辑设备名来使用设备
另一方面,有效地提高了OS的可移植性和易适应性

如何提高CPU和I/O设备的利用率?

  1. 提高处理机和I/O设备的利用率
  2. 对I/O设备进行控制

四种对I/O设备进行控制的方式:

  1. 采用轮询的可编程I/O方式
  2. 采用中断的可编程I/O方式
  3. 直接存储器访问方式(DMA,direct memory access详情请见https://blog.csdn.net/zinnc/article/details/79019141这里不再赘述)
  4. I/O通道方式

这些方式我都不懂,令人头秃

老师说了,I/O通道方式相当于小CPU

举个栗子:宏观上来讲,是辅导员管我们,微观上是辅导员管班长,班长管我们

我们先来看看什么是中断的可编程I/O方式

在计算机系统执行程序时,常会被系统内部或外部的时间所打断,而脱离原来正在执行的程序,转去执行一段预先安排好的中断服务程序,在服务结束后又返回原来的断点,继续执行原来的程序,这样的程序称为中断

当进程请求I/O时,立即中断CPU,保存现场后,交给相应的中断处理程序,有I/O就中断,而在I/O时,CPU可以和I/O设备并行执行

低速设备:如键 盘,打印机
高速设备:磁盘、光盘   

当系统发生错误时能及时发现错误,甚至于能自动修正错误、

  1. 确保对设备的正确共享
  2. 错误处理

确保对设备的正确共享

独占设备(互斥地访问)

共享设备(多个进程可以同时访问设备)

临时性错误和持久性错误

临时性错误,通过重试操作纠正

永久性错误,向上层报告

I/O软件组成的四个层次

  1. 用户层I/O软件
  2. 设备独立性(无关性)软件
  3. 设备驱动程序
  4. 中断处理程序

 

你可能感兴趣的:(OS)