1、 处理机管理的主要功能是:进程管理、进程同步、进程通信和处理机调度 (1)进程管理:为作业创建进程,撤销已结束进程,控制进程在运行过程中的状态转换(2)进程同步:为多个进程(含线程)的运行进行协调(3)进程通信:用来实现在相互合作的进程之间的信息交换(4)处理机调度:作业调度:从后备队里按照一定的算法,选出若干个作业,为他们分配运行所需的资源,首选是分配内存进程调度:从进程的就绪队列中,按照一定算法选出一个进程把处理机分配给它,并设置运行现场,使进程投入执行。15.内存管理有哪些主要功能?他们的主要任务是什么 内存管理的主要功能有:内存分配、内存保护、地址映射和内存扩充。 内存分配:为每道程序
2、分配内存。 内存保护:确保每道用户程序都只在自己的内存空间运行,彼此互不干扰。 地址映射:将地址空间的逻辑地址转换为内存空间与对应的物理地址。 内存扩充:用于实现请求调用功能、置换功能等。16.设备管理有哪些主要功能?其主要任务是什么? 主要功能有: 缓冲管理、设备分配和设备处理以及虚拟设备等。 主要任务: 完成用户提出的I/O请求、为用户分配I/O设备、提高CPU和I/O设备的利用率、提高I/O速度以及方便用户使用I/O设备。17.文件管理有哪些主要功能? 文件管理主要功能:文件存储空间的管理、目录管理、文件的读/写管理和保护。文件管理的主要任务:管理用户文件和系统文件、方便用户使用、保证文
3、件安全性。18.是什么原因使操作系统具有异步性特征 操作系统的异步性体现在三个方面:一是进程的异步性,进程以人们不可预知的速度向前推进。二是程序的不可再现性,即程序执行的结果有时是不确定的。三是程序执行时间的不可预知性,即每个程序何时执行,执行顺序以及完成时间是不确定的。23.何谓微内核技术?在微内核中通常提供了哪些功能把操作系统中更多的成分和功能放到更高的层次,即用户模式中去运行,而留下一个尽量小的内核,用它来完成操作系统最基本的核心功能,称这种技术为微内核技术。在微内核中通常提供了进程、线程管理、低级存储器管理、中断和陷入处理等功能。第二章5.在操作系统中为什么要引入进程概念?它会产生什么
4、样的影响? 为了使程序在多道程序环境下能并发执行,并对并发执行的程序加以控制和描述,在操作系统中引入了进程概念。 影响: 使程序的并发执行得以实行。6.试从动态性、并发性和独立性上比较进程和程序? (1)动态性是进程最基本的特性,表现为由创建而产生、由调度而执行,因得不到资源而暂停执行,由撤销而消亡。进程有一定的生命期,而程序只是一组有序的指令集合,静态实体。(2)并发性是进程的重要特征,同时也是OS的重要特征。引入进程的目的正是为了使其程序能和其它进程的程序并发执行,而程序是不能并发执行的。(3)独立性是指进程实体是一个能独立运行的基本单位,也是系统中独立获得资源和独立调度的基本单位。对于未
5、建立任何进程的程序,不能作为独立单位参加运行。7.试说明PCB 的作用,为什么说PCB 是进程存在的惟一标志? PCB是进程实体的一部分,是操作系统中最重要的记录型数据结构。作用是使一个在多道程序环境下不能独立运行的程序,成为一个能独立运行的基本单位,成为能与其它进程并发执行的进程。OS是根据PCB对并发执行的进程进行控制和管理的。8.试说明进程在三个基本状态之间转换的典型原因。 1 就绪状态执行状态 进程分配到CPU资源 2 执行状态就绪状态 时间片用完 3 执行状态阻塞状态 I/O请求 4 阻塞状态就绪状态 I/O完成 13.在创建一个进程时所要完成的主要工作是什么 (1)OS 发现请求创
6、建新进程事件后,调用进程创建原语Creat()(2)申请空白PCB(3)为新进程分配资源(4)初始化进程控制块(5)将新进程插入就绪队列。14.在撤销一个进程时所要完成的主要工作是什么 (1)根据被终止进程标识符,从PCB集中检索出进程PCB读出该进程状态。(2)若被终止进程处于执行状态,立即终止该进程的执行,置调度标志真指示该进程被终止后重新调度。(3)若该进程还有子进程,应将所有子孙进程终止,以防它们成为不可控进程。(4)将被终止进程拥有的全部资源,归还给父进程,或归还给系统。(5)将被终止进程PCB 从所在队列或列表中移出,等待其它程序搜集信息。15.试说明引起进程阻塞或被唤醒的主要事件
7、是什么16.进程在运行时存在哪两种形式的制约?并举例说明之。 (1)间接相互制约关系。举例:有两进程A和B,如果A 提出打印请求,系统已把唯一的一台打印机分配给了进程B,则进程A只能阻塞,一旦B释放打印机,A才由阻塞改为就绪。(2)直接相互制约关系。有输入进程A通过单缓冲向进程B提供数据。当缓冲空时,计算进程因不能获得所需数据而阻塞,当进程A把数据输入缓冲区后,便唤醒进程B,反之,当缓冲区已满时,进程A因没有缓冲区放数据而阻塞,进程B将缓冲区数据取走后便唤醒A。17.为什么进程在进入临界区之前应先执行“进入区”代码,而在退出前又要执行“退出区”代码 为了实现多个进程对临界资源的互斥访问,必须在
8、临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码。如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志;如果正被访问,则本进程不能进入临界区,实现这一功能的代码为进入区代码,在退出临界区后,必须执行退出区代码,用于恢复未被访问标志,使其它进程能再访问此临界资源。18. 同步机构应遵循哪些基本准则?为什么 同步机构应遵循的基本准则是:空闲让进、忙则等待、有限等待、让权等待 原因,为实现进程互斥进入自己的临界区。23.在生产者消费者问题中,如果缺少了signal(full)或signal(empty),对执行结果有何影响? 如果缺少signal(full),那么表明从第
9、一个生产者进程开始就没有改变信号量full 值,即使缓冲池产品已满,但full值还是0,这样消费者进程执行wait(full)时认为缓冲池是空而取不到产品,消费者进程一直处于等待状态。如果缺少signal(empty),在生产者进程向n个缓冲区投满产品后消费者进程才开始从中取产品,这时empty=0 full=n,那么每当消费者进程取走一个产品empty值并不改变,直到缓冲池取空了,empty值也是0,即使目前缓冲池有n个空缓冲区,生产者进程要想再往缓冲池中投放产品也会因为申请不到空缓冲区被阻塞。24.在生产消费者问题中,如果将两个wait操作即wait(full)和wait(mutex)互换
10、位置,或者将signal(mutex)与signal(full)互换位置,结果如何? 将wait(full)和wait(mutex)互换位置后,可能引起死锁。考虑系统中缓冲区全满时,若一生产者进程先执行了wait(mutex)操作并获得成功,则当再执行wait(empty)操作时,它将因失败而进入阻塞状态,它期待消费者进程执行signal(empty)来唤醒自己,在此之前,它不可能执行signal(mutex)操作,从而使试图通过执行wait(mutex)操作而进入自己的临界区的其他生产者和所有消费者进程全部进入阻塞状态,这样容易引起系统死锁。若signal(mutex)和signal(ful
11、l)互换位置后只是影响进程对临界资源的释放次序,而不会引起系统死锁,因此可以互换位置。26.试修改下面生产者 消费者问题解法中的错误:producer:begin repeat .producer an item in nextp;wait(mutex);wait(full); /* 应为wait(empty),而且还应该在wait(mutex)的前面 */ buffer(in):=nextp;/* 缓冲池数组游标应前移: in:=(in+1) mod n; */ signal(mutex);/* signal(full);until false;end consumer:wait(empty
12、); /* 应为wait(full),而且还应该在wait(mutex)的前面 */ nextc:=buffer(out);out:=out+1; /* 考虑循环 应改为: out:=(out+1) mod n;/* signal(empty);consumer item in nextc; end 27.试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的算法. Var chopstick:array0,?,4 of semaphore;所有信号量均被初始化为1 第i 位哲学家的活动可描述为 Repeat Wait(chopsticki);Wait(. chopstick(i+1) mo
13、d 5);Ea.t ;Signal(chopsticki);Signal(chopstick(i+1) mod 5)Think;Until false;28.在测量控制系统中的数据采集任务时,把所采集的数据送往一单缓冲区;计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两任务共享单缓冲区的同步算法。34.当前有哪几种高级通信机制 共享存储器系统、消息传递系统以及管道通信系统。36.为什么要在OS 中引入线程 在操作系统中引入线程,则是为了减少程序在并发执行时所付出的时空开销,使OS具有更好的并发性,提高CPU的利用率。进程是分配资源的基本单位,而线程则是系统调度的基本单位。38
14、. 试从调度性、并发性、拥有资源及系统开销方面对进程和线程进行比较。 (1)调度性。线程在OS 中作为调度和分派的基本单位,进程只作为资源拥有的基本单位。(2)并发性。进程可以并发执行,一个进程的多个线程也可并发执行。(3)拥有资源。进程始终是拥有资源的基本单位,线程只拥有运行时必不可少的资源,本身基本不拥有系统资源,但可以访问隶属进程的资源。(4)系统开销。操作系统在创建、撤消和切换进程时付出的开销显着大于线程。41.何谓用户级线程和内核支持线程 (1)用户级线程。仅存在于用户空间中的线程,无须内核支持。这种线程的创建、撤销、线程间的同步与通信等功能,都无需利用系统调用实现。用户级线程的切换
15、通常发生在一个应用进程的诸多线程之间,同样无需内核支持。(2)内核支持线程。在内核支持下运行的线程,无论是用户进程中的线程,还是系统线程中的线程,其创建、撤销和切换等都是依靠内核,在内核空间中实现的。在内核空间里还为每个内核支持线程设置了线程控制块,内核根据该控制块感知某线程的存在并实施控制。第三章1 高级调度与低级调度的主要任务是什么 为什么要引入中级调度 高级调度的主要任务是根据某种算法 把外存上处于后备队列中的那些作业调入内存。低级调度是保存处理机的现场信息 按某种算法先取进程 再把处理器分配给进程。引入中级调度的主要目的是为了提高内存利用率和系统吞吐量。使那些暂时不能运行的进程不再占用
16、内存资源 将它们调至外存等待 把进程状态改为就绪驻外存状态或挂起状态。5 试说明低级调度的主要功能。 (1)保存处理机的现场信息(2)按某种算法选取进程(3)把处理机分配给进程。6 在抢占调度方式中 抢占的原则是什么 抢占的原则有 时间片原则、优先权原则、短作业优先权原则等。7 在选择调度方式和调度算法时 应遵循的准则是什么 (1)面向用户的准则 周转时间短、响应时间快、截止时间的保证、优先权准则(2)面向系统的准则 系统吞吐量高、处理机利用率好、各类资源的平衡利用。18 何谓死锁 产生死锁的原因和必要条件是什么 死锁是指多个进程在运行过程中因争夺资源而造成的一种僵局 当进程处于这种僵持状态时
17、 若无外力作用 它们都将无法再向前推进。 产生死锁的原因为竞争资源和进程间推进顺序非法。其必要条件是 互斥条件、请求和保持条件、不剥夺条件、环路等待条件。19 在解决死锁问题的几个方法中 哪种方法最易于实现 哪种方法使资源利用率最高 解决死锁的四种方法即预防、避免、检测和解除死锁中 预防死锁最容易实现 避免死锁使资源的利用率最高。20 请详细说明可通过哪些途径预防死锁。 (1)摈弃“请求和保持”条件 就是如果系统有足够资源 便一次性把进程需要的所有资源分配给它(2)摈弃“不剥夺”条件 就是已经拥有资源的进程 当它提出新资源请求而不能立即满足时 必须释放它已保持的所有资源 待以后需要时再重新申请
18、(3)摈弃“环路等待”条件 就是将所有资源按类型排序标号 所有进程对资源的请求必须严格按序号递增的次序提出。21 在银行家算法的例子中 如果P0发出请求向量由Request(0,2,0)改为Request(0,1,0) 问系统可否将资源分配给它 (此答案有点问题 需重新考虑) (1)可以。银行家算法各种资源数量分别为10、5、7 在T0时刻的资源分配如图所示 (2)具体分析如下 Requst0(0,1,0)=Need0(7,4,3); Requst0(0,1,0)=Available(2,3,0);系统先假定可为P0分配资源 并修改Available0 Allocation0和Need0向量
19、由此形成的资源变化情况如下图所示 (3)P0请求资源 P0发出请求向量Requst0(0,1,0),系统按银行家算法进行检查 系统暂时先假定可为P0分配资源 并修改_有关数据 如下图所示 综上所述系统可以将资源分配给它。22 银行家算法中出现以下资源分配 试问(1)该状态是否安全?(2)若进程P2 提出 Request(1,2,2,2)后 系统能否将资源分配给它 (1)安全 因为存在安全序列P0,P3,P4,P1,P2 (2)系统能分配资源 分析如下。 Request(1,2,2,2) = Need2(2,3,5,6); Request(1,2,2,2) = Available2(1,3,5,
20、4)改成Available2(1,6,2,2) 系统先假定可为P2分配资源 并修改Available2 Allocation2和Need2向量 由此形成的资源变化情况如下图所示 再利用安全性算法检查此时系统是否安全。如下图由此进行的安全性检查得知 可以找到一个安全序列P2,P0,P1,P3,P4。第四章2 可采用哪几种方式将程序装入内存 它们分别适用于何种场合 1 绝对装入方式 只适用于单道程序环境。 2 可重定位装入方式 适用于多道程序环境。 3 动态运行时装入方式 用于多道程序环境,不允许程序运行时在内存中移位置。5 在动态分区分配方式中 应如何将各空闲分区链接成空闲分区链 在每个分区的起
21、始部分 设置一些控制分区分配的信息 以及用于链接各分区所用的前向指针 在分区尾部设置一个后向指针 通过前后向链接指针 将所有空闲分区链成一个双向链。当分区分配出去后 把状态位由“0”改为“1”。7 在采用首次适应算法回收内存时,可能出现哪几种情况?应怎样处理这些情况? 在采用首次适应算法回收内存时可能出现4种情况 (1)回收区前邻空闲区。将回收区与前邻空闲区合并 将前邻空闲区大小修改为两者之和。(2)回收区后邻空闲区。将两区合并 改后邻空闲区始址为回收区始址 大小为两者之和。(3)回收区前后均邻空闲区。将三个分区合并 修改前邻空闲区大小为三者之和。(4)回收区前后均不邻空闲区。为回收区设置空闲
22、区表项 填入回收区始址和大小并插入空闲区队列。17 分段和分页存储管理有何区别 (1)页是信息的物理单位 分页是为了实现离散分配方式 以消减内存的外部零头 提高内存利用率。段则是信息的逻辑单位 它含有一组相对完整的信息。(2)页的大小固定且由系统决定 由系统把逻辑地址划分为页号和页内地址两部分 是由机械硬件实现的,因而在系统中只能有一种大小的的页面;而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对原程序进行编译时,根据信息的性质来划分。(3)分页的作业地址空间是一维的,而分段作业地址空间则是二维的。19 虚拟存储器有哪些特征 其中最本质的特征是什么 答 虚拟存储器有多次性、对换性
23、、虚拟性三大特征。最本质的特征是虚拟性。22 在请求分页系统中 页表应包括哪些数据项 每项的作用是什么 页表应包括页号、物理块号、状态位P、访问字段A、修改位M和外存地址。其中状态位P 指示该页是否调入内存 供程序访问时参考 访问字段A 用于记录本页在一段时间内被访问的次数 或最近已有多长时间未被访问 提供给置换算法选择换出页面时参考 修改位M表示该页在调入内存后是否被修改过 外存地址用于指出该页在外存上的地址 通常是物理块号,供调入该页时使用。26 在一个请求分页系统中 采用LRU 页面置换算法时 假如一个作业的页面走向为 4 , 3 , 2 ,1 , 4 , 3 , 5 , 4 ,3 ,
24、2 , 1 ,5 当分配给该作业的物理块数M分别为3和4时 试计算访问过程中所发生的缺页次数和缺页率 ? 比较所得结果 ? 当分配给该作业的物理块数M为3时 缺页9次 缺页率: 9/12=3/4 当分配给该作业的物理块数M为4时 缺页10次 缺页率: 10/12=5/6第五章3 什么是字节多路通道 什么是数组选择通道和数组多路通道 (1)字节多路通道。按字节交叉方式工作的通道。通常含有许多非分配型子通道 数量从几十到数百个 每个子通道连接一台I/O 设备 控制其I/O 操作。子通道按时间片轮转方式共享主通道。 (2)数组选择通道。按数组方式传送数据 传输速率很高 每次只允许一个设备数据。(3)
25、数组多路通道。将数组选择通道传输速率高和字节多路通道的各子通道分时并行操作的优点结合而成。含有多个非分配型子通道 具有很高的数据传输率和通道利用率。4 如何解决因通道不足而产生的瓶颈问题 答 解决问题的有效方法是增加设备到主机间的通路而不增加通道 把一个设备连到多个控制器上 控制器又连到多个通道上 这种多通路方式解决了“瓶颈”问题 提高了系统可靠性 个别通道或控制器的故障不会使设备和存储器之间没有通路。7 有哪几种I/O控制方式 各适用于何种场合 共有四种I/O 控制方式。 (1)程序I/O 方式 早期计算机无中断机构 处理机对I/O设备的控制采用程序I/O方式或称忙等的方式。(2)中断驱动I
26、/O 控制方式 适用于有中断机构的计算机系统中。(3)直接存储器访问 DMA I/O 控制方式 适用于具有DMA控制器的计算机系统中。(4)I/O 通道控制方式 具有通道程序的计算机系统中。9 引入缓冲的主要原因是什么 引入缓冲的主要原因是(1)缓和CPU与I/O 设备间速度不匹配的矛盾(2)减少对CPU的中断频率 放宽对中断响应时间的限制(3)提高CPU与I/O 设备之间的并行性 15 为何要引入设备独立性 如何实现设备独立性 现代操作系统为了提高系统的可适应性和可扩展性 都实现了设备独立性或设备无关性。基本含义是应用程序独立于具体使用的物理设备 应用程序以逻辑设备名请求使用某类设备。实现了
27、设备独立性功能可带来两方面的好处(1)设备分配时的灵活性(2)易于实现I/O 重定向。为了实现设备的独立性 应引入逻辑设备和物理设备概念。在应用程序中 使用逻辑设备名请求使用某类设备 系统执行时是使用物理设备名。鉴于驱动程序是与硬件或设备紧密相关的软件 必须在驱动程序之上设置一层设备独立性软件 执行所有设备的公有操作、完成逻辑设备名到物理设备名的转换 为此应设置一张逻辑设备表 并向用户层 或文件层 软件提供统一接口 从而实现设备的独立性。17 何谓设备虚拟 实现设备虚拟时所依赖的关键技术是什么 设备虚拟是指把独占设备经过某种技术处理改造成虚拟设备。 可虚拟设备是指一台物理设备在采用虚拟技术后
28、可变成多台逻辑上的虚拟设备 则可虚拟设备是可共享的设备 将它同时分配给多个进程使用 并对这些访问该物理设备的先后次序进行控制。18 试说明SPOOLing 系统的组成。答 SPOOLing 系统由输入井和输出井、输入缓冲区和输出缓冲区、输入进程 SPi 和输出进程 SPo 三部分组成。19 在实现后台打印时 SPOOLing 系统应为请求I/O 的进程提供哪些服务 在实现后台打印时 SPOOLing 系统应为请求 I/O的进程提供以下服务 (1)由输出进程在输出井中申请一空闲盘块区 并将要打印的数据送入其中 (2)输出进程为用户进程申请空白用户打印表 填入打印要求 将该表挂到请求打印队列。 (3)一旦打印机空闲 输出进程便从请求打印队列的队首取出一张
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1