操作系统知识(第五章 设备管理)2

参考视频:王道计算机考研 操作系统_哔哩哔哩_bilibili

参考书籍:左万利《计算机操作系统教程(第4版)》


第五章 设备与输入输出管理

五、设备的分配和去配(回收)

1.设备分配时应考虑的因素

1.1 设备的固有属性

  • 独占型设备
  • 共享型设备
  • 虚拟设备利用共享型设备实现的数量较多、速度较快的独占型设备。(即将独占设备改造成虚拟的共享设备)

1.2 设备分配算法

  • 先来先服务
  • 优先级高者优先
  • 短任务优先
  • ......

1.3 设备分配中的安全性

安全分配方式:为进程分配一个设备后就将进程阻塞,完成后才唤醒。

  • 优点一段时间内每个进程只能使用一个设备。不会死锁
  • 缺点:串行工作,系统效率低

不安全分配方式:只有I/O请求得不到满足时才将进程阻塞。

  • 优点:进程可使用多个设备,效率高
  • 缺点可能死锁

2.设备分配管理中的数据结构(书本)

在进行设备分配的时候,要先确定是否存在这样的设备、这个设备能不能用。因此需要数据结构来记录关于设备的信息。

数据结构:设备控制块(UCB)通道控制块(CCB)系统设备表(SDT)

系统设备表(SDT):记录了系统中全部设备的情况,每个设备对应一个表目。 

设备类请求的并不是具体的某一个设备,而是一类设备,体现了设备无关性(①能随时分配空闲的相同功能的另一个设备。②设备与程序无关,用设备类代替设备号,方便程序的移植)。

总数:每一类设备有几个设备。

UCB表指针:指向存有各个具体空闲设备设备控制块(UCB)表

设备等待队列:先查总数,如果总数为0,说明没有空闲设备,就放入等待队列。

2.独占型设备的分配和去配

申请:(1)根据设备类查SDT表

           (2)P(Sm) 信号量

           (3)查UCB表找一个空闲设备并分配

使用:(1)分配通道

           (2)IO传输

           (3)去配通道

释放:(1)找SDT表对应入口

           (2)查UCB表,去配

           (3)V(Sm) 信号量

3.共享型设备的分配和去配

设备在一段时间内可供多个进程使用。

  • 以块为单位进行传输
  • 一次输入输出可以是多个块
  • 块与块之间可以交叉不同进程的块的传输
  • 用户使用共享型设备没有明确的申请和释放动作(隐藏在使用之中,自动执行)

3.1 有通道情形

3.2 无通道情形

使用:

  1. 分配缓冲区,填写头部(读/写)。
  2. 若是写,就 将内存内容复制到缓冲区把缓冲区链入I/O链尾部(每个设备有一个I/O链);若设备空闲就启动设备,设备自动从I/O链获取信息输入输出结束以后释放缓冲区
  3. 若是读,就 缓冲区链入I/O链尾部 若设备空闲就启动设备,把磁盘信息复制到缓冲区,等待读入数据设备读完就向CPU发送中断信息复制到进程空间; 释放缓冲区; 唤醒进程,插入就绪队列

4.设备驱动

设备在使用动作中包含一个驱动的过程。设备驱动需要完成以下动作:

  • 形成通道程序
  • 启动设备
  • 中断处理

4.1 通道程序

  • 通道程序可以提前设计好也可以临时动态产生
  • 一个通道程序可以执行一次或多次输入输出操作。
  • 通道程序的执行可以和处理机CPU的并行执行

4.2 启动设备

  • 通道程序形成以后,处理机把通道程序的起始地址放在固定的内存单元上
  • 把起始地址从内存中放到通道的地址字上启动通道
  • 通道根据地址字的内容读取指令完成通道程序

4.3 中断处理

  • 当通道程序执行完毕,或者执行到通道结束指令时产生通道中断信号,发送给CPU。
  • CPU根据中断源做相应的中断工作。

六、缓冲与缓存

缓冲(buffering)处理数据到达与离开速度不一致所采用的技术。

