操作系统综合练习题.docx
《操作系统综合练习题.docx》由会员分享,可在线阅读,更多相关《操作系统综合练习题.docx(16页珍藏版)》请在冰豆网上搜索。
操作系统综合练习题
1.什么是管态和目态,中断向量中的处理机状态位为何要标明为管态?
管态也称为特态、核态、系统态。
机器处于管态时程序可以执行硬件所提供的全部指令(特权指令和非特权指令)目态也称常态或用户态。
机器处于目态时程序只能执行硬件提供的非特权指令。
计算机硬件只提供上述两种处理机状态,由一位触发器标示,通常属于程序状态字PSW的1位。
转换:
处理机状态由目态转为管态的唯一途径是中断。
管态到目态的转换可以通过管态程序(操作系统程序)修改PSW来实现。
2.中断向量是由操作系统程序决定的,还是由用户程序决定的?
答:
由操作系统程序确定的。
向量的内容包括中断处理程序的入口地址和程序状态字(中断处理程序运行环境),中断处理程序是由操作系统装入内存的,操作系统将根据装入的实际地址和该中断处理程序的运行环境来填写中断向量。
3.在分时系统中,当进程数为50时,为了保证响应时间不超过2秒,选取的时间片最大值为多少?
2s/50=4ms(XX题目中是“用户数目为”,而不是“进程数”为。
4.现代计算机的特性是什么?
何谓并行?
何谓并发?
各对处理机有何要求?
特性:
并行是指同一时刻同时进行,进程并行需要多处理器的支持;
所谓并发,是指在一段时间内,多个进程都在向前推进,而在同一时刻,可能只有一个进程在执行,多个进程轮流使用处理器。
5.何谓系统调用、线程、进程迁移?
进程迁移的内容和步骤是什么?
分布式操作系统中,进程能否由一台主机任意迁移到另外一台主机?
为什么?
系统调用:
是操作系统提供给编程人员的唯一接口。
访管指令加准备参数和取返回值
线程:
是在进程内用于调度和占有处理机的基本单位,它由线程控制表、存储线程上下文的用户栈以及核心栈组成。
线程是进城的一部分。
进程迁移:
进程迁移就是将一个进程从当前位置移动到指定的处理器上。
6.设某操作系统采用静态抢先式优先级进程调度,优先数越小,优先级越高。
若进程1时刻0到达,优先数为90,需耗时10秒;进程2时刻3到达,优先数为75,需耗时5秒;进程3时刻5到达,优先数为65,需耗时3秒,请问CPU的服务顺序是怎样的。
【调度算法的两种方式:
1非抢占式优先级算法:
在这种调度方式下,系统一旦把处理机分配给就绪队列中优先级最高的进程后,该进程就能一直执行下去,直至完成;或因等待某事件的发生使该进程不得不放弃处理机时,系统才能将处理机分配给另一个优先级高的就绪队列。
抢占式优先级调度算法:
在这种调度方式下,进程调度程序把处理机分配给当时优先级最高的就绪进程,使之执行。
一旦出现了另一个优先级更高的就绪进程时,进程调度程序就停止正在执行的进程,将处理机分配给新出现的优先级最高的就绪进程。
常用于实时要求比较严格的实时系统中,以及对实时性能要求高的分时系统。
】
【进程1运行三秒-进程2运行2秒-进程3运行3秒-进程2运行3秒-进程1运行7秒】
7.若不考虑进程同步与互斥,则多个进程的并发执行可能会导致进程运行结果不确定是由于请求I/O而引起的。
为什么?
【并发执行时,系统中的各资源将为它们所共享,而这些资源的状态也有这些程序来改变,致使其中的任意程序在运行时,其环境必然会受到其他程序的影响。
环境受到了影响。
8.给出一个虚拟资源的例子。
虚拟资源是和现实资源相对立的名词,主要是随着互联网的诞生而诞生的,随着互联网的普及,人们在网络上摄取信息的需求大大增加,因此,网络上流通的信息量也随之增加,而这些运用数据库、程序编辑而成的信息资源,就是我们常说的虚拟资源,比如网上图书馆、网上商城等等。
9.硬件将处理机划为两种:
管态和目态。
这样做有何好处?
便于设计安全可靠的操作系统。
管态和目态是计算机硬件为保护操作系统免受用户程序的干扰和破坏而引入的两种状态。
通常操作系统在管态下运行,可以执行所有机器指令;而用户程序在目态下运行,只能执行非特权指令。
如果用户程序企图在目态下执行特权指令,将会引起保护性中断,由操作系统终止该程序的执行,从而保护了操作系统。
10.采用段式分配的内存管理机制为什么不会产生内部碎片?
【在段式虚拟存储系统中,作业的地址空间由若干个逻辑分段组成,每段分配一个连续的内存区,但各段之间不要求连续,其内存的分配方式类似于动态分区分配。
这使得在固定分区管理算法中,分给程序的内存空间能够被充分利用。
】
11.简述I/O操作的演变过程:
查询方式→中断方式→通道方式。
I/O操作最早为查询方式,将待传输的数据放入I/O寄存器并启动设备,然后反复测试设备状态寄存器直至完成。
采用这种方式,处理机与设备之间是完全串行的。
伴随设备中断处理机的能力,产生了中断I/O方式。
CPU在启动设备后,可从事其它计算工作,设备与CPU并行,当设备I/O操作完成时,向CPU发送中断信号,处理机转去进行相应处理,然后可能再次启动设备传输。
中断使多道程序设计成为可能:
一方面中断使操作系统能够获得处理机控制权,另一方面通过I/O中断可以实现进程状态的转换。
中断使处理机与设备之间的并行成为可能,但I/O操作通常以字节为单位,当设备很多时对处理机打扰很多,为此人们设计了专门处理I/O传输的处理机—通道。
通道具有自己的指令系统,可以编写通道程序,一个通道程序可以控制完成许多I/O传输,只在通道程序结束时,才向处理机发生一次中断。
12.为何中断是进程切换的必要条件而不是充分条件?
假如在时刻T1与时刻T2之间发生了进程切换,则在时刻T1与时刻T2之间一定执行了处理机调度程序,而处理机调度程序是操作系统低层中的一个模块,运行于管态,说明在T1与T2时刻之间处理机状态曾由目态转换到管态。
由于中断是系统由目态转换为管态的必要条件,所以在时刻T1与时刻T2之间一定发生过中断,也就是说,中断是进程切换的必要条件,然而中断不是进程切换的充分条件。
例如:
一个进程执行一个系统调用命令将一个消息发给另外一个进程,该命令的执行将通过中断进入操作系统,操作系统处理完消息的发送工作后可能返回原调用进程,此时中断未导致进程切换;也可能选择一个新的进程,此时中断导致了进程切换。
13.分析中断与进程状态转换之间的关系
进程状态转换是由内核控制的,如果一个进程的状态发生了改变,则在新旧状态之间一定发生了处理机状态由目态到管态的转换,而中断是处理机状态由目态转换到管态的必要条件,所以中断也是进程状态转换的必要条件。
14.缓冲的重要用途是什么?
操作系统主要通过它解决什么问题。
利用存储区缓解数据到达速度与离去速度不一致而采用的技术称为缓冲,此时同一数据只包含一个拷贝。
例如,操作系统以缓冲方式实现设备的输入和输出操作主要是缓解处理机与设备之间速度不匹配的矛盾,从而提高资源利用率和系统效率。
15.什么是交换区?
什么是快表?
交换区是存在于数据服务器上的一个共享文件夹。
它的作用是为前台与后台数据交换提供一个场所。
【XX百科】
快表:
即转换后援缓冲器(TranslationLookasideBuffer),简称TLB,通常叫它快表。
快表是一块小容量的相联存储器(AssociativeMemory),由高速缓存器组成,速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
【XX】
16.关中断影响系统的并发性?
多处理机系统能否利用关中断来实现互斥?
考虑单处理机系统。
在单处理机系统中,并发是通过将处理机轮流分配给多个进程而实现的,这个分配是由操作系统中处理机调度程序完成的。
中断是进程切换的必要条件,如果关了中断,则操作系统无法获得处理机的控制权,也就无法使多个进程分时共享处理机。
在关中断期间,一个进程独占处理机。
所以说“关中断”会影响系统的并发性。
能否:
不能,因为在一个CPU上关中断,并不能防止其他处理器上也执行相同的临界区代码。
17.关中断后操作系统进入死循环,会产生什么后果?
系统不响应任何外部干预事件,系统表现为“死机”。
18.下列中断事件哪些可由用户处理?
哪些只能由OS处理?
溢出地址越界除零非法指令掉电
用户处理:
溢出、除零
操作系统中断服务程序统一处理:
地址越界、非法指令、掉电
19.如果中断由用户处理,为何需要将被中断程序的断点信息由系统堆栈弹出并压入用户堆栈?
中断发生时,被中断程序的现场信息已被压入系统栈中。
而中断续元运行于目态,它执行完毕后将由用户栈区中恢复现场。
为此,操作系统在转到中断续元之前应当将系统栈中的现场信息弹出并压入用户栈中,否则用户中断续元执行完毕后将无法恢复现场返回断点
20.进程切换时,上行进程的PSW、PC为何必须由一条指令同时恢复?
中断向量中程序状态字PSW与指令计数器PC的内容必须由一条指令同时恢复,这样才能保证系统状态由管态转到目态的同时,控制转到上升进程的断点处继续执行。
如果不同时恢复,则只能
(1)先恢复PSW再恢复PC,在恢复PSW后已经转到目态,操作系统恢复PC的使命无法完成;
(2)先恢复PC再恢复PSW,PC改变后转到操作系统另外区域(因为PSW仍为系统状态),PSW无法恢复。
21.段页式分配优点是何?
页的大小和段的大小各是由谁决定的?
。
段页式分配的优点:
段页式管理是段式与页式管理方案结合而成的,所以具有他们二者的优点。
即:
提供了内外存统一管理的虚存实现,段长可以根据需要动态增长,便于对具体逻辑功能的信息进行共享,便于实现动态链接。
(段式管理的优点)
有效地解决了碎片的问题,是用户可以利用的存储空间大大增加。
(页式管理的优点)
22.有人说,等长时间片轮转处理机调度算法的分时操作系统中,各用户所占有处理机的时间总和是相等的。
对吗?
为什么?
不对。
处理机是分配给进程的,而不同终端的用户可能有不同数量的进程,一个拥有较多数量进程的终端显然比拥有少量进程的终端获得CPU的时间要多。
23.PCB是什么?
作用为何?
定义:
为了描述控制进程的运行,系统中存放进程的管理和控制信息的数据结构称为进程控制块(PCBProcessControlBlock),它是进程实体的一部分,是操作系统中最重要的记录性数据结构。
它是进程管理和控制的最重要的数据结构,每一个进程均有一个PCB,在创建进程时,建立PCB,伴随进程运行的全过程,直到进程撤消而撤消。
作用:
1进程控制块:
进程控制块的作用是使一个在多道程序环境下不能独立运行的程序(包含数据),成为一个能独立运行的基本单位,一个能与其它进程并发执行的进程。
PCB集中反映了一个进程的动态特征。
,进程当前状态,进程优先级,程序开始地址,各种计时信息,通信信息。
2程序段:
是进程中能被进程调度程序在CPU上执行的程序代码段。
3数据段:
一个进程的数据段,可以是进程对应的程序加工处理的原始数据,也可以是程序执行后产生的中间或最终数据。
24.系统资源利用率与系统效率是否一定成正比?
举例。
系统效率高则资源利用率高。
反之不尽然。
不一定,比如操作系统设备管理中的中断驱动IO控制方式。
该方式为:
需要数据的进程向CPU发出指令启动IO设备输入数据,该进程放弃处理机,等待输入完成,CPU执行其他任务。
输入完成后,IO控制器向CPU发出中断请求,CPU收到后,转向中断服务程序,中断服务程序将数据送到指定的内存单元并将原进程唤醒,继续执行。
之后,该进程在被调度,从内存单元取出数据进行处理。
这一方式的优点是CPU的利用率大大提高,但是如果中断次数较多会耗去大量CPU处理的时间,导致系统效率很低。
在虚拟页式存储管理系统中,当页面置换算法不合理或分给进程的页架数过少时,可能发生抖动(thrashing),此时I/O设备很忙碌,但系统效率可能很低。
25.已知某计算机系统的虚拟地址为16位,其中第10~15位为页号,第0~9位为页内地址。
假定在时刻t,进程P只有第0、1、2、3页在内存中,对应的物理块号分别为5、8、10、6。
下列虚拟地址是否在内存中。
若在,则给出相应的物理地址及变换过程。
(1)0823DH
【分页内存管理地址映射机制:
由分页地址映射机制:
由CPU根据字长提供,程序的线性地址被切割成两部分:
页号、页内位移
规则:
页号的最低位等于页长的2的幂指数
如页长1KB=2的10次方(幂指数为10),针对于16位CPU,第10-15位为页号,第0-9位为页内位移
寻址计算方法
块起始地址=页长度x块号
物理地址=块起始地址+页内位移】
由于页号的最低位等于页长的2的幂指数,本题中页长为1KB(1024)
(2)196AH
26.比较段式存储与页式存储的优缺点。
P115P124
27.在段式存储管理中,一个段的长度是否可以大于内存的长度?
在段页式存储管理中呢?
在段式存储管理中,段的长度不能大于内存的长度,因为一个独立的段占用一段连续的内存空间,内存分配是以段为单位进行的,如果一个段的长度大于内存的长度,那么该段将无法调入内存。
在段页式存储管理中,段的长度可以大于内存的长度,因为内存分配的单位是页,一个段内逻辑上连续的页面,可以分配到不连续的内存页面中,不要求一个段的所有逻辑页都进入内存。
28.以动态重定位方式装入执行的进程,地址转换工作是在何时进行的?
。
由于程序在运行过程中在内存的位置可能改变,装入程序把装入模块装入内存后,并不立即把装入模块中的相对地址转换为绝对地址,而是把这种地址转换推迟到程序真正要执行的时候才执行。
29.在采用分段内存管理机制的系统中,段表是由谁建立的?
。
操作系统
30.为什么采用“空闲页链”管理内存速度快,而管理外存空闲块速度慢?
I/O传输。
31.文件打开后返回一个文件描述符,以后读写文件使用该符而不用文件名,此法有何好处?
首先,文件名是一个字符串,操作速度慢且占空间大,而文件描述符为一整数,其处理效率明显高于字符串。
其次,文件被打开后其控制信息(FCB)被缓冲到内存系统空间,文件描述符作为用户打开文件表中的入口地址直接与内存FCB建立起联系,而文件名无法做到这一点。
32.考虑文件的共享性,对于打开文件和关闭文件系统调用命令,操作系统各需完成哪些任务?
33.为何文件打开方式记录在用户打开文件表中,而不是记录在系统打开文件表中?
由于文件是可共享的,多个进程可能会同时打开同一文件,而其打开方式可能是不同的,当前的读写位置通常也是不一样的。
如果将这些信息合并到系统打开文件表中,就会导致一个共享文件占用多个系统打开文件表表目,这些表目的大部分内容是重复的。
当一个进程对文件的操作导致FCB内容变化时,该进程关闭文件时就要将FCB回写到外存。
增加了内外存传输的次数,也容易导致FCB内容的不一致。
因此,通常将打开方式和读写指针记录在另外一个表,即用户打开文件表中。
34.多个进程共享同一文件时,其FCB为何只能在内存中保存一个副本?
当一个文件被打开使用时,其FCB中的信息需要经常地被访问。
如果每次访问FCB都去读写外存,则速度会大大地降低。
为了解决这一问题,在内存中设立系统打开文件表,将文件对应的FCB读入内存并保存在该表中,以备需要时使用。
由于文件是可共享的,多个进程可能会同时打开同一文件,而其打开方式可能是不同的,当前的读写位置通常也是不一样的。
为了防止信息冗余,将这些个性化信息记录在另外一个表中,该表称作用户打开文件表,每个进程有一个,表中包含以下内容:
文件描述符
打开方式
读写指针
系统打开文件表入口
表中的系统打开文件表入口为一指针,指向该文件FCB在系统打开文件表中的入口地址。
当多个进程共用同一个文件时,不同进程的用户打开文件表中会有相同的系统打开文件表入口。
这样做的好处是FCB在内存中只有一个副本,当任何一个进程对文件的操作导致FCB内容变化时,内存中的FCB内容及时得到更新,当所有进程都不再需要该文件时,即当最后一个进程关闭该文件时,才将FCB的内容回写到外存上。
这样做可以减少I/O交换次数,提高系统效率。
35.文件控制块分为两部分后,其目录项中包含哪些内容?
文件目录是文件名与文件所在存储位置的一张映射表。
文件系统根据他实现用户按名存取文件。
文件目录由若干目录项组成,每个目录项纪录一个文件的管理和控制信息。
其中包括文件名、文件类型、文件在存储设备上的位置、文件的存取控制信息、文件的常见、访问和修改信息等。
36.对于大多数系统来说,应用程序在访问文件之前需要首先打开文件,不再使用时应关闭文件。
为什么?
37.说明下列概念的区别。
文件索引节点文件保护文件保密文件安全
38.磁带机为何不适合作共享设备?
磁带机属于启停型设备,即使用时开启,不用时停止。
用来记录信息的磁带一般很长,带上块号顺序编址,块的随机定位涉及磁带的机械运动,速度很慢,随机访问不连续的磁带块会造成较大的时间开销,这决定磁带属于顺序访问设备。
顺序访问设备不适合用作共享型设备。
39.什么是设备独立性?
如何实现?
设备独立性,即应用程序独立于具体使用的物理设备。
为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。
在应用程序中,使用逻辑设备名称来请求使用某类设备;而系统在实际执行时,还必须使用物理设备名称。
因此,系统须具有将逻辑设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。
40.处理机与通道之间是如何通信的?
通道与处理机之间呢?
通道与处理机之间相对独立,通道程序的执行可与处理机的操作并行;因为一个系统中可能有多个通道,这些通道也可并行地执行相应的通道程序。
通常,通道程序形成之后,处理机将通道程序的起始地址放到内存指定单元处,然后执行通道启动指令使通道开始工作。
通道被启动之后由指定单元取来通道程序的起始地址,并放入通道地址字CAW中,由此依次地执行各条通道指令。
当通道程序执行完毕,或执行到通道结束指令时,产生通道中断信号,该信号发给处理机,处理机响应中断后取出中断字,分析中断原因并进行相应的中断处理。
41.说明下列术语之间的对应关系
1I/O设备②I/O驱动程序③I/O进程
一般来说,一个I/O驱动程序与多个同类设备相对应,一个I/O设备与一个I/O进程对应。
42.与为每个设备配置一个缓冲区相比,采用可为多个设备共用的缓冲池有何优点?
将一个缓冲区与一个固定的设备相联系,不同设备使用不同的缓冲区,这种缓冲区管理模式称为私用缓冲。
私用缓冲利用率低,某一执行I/O传输的设备,其私用缓冲区可能不够,而另外未执行I/O操作的设备,其私用缓冲区被闲置导致浪费。
为提高缓冲区的利用率,通常不将缓冲区与某一个具体设备固定地联系在一起,而是将所有缓冲区集中起来加以管理,按需要动态分派给正在进行I/O传输的设备,系统中的共用缓冲区集合被称为缓冲池(bufferpool)。
43.设CR1是一组变量SV1的临界区,CR2是另一组变量SV2的临界区,当进程P1进入CR1时,进程P2是否可以进入CR2?
为什么?
可以。
因为互斥是在变量级别上的,多个进程同时进入关于不同变量的临界区不会引起与时间有关的错误。
44.何谓忙式等待?
是否还有其他方式的等待?
比较它们之间的联系和差别。
不进入等待状态的等待称为忙式等待。
另一种等待方式是阻塞式等待,进程得不到共享资源时将进入阻塞状态,让出CPU给其他进程使用。
忙等待和阻塞式等待的相同之处在于进程都不具备继续向前推进的条件,不同之处在于处于忙等待的进程不主动放弃CPU,尽管CPU可能被剥夺,因而是低效的;而处于阻塞状态的进程主动放弃CPU,因而是高效的。
45.对于“生产这者/消费者”问题来说,假设缓冲区是无界的,试用信号灯和PV操作给出解法。
由于是无界缓冲区,所以生产者不会因得不到缓冲区而被阻塞,不需要对空缓冲区进行管理,可以去掉在有界缓冲区中用来管理空缓冲区的信号量及其PV操作。
semaphoremutex_in=1;
semaphoremutex_out=1;
semaphoreempty=0;
intin=0,out=0;
生产者活动:
while
(1){
producenextproduct;
P(mutex_in);
addtheproducttobuffer[in];
in++;
v(mutex_in);
V(empty);
}
消费者活动:
while
(1){
P(empty);
P(mutex_out);
taketheproductfrombuffer[out];
out++;
V(mutex_out);
}
46.设有一个可以装A、B货物的仓库,其容量无限,但要求仓库中物品的数量满足下述不等式:
0≤A物品数量—B物品数量≤N。
N为正整数。
试用信号灯和PV操作描述A、B两种物品的入库过程。
答:
已知条件-M≤A物品数量-B物品数量≤N可以拆成两个不等式,即
A物品数量-B物品数量≤N,
B物品数量-A物品数量≤M。
这两个不等式的含义是:
仓库中A物品可以比B物品多,但不能超过N个;B物品可以比A物品多,但不能超过M个。
semaphorea=n;
semaphoreb=m;
voidmain(){
createprocess(A,…);
createprocess(B,…);
}
A物品入库:
voidA(){
while
(1){
P(a);
A物品入库;
V(b);
}
}
B物品入库:
voidB(){
while
(1){
P(b);
B物品入库;
V(a);
}
}
47.由V操作唤醒的进程是否一定能够进入运行状态?
举例说明。
答:
否。
一般来说,唤醒是将进程状态由等待状态变成就绪状态,而就绪进程何时获得处理机则是由系统的处理机调度策略确定的。
如果采用抢占式优先级调度算法,并且被唤醒的进程是当前系统中优先级最高的进程,那么该进程将被调度执行,其状态变成运行态。
如果该进程不是系统中优先级最高的进程或系统采用其它调度算法,那么该进程不会被调度执行,其状态将维持在就绪态。
48.假定系统中有N个进程,竞争使用15个同类资源R(R属于临界资源),每个进程最多需要4个资源R。
请问N为多少时,系统一定不会发生死锁?
为什么?
49.设有两个并发执行的进程A与B如下:
进程A:
进程B:
for(i=0;i<3;i++){for(i=0;i<3;i++){
P(s);P(q);
x=x+1;x=x+2;
V(q);V(s);
}}
其中,s、q为信号量。
x为进程A和B的共享变量,初值为0。
在下列每种情况下,进程A与B能到达完成状态吗?
若能,则给出A与B均完成后x可能值的下限与上限。
1.s的初值为0,q的初值为1。
2.s、q的初值均为0。
3.s、q的初值均为1。
50.设有两个并发执行的进程P1与P2,其执行的代码分别如下:
进程P1:
进程P2:
intj;intj;
for(j=0;j<3;j++)for(j=0;j<3;j++)
x=x+1;x=x-2;
其中,x是进程P1和P2的共享变量,初值为20。
请给出进程P1与P2均执行完成后所有可能的x值。
51.何谓系统开销?
举3例说明。
答:
运行操作系统程序,实现系统管理所花费的时间和空间称为系统