【操作系统(九)】之 设备管理

本文章由公号【开发小鸽】发布!欢迎关注!!!


老规矩–妹妹镇楼:

一. 设备管理

(一) 概述

        设备管理不但要管理实际IO设备,还要管理诸如设备控制器,DMA控制器,中断控制器,IO控制器等支持设备。IO系统包括设备,控制器,通道,总线和IO软件。

(二) IO系统的结构

1. 微机IO系统

        IO设备通常由机械和电子两部分组成,分开处理,电子部分称为设备控制器,可以通过印刷板电路的形式插入总线插槽中,如显卡。微机IO系统采用单总线架构。

2. 主机IO系统

        当配备有高速设备时,如果没有控制器,而是直接将设备通过总线直接连接到CPU上,会使得CPU和总线的负担太重,因此在IO系统中添加了通道和控制器来分散压力。

(三) IO系统的控制方式

1. 程序控制IO

        CPU根据用户进程的IO语句向IO设备或控制器发出一个IO命令,即IO操作。

2. 中断驱动IO

        IO操作由程序发起,在操作完成时由外设向CPU发出中断,通知该程序,数据的每次读写通过CPU。优点是外设进行数据处理时,CPU不必等待,可以继续执行其他程序,CPU和IO是并行的,缺点是传输的数据量少。

3. 直接存储访问IO(DMA)

        由程序设置DMA控制器中的若干寄存器值,然后发起IO操作,DMA控制器完成内存和外设的成批数据交换,操作完成时由DMA控制器向CPU发出中断。优点是CPU只需要干预IO操作的开始和结束,是用于高速设备。

4. 通道控制IO

        通道又称为IO处理机,能够完成主存储器和外设之间的信息传输,并与CPU并行操作,解决了IO操作的独立性和各部件之间的并行性。一个CPU可以连接多个通道,一个通道可以连接多个控制器,一个控制器可以连接多个设备。

(四) IO软件的组成

1. 概述

        分层构造,最高层向用户提供优化接口,最底层与硬件进行交互。


2. IO软件的目标

        目标是设备独立性和统一命名。设备独立性是指除了与设备交互的底层软件之外,其他的软件不会依赖于硬件,即独立于特定的设备。统一命名指的是在系统中采取预先设计的,统一的逻辑名称,对各类设备进行命名,并应用在同设备相关的全部软件模块中。

3. IO软件分层

        中断处理程序,设备驱动程序,与设备无关的系统软件,用户级软件。

(五) 中断处理程序

1. 中断

        中断是指在计算机执行过程中,系统内发生任何非正常的紧急事件,使得CPU暂时中断当前正在执行的程序转而执行相应的事件处理程序。引起中断的时间称为中断源,中断源向CPU发出的请求中断处理信号称为中断请求,而CPU收到请求后转到的处理程序为中断响应。

        如果CPU内部的处理器状态字PSW的中断允许位被清除,则为禁止中断,即关中断,如果重新设置该位,则为开中断。中断屏蔽指的是CPU有选择地封锁一部分中断而响应另一部分中断。


2. 中断分类

        外中断指的是来自处理器和内存外部的终端,如IO中断,调试断点中断;

        内中断指的是在处理器和内存中的发生的中断,称为陷阱或异常,包括程序运算中出现的各种错误;

        硬中断指的是通过硬件产生的中断请求;

        软中断指的是模拟硬中断实现的;

3. 中断优先级

        中断源的优先级是在系统设计时指定的,而CPU的优先级则根据执行情况由系统程序动态指定,如果CPU中的PSW的优先级高于中断源,则屏蔽中断。

4. 中断处理过程
(1) 检查响应中断条件

        如果有来自中断源的中断请求,并且CPU允许中断。

(2) CPU响应中断

        CPU关中断,进入不可再次响应中断的状态。

(3) 保存中断现场

        为了在中断结束后能够返回到被中断点,系统必须保存当前处理状态字PSW和程序计数器PC的信息。

(4) 执行中断处理程序

(5) 退出中断,恢复现场

(6) 开中断,CPU继续执行

(六) 设备驱动程序

1. 概述

        驱动是直接和硬件交互的软件,其中都是依赖设备的代码。

2. 功能

        向控制器发出控制命令;

        对各种设备排队,挂起,唤醒等操作;

(七) 通道

1. 概述

        通道的作用是使数据的传输独立于CPU,CPU只需要向通道发出IO指令,通道收到命令后,从内存中取出本次IO要执行的通道程序,当通道完成了IO任务后,才会向CPU发出中断信号。

2. 通道的类型
(1) 字节多路通道

        含有多条非分配型子通道,每个子通道连接一台IO设备,主通道采用时间片轮转法,轮流为每个子通道服务。只要扫描子通道的速度足够快,且连接到子通道的设备速率不高,就不会丢失信息,因此是用于慢速的设备。

(2) 数组选择通道

        可以连接多态高速设备,到那时仅有一个可分配通道,因此在某一段时间内之能够执行一个通道程序,为一台设备输入输出。这样,一个设备会独占通道,直到它自动释放通道,因此通道利用率很低。

(3) 数组多路通道

        结合前两个通道特点,使各个子通道分时并行操作,该通道含有多个非分配子通道,因而有很高的的数据传输速率,且通道利用率也高,数据传输通过数组方式。

(八) 设备管理技术

1. DMA技术

        直接内存存取(DMA)是指数据在内存和IO设备之间的直接成块传送,在传送一个块的过程中,不需要CPU的干涉,只需要CPU在开始时启动和结束时的处理,实际操作由DMA硬件直接执行完成,CPU此时在执行其他操作。

2. 缓冲技术

        为了缓和CPU和IO设备之间速度的不匹配,减少对CPU的中断频率,提高CPU和IO设备之间的并行性。在所有的IO设备和内存之间,都使用了缓冲区来交换数据。

(1) 单缓冲

        CPU和外设轮流使用一个缓冲,每当一个用户进程发出一个IO请求,系统便在内存中为它分配一个缓冲区。

(2) 双缓冲

        在内存中设置两个缓冲区,一个接受IO的输入,一个向用户发送数据。

(3) 环形缓冲

        多个缓冲区和多个指针组成。

(4) 缓冲池

        提供多个缓冲,供多个进程共享,可用于输入也可以用于输出,其中至少有三种类型的缓冲区,空闲缓冲区,装满输入数据的缓冲区,装满输出数据的缓冲区。

3. 总线技术
(1) 概述

        CPU和各种部件,外设之间需要连接起来,为了简化硬件电路设计,常用一组线路,配置适当的接口电路,与各个部件和外设连接起来,这组可以共享连接的传输通道称为总线,便于部件的扩充。

(2) 总线结构

        单总线结构:用一条系统总线将各个组件连接起来,总线只能分时工作;

        双总线结构:在CPU和主存之间专门搭了一组高速的存储总线,减轻了系统总线的负担,同时内存和外设至今可以通过系统总线交互,不经过CPU;

        三总线结构:又增加了IO总线,是外设和通道的数据传输的公共通路,减轻了CPU的负担。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值