操作系统 第六章 2 中断 + 设备驱动程序

1、中断是I/O系统最低的一层,也是设备管理的基础。

2、中断和陷入 区分:

  •   中断:CPU对I/O设备发来的中断信号的一种响应,中断是由外部设备引起的,又称外中断。
  •    陷入:由CPU内部事件所引起的中断,通常把这类中断称为内中断陷入(trap)。

  举例内中断:系统调用、缺页中断

   中断和陷入的主要区别:是信号的来源。

3、中断向量表:

 为每种设备配以相应的中断处理程序,并把该程序的入口地址,放在中断向量表的一个表项中,并为每一个设备的中断请求,规定一个中断号,它直接对应于中断向量表的一个表项中。

4、对多中断源的处理方式

①屏蔽(禁止)中断:所有中断都将按顺序依次处理

②嵌套中断:当同时有多个不同优先级的中断请求时,CPU优先响应最高优先级的中断请求;

5、.中断处理程序工作:

①进行进程上下文的切换 ②对处理中断信号源进行测试 ③读取设备状态 ④修改进程状态

6、中断处理:

  1. 测定是否有未响应的中断信号
  2. 保护被中断进程的CPU环境
  3. 转入相应的设备处理程序
  4. 中断处理
  5. 恢复CPU的现场

设备驱动程序:

1、工作:

接收上层软件发来的抽象I/O要求,如read、write等命令;

再把它转化为具体要求,发送给设备控制器,启动设备去执行。

反方向,它也将由设备控制器发来的信号,传送给上层软件。

2、驱动程序功能:

(1)接收由与设备无关的软件发来的命令和参数,并将命令中的抽象要求,转换为与设备相关的低层操作序列;

(2)检查用户I/O请求的合法性,了解I/O设备的工作状态,传递与I/O设备操作有关的参数,设置设备的工作方式;

(3)发出I/O命令,如果设备空闲,便立即启动I/O设备,完成指定的I/O操作;如果设备忙碌,则将请求者挂在设备队列上等待;

(4)及时响应由设备控制器发来的中断请求,并根据其中断类型,调用相应的中断处理程序进行处理。

3、设备驱动程序的特点:

(1)驱动程序是 与设备无关的软件和设备控制器之间通信和转换的程序。

(2)驱动程序,与设备控制器和I/O设备的硬件特性,紧密相关。    

 (3)驱动程序与I/O设备所采用的I/O控制方式紧密相关。

(4)由于驱动程序与硬件紧密相关,因而其中的一部分必须用汇编语言编写。

(5)驱动程序应允许可重入,一个正在运行的驱动程序常会在一次调用完成前被再次调用。

4、 I/O控制方式:

1)程序I/O方式 (程序查询方式或轮询方式) 字(节)为单位进行I/O:

cpu对I/O设备的控制采取程序I/O方式,或称忙—等待方式。

2)中断驱动I/O方式字(节)为单位进行I/O

CPU向相应的设备控制器发出一条I/O命令

然后立即返回继续执行任务。

设备控制器按照命令的要求去控制指定I/O设备。

这时CPU与I/O设备并行操作。

I/O设备输入数据中,无需CPU干预,因而可使CPU与I/O设备并行工作。从而提高了整个系统的资源利用率及吞吐量。

3)直接存储器访问DMA (数据传输的基本单位是 数据块):

   所传送的数据是从设备直接送入内存的,或者直接从内存进设备;不需要CPU操作

    4.3.1  DMA控制器的组成

              主机与DMA控制器的接口;

               DMA控制器与块设备的接口;

               I/O控制逻辑

   4.3.2  DMA控制器中的寄存器   (为实现主机与控制器之间块数据的直接交换)

             数据寄存器DR

             内存地址寄存器MAR

             数据计数器DC

             命令/状态寄存器CR

   4.3.3  

               

4)I/O通道控制方式(组织传送的独立)

   4.4.1

一次读多个数据块到内存不同区域,须由CPU分别发送多条I/O指令、进行多次DMA中断处理

通道 通过执行通道程序,与设备控制器共同实现对I/O设备的控制。

通道程序由一系列通道指令构成

CPU指令-》设备驱动程序解读-》通道程序-》通道

4.4.2  通道指令

        操作码。

        内存地址。

        计数。

        通道程序结束位。

        记录结束标志。 

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
I/O设备管理是操作系统中的一个重要组成部分,它负责管理计算机系统中的各种输入输出设备,包括硬盘、键盘、鼠标、打印机等。在本章的下半部分,我们将继续深入讨论I/O设备管理的相关内容。 1. I/O设备驱动程序 I/O设备驱动程序操作系统中的一个重要组成部分,它负责将操作系统和I/O设备之间进行交互。通常来说,每一种I/O设备都需要对应一个相应的驱动程序。I/O设备驱动程序通常由操作系统厂商提供,也可以由第三方厂商提供。 2. 中断处理程序 当一个I/O设备完成了一个输入输出操作时,它会向CPU发送一个中断请求,以通知CPU有一个I/O设备需要处理。CPU在接收到中断请求后,会暂停当前正在执行的任务,并执行中断处理程序。中断处理程序是操作系统中的一个重要组成部分,它负责处理中断请求,并将结果返回给I/O设备驱动程序。 3. 缓存管理 缓存是操作系统中的一个重要概念,它指的是在内存中存储的数据副本。I/O设备管理中的缓存可以分为两种,一种是输入缓存,用于存储从I/O设备读取的数据;另一种是输出缓存,用于存储将要写入I/O设备的数据。缓存管理的目的是提高I/O设备的读写效率,减少CPU对I/O设备的访问次数。 4. 设备控制块 设备控制块是操作系统中的一个数据结构,用于管理I/O设备。每一个I/O设备都有一个相应的设备控制块,它包含了I/O设备的基本信息,包括设备类型、设备状态、缓存信息等。设备控制块还可以用于实现多任务操作,即同时处理多个I/O设备请求。 5. 通道控制程序 通道控制程序是操作系统中的一个重要组成部分,它负责管理计算机系统中的通道设备。通道设备是一种高速输入输出设备,通常用于处理大量数据的输入输出操作。通道控制程序可以将多个I/O设备的请求合并,以提高系统的输入输出效率。 总之,I/O设备管理是操作系统中的一个重要组成部分,它涉及到多个方面的内容,包括I/O设备驱动程序中断处理程序、缓存管理、设备控制块和通道控制程序等。在实际应用中,需要根据具体的需求和系统架构,选择合适的I/O设备管理策略,以提高系统的性能和效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值