Andy老师 发表于 2021-3-7 15:27:19

大工20秋《操作系统》辅导资料十七

操作系统辅导资料十七主 题:第十三章的辅导资料
学习时间:2021年1月18日--1月24日 “不忘初心、牢记使命”主题理论学习:守初心,就是要牢记全心全意为人民服务的根本宗旨,以坚定的理想信念坚守初心,牢记人民对美好生活的向往就是我们的奋斗目标;以真挚的人民情怀滋养内心,时刻不忘我们党来自人民、根植人民,人民群众的支持和拥护是我们胜利前进的不竭力量源泉;以牢固的公仆意识践行初心,永远铭记人民是共产党的衣食父母,共产党人是人民的勤务员,永远不能脱离群众、轻视群众、漠视群众疾苦。
摘选自《在“不忘初心、牢记使命”主题教育工作会议上的讲话》内 容:第十三章
这周我们将学习课件第十三章(、设备分配,输入输出软件)。本章的学习要求及需要掌握的重点内容如下:
基本要求:
1.掌握计算机设备的分类
2. 掌握输入/输出控制方式
3. 了解缓冲技术
重点掌握内容:
1.重点:计算机设备分类,通道的定义与类型,缓冲区类型,虚拟设备。
2.难点:计算机设备分类,通道的定义与类型。设备分配
1.用于设备分配的数据结构都有哪些?
2.如何分配设备?
3.设备分配的算法是什么?
4.什么是设备独立性?1.用于设备分配的数据结构都有哪些?
设备控制表:系统为每个设备配备了一张设备控制表(DCT),用于记录该设备的类型、状态、与控制器连接的情况等信息。
/
控制器控制表和通道控制表
系统为每个设备控制器设置了一张控制器控制表(COCT),为每个通道设置了一张通道控制表(CHCT),用来记录对应控制器和通道的状态、连接情况以及其他控制信息
/
系统设备表
整个系统设置有一张系统设备表,它记录了已连接到系统的所有物理设备的相关信息。每个物理设备占一个表项,主要包含下述内容:设备类型、设备标识符、获得设备的进程PID(即已获得该设备的进程的标识符)、DCT指针(指向该设备对应的设备控制表)、驱动程序入口(该设备的驱动程序的入口地址)等。
2.如何分配设备?
根据设备属性选择分配策略
(1)独占分配策略
将设备分配给某个进程后,便由该进程独占使用,直至该进程使用完毕且将它释放后,系统才能将这个设备分配给其他进程。独占分配的缺点是设备不能得到充分利用,且容易导致死锁。
(2)共享分配策略
可以将设备同时分配给多个进程使用。但应注意对各个进程访问共享设备的先后顺序进行合理调度。
(3)虚拟分配策略
通过使用虚拟设备技术,将一台物理设备虚拟成若干个逻辑上存在的设备,因此可以将对应的物理设备看成是可共享设备,将它按照共享设备分配策略,同时分配给多个进程使用,再对各个进程访问该物理设备的先后顺序进行合理控制。
设备分配方式
(1)静态分配
用户进程开始执行之前,系统便将该进程需要的全部设备、设备控制器和通道一次性地分配给它。进程运行后,这些设备、设备控制器和通道一直被该进程占用,直至该进程运行结束或被撤销。由于静态分配方式破坏了死锁的“请求和保持条件”,因此不会导致系统出现死锁。静态分配方式的主要缺点是设备利用率低,且可能使一些进程长时间得不到运行。
(2)动态分配
进程运行过程中,若需要使用设备,便向系统提出申请;操作系统根据收到的设备申请,按照事先制定的分配策略为申请者分配设备、设备控制器和通道;进程使用完设备后,立即将它们释放。动态分配有利于提高设备的利用率,但若分配不当,则可能导致系统死锁。因此,在实际进行分配之前,应对系统进行安全性检查,只有分配后系统仍然安全时才将设备分配给进程。3.设备分配的算法是什么?
通常使用的设备分配算法有先来先服务算法和优先级高者优先算法两种。
(1)先来先服务算法
当多个进程对同一个设备提出输入/输出请求时,系统按照提出输入/输出请求的先后顺序,将所有请求进程排成一个队列(称为设备请求队列或设备队列),设备分配程序总是将空闲设备分配给位于队首的进程。
(2)优先级高者优先算法
当多个进程对同一个设备提出输入/输出请求时,系统根据进程的优先级大小将所有请求进程排成设备请求队列,设备分配程序总是将空闲设备分配给位于队首的当前优先级最高的进程。若进程的优先级相同,则按照先来先服务原则排队。
4.什么是设备独立性?
设备独立性又称为设备无关性,指应用程序独立于具体使用的物理设备。即应用程序通过逻辑设备名向操作系统申请设备,而该逻辑设备名到底对应哪台物理设备由操作系统根据实际情况决定。
引入设备独立性原因:
计算机系统中通常配置有多台同类型的设备,如果进程以具体的物理设备名来申请使用设备,若该设备已分配给其他进程或正在检修,尽管还有其他几台同类型设备空闲,该进程仍只能阻塞等待。
若进程以逻辑设备名来申请使用设备,则系统可以将同类型的任意一台空闲设备分配给申请者,仅当同类型的全部设备都已被其他进程占用时,申请者才会阻塞等待。
实现设备独立性优点:
(1)易实现I/O重定向,易对系统中的设备故障进行处理
(2)增加了设备分配的灵活性,能更有效地利用设备资源。
5.独占设备的分配过程具体是什么?
当某个进程提出输入/输出请求时,操作系统的设备分配程序按照以下步骤进行设备分配:
(1)分配I/O设备
设备分配程序根据请求进程给出的逻辑设备名,从系统设备表SDT中找出第一个同类设备的设备控制表DCT,根据其设备状态字段中的“忙/闲标志”判断该设备是否空闲;若设备忙,则又查找第二个同类设备的设备控制表,如果同类的所有设备都忙,则将请求进程的进程控制块PCB排在此类设备的阻塞队列上,让请求进程等待,只要有一个同类设备空闲,系统便计算这次设备分配的安全性;若安全,便将找到物理设备分配给请求进程,且在逻辑设备表LUT中增加一个表项,记录逻辑设备名与该物理设备的映射关系,若不安全,则仍将该进程的PCB排在该类设备的阻塞队列上,让请求进程等待。
(2)分配设备控制器
系统将设备分配给请求输入/输出的进程后,再从设备的设备控制表DCT中查找到与本设备相连的控制器的控制表COCT,然后根据控制器状态字段中的“忙/闲标志”判断该控制器是否空闲;若空闲,则将此控制器分配给请求进程,否则,将请求进程的PCB挂在此控制器的阻塞队列上,让请求进程等待。
(3)分配通道
若计算机系统存在通道,则通过控制器控制表COCT中的通道控制表指针,找到与本设备控制器相连的通道的控制表CHCT,然后根据通道状态字段中的“忙/闲标志”判断该通道是否空闲;若空闲,则将此通道分配给请求进程,否则,将请求进程的PCB挂在此通道的阻塞队列上,让请求进程等待。输入/输出软件
课前问题
1.输入/输出软件的层次结构如何划分?
2.用户层输入/输出软件的功能是什么?
3.设备无关软件的功能是什么?
4.设备驱动程序的功能是什么?
5.输入/输出中断处理程序的功能是什么?1.输入/输出软件的层次结构如何划分?
输入/输出软件是用户使用外部设备过程中,与输入/输出操作有关的软件集合。根据在输入/输出过程中起的作用和与硬件的关系,可以将输入/输出软件分为四个层次:
/
2.用户层输入/输出软件的功能是什么?
用户层输入/输出软件面向用户或应用程序员,它完全屏蔽了计算机设备的具体差异,使用同一个输入/输出软件就可以在不同设备上进行输入/输出。
当用户层输入/输出软件接收到用户进程的输入/输出请求后,便把它传送给设备无关软件,由设备无关软件进行进一步处理。3.设备无关软件的功能是什么?
设备无关软件指独立于设备的软件,主要用于实现两方面功能:一方面是分别向用户层输入/输出软件和设备驱动程序提供统一的接口;另一方面是执行适用于所有设备的公有操作。
设备无关软件执行的通用操作一般包括:
/
4.设备驱动程序的功能是什么?
设备驱动程序是具体驱动设备进行工作的软件集合,它包括了所有与设备相关的代码。设备驱动程序用于实现输入/输出进程与设备控制器之间的通信;它接收从设备无关软件传来的抽象设备操作要求(如read、write等命令),在将它们转变为具体操作要求后,再发送给设备控制器,启动设备去执行;反之,它也将由设备控制器发来的信息传送给上层软件。
设备驱动程序主要具有以下功能:
/
5.输入/输出中断处理程序的功能是什么?
输入/输出中断处理程序位于操作系统的底层,是与硬件设备密切相关的软件,它通常构成设备驱动的一个组成部分。
/重要考点
一、名词解释
1.设备独立性:参见教材5.4.2“设备分配策略”。又称为设备无关性,指应用程序独立于具体使用的物理设备。二.选择题
1、实现虚拟存储器的目的是()。
A.实现存储保护
B.实现程序浮动
C.扩充辅存容量
D.扩充主存容量
答案:D
本内容由易百教育整理发布
网址www.openhelp100.com
QQ 515224986
页: [1]
查看完整版本: 大工20秋《操作系统》辅导资料十七