缓存(Caching)慢速存储器活动信息缓冲到快速存储设备上的技术

【缓存可以通过缓冲技术实现】

1.缓冲技术的引入/作用

主要作用缓解处理机与设备之间速度不匹配的矛盾,提高资源利用率、系统效率和并行性

(CPU高速放入内存中的缓冲区,之后便可去处理其他任务,设备再从缓冲区中读取数据)

② 减少CPU中断频率

(在字符型设备中,每输出一个字符就要向CPU发送一次中断信号,降低系统性能)

③ 解决数据粒度不匹配

(缓冲区可以将字符型设备的字符积累起来一并发给CPU)

由实现方式可以分为硬缓冲区和软缓冲区:

缓冲区可能是由硬件实现的,硬缓冲区通常在设备中,如设在打印机中。也可以由软件实现,软件缓冲区通常设在内存系统空间中(由操作系统管理)。

2.私用缓冲与公共缓冲

私用缓冲:一个缓冲区与一个固定设备相联系,不同设备使用不同缓冲区

  • 缺点:缓冲区利用率低(执行数据传输的设备,其缓冲区可能不够,而未执行输入输出操作的设备其私用缓冲区闲置而浪费)

因而一般系统都采用公共缓冲管理模式。

公共缓冲缓冲区由系统统一管理,按需要动态分配给正在进行I/O传输的设备。

系统中的缓冲区集合被称为缓冲池(buffer pool)。

3.单缓冲、双缓冲与循环缓冲

根据系统设置的缓冲区个数:

  • 单缓冲
  • 双缓冲
  • 多缓冲
  • 缓冲池

3.1 单缓冲

在设备与进程之间设置一个缓冲区

设备与进程交换数据时,由设备将信息放入缓冲区,然后再由缓冲区传给进程。重复直至完成。设备与处理器对缓冲区的操作是串行的

 

3.2 双缓冲

在设备与进程之间设置两个缓冲区

一开始设备与进程交换数据时由设备将信息传入第一个缓冲区,满后再传入第二个缓冲区,同时将第一个缓冲区的内容复制到进程空间。

然后再次输入信息传入第一个缓冲区,同时处理器将第二个缓冲区的内容复制到进程空间,如此交替,可以提高CPU与设备之间的并行性

 

3.3 循环缓冲

在设备与进程之间设置多个缓冲区,这些缓冲区链成环状,有两个指针 in 和 out ,in 指向当前输入的位置,out 指向当前取出的位置。

 

3.4 缓冲池及其管理

设置一个信号量,即缓冲区的数量。

 

七、虚拟设备

引用共享型设备实现的独占型设备,数量较多、速度较快。

1.引入虚拟设备

1.1 独占型设备的缺点

使用独占设备时有可能会使CPU等待;用户进程申请并得到了独占型设备,但是不一定连续使用。

1.2 虚拟设备的工作方式

为克服独占设备的缺点,基本思想是在独占型设备与内存进程之间加入一个共享型设备作为过渡因为共享型设备速度很快,所以进程执行数据传输所需等待时间较短,提高进程推进速度另外,由于信息在独占型设备与共享型设备之间的传输是连续进行的,即独占型设备被占用期间一直被使用,因而提高了设备资源的利用率。

2.虚拟设备的实现

2.1 输入型虚拟设备的实现

信息流向:独占型设备→共享型设备→进程空间

(假定用于输入的独占型设备为读卡机,用于实现虚拟设备的共享型设备是磁盘)

① 申请。

  • 分配一台虚拟设备(盘区)
  • 分配一台实设备(读卡机)
  • 将信息由实设备(读卡机)连续地传输到虚拟设备(盘区)
  • 释放实设备(读卡机)

② 使用。将信息由虚拟设备(盘区)传输到进程空间。

③ 释放。回收虚拟设备(盘区)。

2.2 输出型虚拟设备的实现

① 申请。分配一台虚拟设备(盘区)。

② 使用。将信息由进程空间传输到虚拟设备(盘区)。

③ 释放。分配一台实设备(打印机),信息全部由虚拟设备传输到实设备(打印机),收回实设备(打印机),收回虚拟设备(盘区)。

3.虚拟设备举例——假脱机技术

3.1 脱机技术

3.2 假脱机技术(SPOOLing 技术)

用软件的方式模拟脱机技术

输入井 / 输出井 用于模拟脱机技术的磁带;输入进程 / 输出进程 模拟脱机技术的外围控制机。

数据输入:输入进程接收输入设备的数据暂存内存输入缓冲区中,之后再转存到输入井中;

数据输出:输出进程输出井中取得数据暂存内存输出缓冲区中,之后再传送给输出设备

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 《操作系统教程(第五版)》费祥林课后答案 CSDN 是一个非常有用的学习资源,特别是对于操作系统的初学者来说。这个资源为学习者提供了一些针对教材中每一章的习题的解答,帮助学生更好地理解操作系统的基本原理和理论。此外,这个资源还提供了编程作业的解答,以及一些额外的学习资源,比如操作系统的相关论文和研究报告等等。 当然,这个答案库也并不是完美的。虽然它可以作为一个很好的参考,并且可以为学生提供一些疑惑的解答和指导,但是这些答案并不一定都是正确的或者完整的。因此,学生们还需要自己进行深入的思考和独立的学习,以便真正地理解操作系统的相关概念和技术。同时,这个答案库中的某些答案可能会过于依赖与教材中的具体内容,而忽略了操作系统衍生出来的其他更广泛的概念和原则。 总之,《操作系统教程(第五版)》费祥林课后答案 CSDN是一个非常有用的学习资源,可以帮助初学者更好地理解操作系统的相关概念和技术,但是它也有一些局限性,需要学生自己进行独立的思考和学习。 ### 回答2: 操作系统教程第五版是一本经典的操作系统教材,而费祥林老师所提供的课后答案对于学生来说是非常重要的学习资源。 费祥林老师的课后答案在csdn上提供,包含了该教材每章的习题答案,不仅能够帮助学生检查自己的学习成果,还能够更好地理解和掌握操作系统的相关知识点。 这份课后答案的特点在于,它不仅包含了简单的答案,而且还提供了详细的解释和说明,帮助学生更深入地理解每个问题的解决思路和方法。不同于一些只提供答案的课后习题集,费祥林老师的课后答案更像是一本思路清晰、详解透彻的操作系统辅导书。 对于想要更加深入学习操作系统的学生,阅读这份课后答案是一个不错的选择。不仅能够加深对知识点的理解和记忆,还能够激发更多思考和探索的兴趣。同时,这份课后答案也是一份很好的备考资料,对于准备参加操作系统相关考试的学生尤为实用。 综上所述,操作系统教程第五版费祥林课后答案csdn是一份极为有用的学习资源,对于学生的操作系统学习和考试备考起到了很大的帮助作用。 ### 回答3: 操作系统教程第五版费祥林课后答案csdn是一个非常有用的学习资源,为学习操作系统的同学提供了丰富的题库和答案解析。这些题目涵盖了操作系统的各个方面,包括进程管理、内存管理、文件系统和设备管理等内容,帮助学生深入理解操作系统的基本原理和实现细节。此外,这些题目的答案解析也非常详细,包含了详细的步骤和实现方法,可以帮助学生更好地掌握操作系统知识操作系统教程第五版费祥林课后答案csdn还提供了多种形式的题目,包括选择题、填空题、简答题和编程题,这些题目形式多样,能够满足不同层次和不同需求的学习者的学习需要。此外,这些题目的难度逐步递增,可以帮助学生逐步提高自己的学习水平,从而更好地掌握操作系统知识。 总之,操作系统教程第五版费祥林课后答案csdn是一个非常有价值的学习资源,可以帮助学生更好地掌握操作系统知识,提高自己的学习水平。建议学习操作系统的同学利用这个资源,多做练习,加深对操作系统的理解和认识。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值