操作系统期末复习笔记
当碗的数量m大于等于哲学家数量n时,为了让碗起到同样的限制效果,我们让碗的资源量等于n-1,这样就能保证最多只有n-1名哲学家同时进餐,所以得到碗的资源量为min{n-1,m}。而进程是动态的,是程序的一次执行过程,它在执行过程中会申请资源、占用 CPU 等,具有生命周期,从创建到运行再到结束。B 选项,执行态的进程时间片用完或被更高优先级进程抢占,会转换为就绪态;解析:当一个进程被唤醒时,意味着
第1章 引论
1. 单选题(5 分)
并发性是指若干时间在 () 发生。
A. 不同时刻
B. 同一时刻
C. 不同时间间隔
D. 同一时间间隔内1. 单选题
答案:D
解析:并发性指在同一时间间隔内,宏观上有多个程序在同时运行,但微观上这些程序是交替执行的。例如,在一个多任务操作系统中,一段时间内可能同时有文字处理软件、浏览器等多个程序在运行,它们在宏观上给人同时运行的感觉,实则是在 CPU 调度下交替执行 。而 “同一时刻” 强调的是瞬间多个事件同时发生,这是并行的概念;“不同时刻” 和 “不同时间间隔” 不符合并发性的定义。
2. 判断题(5 分)
用户程序有时也可以在内核态下运行。()
2. 判断题
答案:错误
解析:内核态具有较高的权限,可访问系统的关键资源和执行敏感操作,如访问硬件设备、修改内存管理信息等。用户程序通常运行在用户态,其权限受限,是为了防止用户程序对系统造成破坏。用户程序只能通过系统调用等合法途径,在操作系统的控制下进入内核态执行特定操作,不能随意在内核态下运行。
3. 单选题(5 分)
分时操作系统通常采用 () 策略为用户服务。
A. 可靠性和灵活性
B. 时间片加权分配
C. 短作业优先
D. 时间片轮转
本题得分:5 分
正确答案:D3. 单选题
答案:D
解析:分时操作系统将 CPU 的时间划分成若干个时间片,多个用户的作业按照时间片轮流占用 CPU 运行。这样每个用户都能在较短的时间内得到响应,感觉自己独占计算机。例如,多个用户同时登录到一台分时系统主机上,系统会依次为每个用户分配时间片来执行任务。“可靠性和灵活性” 并非分时操作系统为用户服务的具体策略;“时间片加权分配” 不是分时系统常用的典型策略;“短作业优先” 是批处理系统等采用的调度策略,用于优先处理运行时间短的作业,不适用于分时系统。
4. 单选题(5 分)
操作系统是一种 ()。
A. 通用软件
B. 应用软件
C. 工具软件
D. 系统软件4. 单选题
答案:D
解析:操作系统是管理计算机硬件与软件资源的计算机程序,是最基本的系统软件。它负责为其他软件提供运行环境,管理系统资源,如 CPU、内存、存储设备等。通用软件是具有通用性,可在多种场景使用的软件,如办公软件;应用软件是为满足特定应用需求而开发的软件,如财务软件、游戏软件;工具软件是辅助用户完成特定任务的软件,如文件压缩软件。这些都与操作系统的功能和性质不同。
5. 单选题(5 分)
下面不属于基本操作系统的是 ()。
A. 网络操作系统
B. 批处理操作系统
C. 实时操作系统
D. 分时操作系统5. 单选题
答案:A
解析:基本操作系统主要包括批处理操作系统(用于批量处理作业,提高系统资源利用率)、实时操作系统(对外部事件及时响应,常用于工业控制、航空航天等领域)、分时操作系统(允许多个用户同时交互使用计算机) 。网络操作系统是在基本操作系统基础上,增加了网络管理功能,用于管理网络通信、共享资源等,不属于基本操作系统类型。
6. 单选题(5 分)
下列是分时系统的为 ()。
A. MS - DOS
B. Windows NT
C. Linux
D. CP/M6. 单选题
答案:C
解析:Linux 是一种典型的分时操作系统,它支持多用户、多任务,多个用户可以同时登录系统,各自的任务按时间片轮转方式执行。MS - DOS 是单用户单任务的操作系统,一次只能运行一个程序;Windows NT 是面向网络的操作系统,虽然也支持多用户多任务,但不是典型的以分时为主要特征的系统;CP/M 是早期的单用户单任务操作系统。
7. 判断题(5 分)
从资源管理的角度来说,操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序的集合。()
7. 判断题
答案:正确
解析:从资源管理角度,操作系统对计算机硬件资源(如 CPU、内存、I/O 设备等)和软件资源(如程序、数据等)进行控制和管理。通过合理的调度和分配策略,组织计算机工作流程,像进程调度管理 CPU 时间分配、内存管理规划内存空间使用等,最终目的是为用户提供方便、高效的使用环境,所以该表述正确。
8. 单选题(5 分)
() 操作系统允许一台主机上同时连接多台终端,多个用户可以通过各自的终端同时交互地使用计算机。
A. 分布式
B. 网络
C. 分时
D. 实时8. 单选题
答案:C
解析:分时操作系统将 CPU 时间划分为时间片,采用时间片轮转方式,让多个用户通过各自终端轮流使用计算机,实现同时交互操作。分布式操作系统主要强调多台计算机协同工作,共同完成任务;网络操作系统侧重于管理网络通信和共享资源;实时操作系统注重对外部事件的及时响应,多用于工业控制等场景,均不符合 “多个用户通过终端同时交互使用计算机” 这一特点。
9. 判断题(5 分)
操作系统提供用户与计算机的接口。()
9. 判断题
答案:正确
解析:操作系统提供了用户与计算机硬件交互的接口。比如命令行界面(CLI)让用户通过输入指令操作计算机,图形用户界面(GUI)通过可视化的图标、窗口等方便用户操作,还有系统调用接口供程序开发者使用,所以操作系统是用户与计算机之间的桥梁,该说法正确。
10. 判断题(5 分)
在过去很长一段时间内,鉴于计算机系统非常昂贵,所以有效性曾一度是操作系统最为重要的设计目标。()
10. 判断题
答案:正确
解析:早期计算机硬件昂贵,资源有限,如何高效利用这些资源成为关键。操作系统设计着重于提高资源利用率、系统吞吐量等有效性指标,比如采用批处理技术减少 CPU 空闲时间,所以在过去,有效性确实是重要设计目标。
11. 判断题(5 分)
并发是并行的不同表述,其原理相同。()
11. 判断题
答案:错误
解析:并发指在同一时间间隔内,宏观上有多个程序在运行,但微观上是交替执行;并行是指在同一时刻,多个事件同时发生,需要多个处理器等硬件支持。二者原理不同,并发是通过 CPU 快速切换实现宏观同时运行效果,并行是真正的同时执行,所以该表述错误。
12. 单选题(5 分)
提高单机资源利用率的关键技术是 ()。
A. 交换技术
B. 虚拟技术
C. 脱机技术
D. 多道程序设计技术12. 单选题
答案:D
解析:多道程序设计技术允许计算机内存中同时存放多道程序,这些程序在 CPU 调度下交替执行,使 CPU 始终处于忙碌状态,减少空闲等待时间,极大提高了单机资源(如 CPU、内存等)利用率。交换技术主要用于内存管理,在内存空间不足时将部分程序或数据交换到外存;虚拟技术用于实现虚拟内存等,扩展系统资源;脱机技术指脱离主机直接控制的操作技术,它们虽对资源管理有作用,但不是提高单机资源利用率的关键技术。
13. 判断题(5 分)
操作系统内核能使用特权指令。()
13. 判断题
答案:正确
解析:操作系统内核处于系统的核心地位,拥有较高特权。特权指令具有特殊功能,像设置时钟、清内存等,只能在内核态执行,内核利用这些特权指令实现对硬件的直接控制和系统关键功能的管理,所以操作系统内核能使用特权指令。
14. 判断题(5 分)
操作系统是计算机系统中的第一层软件。()
14. 判断题
答案:正确
解析:计算机启动后,首先加载和运行操作系统,它直接与硬件交互,对硬件资源进行初始化和管理,为其他软件(如应用软件、工具软件等)提供运行环境和基础服务,所以操作系统是计算机系统中的第一层软件。
15. 判断题(5 分)
批处理系统不允许用户随时干预自己程序的执行。()
15. 判断题
答案:正确
解析:批处理系统是将用户作业成批提交,系统按顺序依次处理,在处理过程中用户不能随时干预程序执行。因为批处理追求的是高效处理大量作业,减少人工干预带来的时间开销,提高系统吞吐量,所以用户无法实时干预程序执行。
16. 单选题(5 分)
单道批处理系统的主要缺点是 ()。
A. 失去了交互性
B. 不具备并行性
C. CPU 利用率不高
D. 以上都不是16. 单选题
答案:C
解析:单道批处理系统一次只允许一道程序进入内存执行,当程序进行 I/O 操作时,CPU 处于空闲等待状态,导致 CPU 利用率不高。“失去交互性” 虽是单道批处理系统特点,但不是主要缺点;“不具备并行性” 表述不准确,它本质是因只有一道程序运行导致资源利用不充分,核心还是 CPU 利用率问题,所以主要缺点是 CPU 利用率不高。
17. 判断题(5 分)
操作系统的基本类型主要有批处理系统、分时系统及多任务系统。()
17. 判断题
答案:错误
解析:操作系统基本类型主要有批处理系统、分时系统、实时系统。多任务系统只是操作系统具备的一种特性,不是基本类型。批处理系统用于批量处理作业;分时系统支持多个用户同时交互使用;实时系统对外部事件及时响应,所以该表述错误。
18. 判断题(5 分)
操作系统是系统软件中的一种,在进行系统安装时可以先安装其它软件,然后再装操作系统。()
18. 判断题
答案:错误
解析:操作系统是管理计算机硬件和软件资源的基础软件,其他软件依赖操作系统提供的运行环境。安装系统时需先安装操作系统,完成硬件驱动配置、系统环境搭建等,再安装其他软件,若先装其他软件再装操作系统,会导致软件无法正常运行或系统不稳定。
19. 单选题(5 分)
操作系统是一组 ()。
A. 设备管理程序
B. 文件管理程序
C. 中断处理程序
D. 资源管理程序19. 单选题
答案:D
解析:操作系统功能涵盖对计算机各种资源的管理,包括 CPU、内存、设备、文件等。它通过一组资源管理程序实现这些功能,如进程调度程序管理 CPU 资源,内存管理程序管理内存资源等。设备管理程序、文件管理程序、中断处理程序只是操作系统资源管理功能的一部分,不能全面概括操作系统,所以操作系统是一组资源管理程序。
20. 单选题(5 分)
引导多道程序的目的在于 ()。
A. 提高实时响应速度
B. 充分利用存储器
C. 有利于代码共享,减少主、辅存信息交换量
D. 充分利用 CPU,减少 CPU 等待时间20. 单选题
答案:D
解析:多道程序设计允许内存中同时存在多道程序,当一道程序因 I/O 操作等原因暂停时,CPU 可调度其他程序执行,避免 CPU 空闲等待,充分利用 CPU 资源,减少 CPU 等待时间。提高实时响应速度是实时操作系统的目标;充分利用存储器只是多道程序设计带来的部分效果;代码共享不是引导多道程序的主要目的,所以引导多道程序目的是充分利用 CPU,减少 CPU 等待时间。
第2章 进程管理
1. 判断题(4 分)
临界区是进程中访问临界资源的那段代码。()
1. 判断题
答案:正确
解析:临界资源是一次仅允许一个进程访问的资源,而临界区就是进程中用于访问临界资源的那段代码。当一个进程进入临界区,就意味着它正在访问临界资源,此时其他进程不能再进入该临界区访问同一临界资源 。
2. 单选题(4 分)
进程和程序的本质区别是 ()。
A. 前者在一个文件中,后者在多个文件中
B. 前者存储在内存,后者存储在外存
C. 前者是动态的,后者是静态的
D. 前者分时使用 CPU,后者独占 CPU2. 单选题
答案:C
解析:程序是静态的,它是一组指令的集合,存放在外存(如硬盘)中,不具有执行能力。而进程是动态的,是程序的一次执行过程,它在执行过程中会申请资源、占用 CPU 等,具有生命周期,从创建到运行再到结束 。A 选项,进程和程序不一定在文件数量上有此区别;B 选项,进程运行时在内存,但程序不只是在外存,也可能被调入内存;D 选项,进程分时使用 CPU 是调度方式,不是本质区别,且程序不能独占 CPU。
3. 判断题(4 分)
进程的 3 种基本状态:就绪、运行和阻塞,任意两种状态之间都可以相互转换。()
3. 判断题
答案:错误
解析:进程的三种基本状态为就绪、运行和阻塞。运行态可以转换为就绪态(如时间片用完)和阻塞态(如等待 I/O 操作完成);就绪态可以转换为运行态(被调度程序选中);阻塞态可以转换为就绪态(等待的事件完成,如 I/O 操作结束)。但是阻塞态不能直接转换为运行态,必须先转换为就绪态,再由就绪态转换为运行态 。
4. 单选题(4 分)
在操作系统中,对信号量 S 的 P 原语操作定义中,使进程互斥的使用临界资源,则 S 的初值应是 ()
A. S<1
B. S=1
C. S≠1
D. S>14. 单选题
答案:B
解析:信号量 S 用于实现进程互斥时,初值通常设为 1。P 操作是申请资源,会使 S 的值减 1;V 操作是释放资源,会使 S 的值加 1。当 S = 1 时,一个进程执行 P 操作后 S 变为 0,其他进程再执行 P 操作时 S 变为负数,就会进入等待队列,实现进程互斥访问临界资源 。
5. 单选题(4 分)
一个进程被唤醒意味着 ()。
A. 进程状态变为就绪
B. 其 PCB 移至就绪队列的队首
C. 它的优先权变为最大
D. 该进程重新占有了 CPU5. 单选题
答案:A
解析:当一个进程被唤醒时,意味着它等待的事件已经发生,比如 I/O 操作完成,此时它的状态从阻塞态变为就绪态,进入就绪队列等待被调度执行 。B 选项,被唤醒后不一定移至就绪队列队首;C 选项,被唤醒并不意味着优先权变为最大;D 选项,被唤醒只是进入就绪态,不一定马上重新占有 CPU,需被调度程序选中才行。
6. 判断题(4 分)
处于后备状态的作业已经调入内存中。()
6. 判断题
答案:错误
解析:处于后备状态的作业是存放在外存中,尚未调入内存。当作业被调度程序选中,才会被调入内存,进入运行等状态 。
7. 单选题(4 分)
进程在系统中存在的唯一标识是 ()。
A. FCB
B. PCB
C. JCB
D. FIFO7. 单选题
答案:B
解析:进程控制块(PCB)是进程在系统中存在的唯一标识,它记录了进程的各种信息,如进程状态、优先级、资源占用情况等。文件控制块(FCB)是用于管理文件的;作业控制块(JCB)用于管理作业;FIFO 是先进先出调度算法,不是进程的标识 。
8. 单选题(4 分)
在下列进程状态变化中,不可能发生的状态转换是 ()。
A. 执行→阻塞
B. 执行→就绪
C. 阻塞→就绪
D. 阻塞→执行8. 单选题
答案:D
解析:A 选项,执行态的进程因等待资源(如 I/O 操作)会转换为阻塞态;B 选项,执行态的进程时间片用完或被更高优先级进程抢占,会转换为就绪态;C 选项,阻塞态的进程等待的事件完成(如 I/O 操作结束),会转换为就绪态;而阻塞态的进程必须先转换为就绪态,才能在被调度后转换为执行态,不能直接从阻塞态转换为执行态 。
9. 判断题(4 分)
当条件满足时,进程可以由阻塞态直接转换为运行态。()
9. 判断题
答案:错误
解析:阻塞态的进程是因为等待某个事件(如 I/O 操作完成、信号量等)而暂停执行,当等待的事件满足时,它会先转换为就绪态,进入就绪队列,然后由调度程序从就绪队列中选择它,才能转换为运行态,不能直接从阻塞态转换为运行态 。
10. 单选题(4 分)
若 P、V 操作的信号 S 初值为 2,当前值为 - 3,则表示有 () 个等待进程。
A. 0
B. 1
C. 3
D. 210. 单选题
答案:C
解析:信号量 S 的值小于 0 时,其绝对值表示等待该信号量的进程数。已知信号量 S 初值为 2,当前值为 -3 ,|-3| = 3,所以表示有 3 个等待进程。
11. 判断题(4 分)
临界资源是指在一段时间内,一次仅允许一个进程使用的资源。()
11. 判断题
答案:正确
解析:临界资源的定义就是在一段时间内,一次仅允许一个进程使用的资源,例如打印机、共享变量等。多个进程如果同时访问临界资源,可能会导致数据不一致或错误,所以需要对临界资源的访问进行控制 。
12. 单选题(4 分)
P、V 操作是 ()。
A. 两条低级进程通信原语
B. 两组低级的机器指令
C. 两条系统调用命令
D. 两条高级进程通信原语12. 单选题
答案:A
解析:P、V 操作是操作系统中用于实现进程同步与互斥的低级进程通信原语。P 操作是申请资源,会使信号量的值减 1;V 操作是释放资源,会使信号量的值加 1。它们不是机器指令,也不是系统调用命令,相对高级通信原语(如消息传递等)来说,P、V 操作比较基础和底层 。
13. 判断题(4 分)
在 PCB 中可以直接或间接找到有关该进程的所有信息。()
13. 判断题
答案:正确
解析:进程控制块(PCB)是进程的实体,它记录了进程的各种信息,如进程标识符、进程状态、优先级、资源分配情况、程序计数器、上下文信息等。通过 PCB 可以直接获取很多进程相关信息,对于一些间接关联的信息,也可以通过 PCB 中的指针或引用找到,所以在 PCB 中可以直接或间接找到有关该进程的所有信息 。
14. 单选题(4 分)
进程处于 () 时,它处于非阻塞态。
A. 等待协作进程的一个信号
B. 等待操作系统分配 CPU 时间
C. 等待网络数据进入内存
D. 等待从键盘输入数据14. 单选题
答案:B
解析:A 选项等待协作进程的一个信号、C 选项等待网络数据进入内存、D 选项等待从键盘输入数据,这些情况都表明进程在等待某个特定事件的发生,处于阻塞态。而 B 选项等待操作系统分配 CPU 时间,说明进程已经具备了运行条件,只是还没有得到 CPU 资源,此时进程处于就绪态,属于非阻塞态 。
15. 判断题(4 分)
作业一旦被作业调度选中,系统就给它分配 CPU。()
15. 判断题
答案:错误
解析:作业被作业调度选中后,只是将作业从后备状态调入内存,进入了就绪状态,此时作业还需要经过进程调度程序的调度,才会被分配 CPU 进入运行状态,而不是作业调度选中就直接分配 CPU 。
16. 判断题(4 分)
进程由 PCB 和其执行的程序、数据所组成。()
16. 判断题
答案:正确
解析:进程由三部分组成,即进程控制块(PCB)、程序段和数据段。PCB 用于记录进程的状态和属性等信息;程序段是进程执行的代码;数据段包含进程执行时所需要的数据,所以进程由 PCB 和其执行的程序、数据所组成 。
17. 判断题(4 分)
对临界资源应采取互斥访问的方式来实现共享。()
17. 判断题
答案:正确
解析:由于临界资源一次只能被一个进程使用,为了保证临界资源的正确使用和系统的一致性,需要采取互斥访问的方式,即当一个进程在访问临界资源时,其他进程不能同时访问,通常可以通过信号量机制、互斥锁等方法来实现互斥访问 。
18. 单选题(4 分)
进程的基本状态 () 可以由其他两种基本状态转变而来。
A. 阻塞状态
B. 就绪状态
C. 执行状态
D. 新建状态18. 单选题
答案:B
解析:执行态的进程因时间片用完或等待资源等原因可转换为就绪态;阻塞态的进程在等待的事件完成后,可转换为就绪态。而阻塞态只能由执行态转换而来(如等待 I/O 操作);执行态只能由就绪态转换而来(被调度执行);新建状态不属于进程的基本状态(进程基本状态为就绪、运行、阻塞 ),所以就绪状态可以由其他两种基本状态转变而来 。
19. 单选题(4 分)
处于挂起就绪状态 (即静止就绪状态) 的进程,可转换为 ()。
A. 就绪状态 (即活动就绪状态)
B. 挂起阻塞状态 (即静止阻塞状态)
C. 运行状态
D. 阻塞状态 (即活动阻塞状态)19. 单选题
答案:A
解析:挂起就绪状态表示进程被对换到外存,但具备运行条件,当系统资源允许(如内存空间足够等)时,它可以被重新调回内存,转换为就绪状态(活动就绪状态),进入就绪队列等待调度执行 。挂起就绪状态不能直接转换为挂起阻塞状态、运行状态或阻塞状态 。
20. 单选题(4 分)
操作系统中有一组特殊的程序,它们不能被系统中断,在操作系统中称为 ()。
A. 原语
B. 初始化程序
C. 子程序
D. 控制模块20. 单选题
答案:A
解析:原语是操作系统中一组不可分割、不可中断的程序,它在执行过程中不允许被其他程序或事件打断,用于实现一些原子操作,如 P、V 操作等。初始化程序是在系统启动时用于初始化硬件和软件环境的;子程序是被其他程序调用执行特定功能的程序段;控制模块是操作系统中具有特定控制功能的模块,所以这里应选原语 。
21. 单选题(4 分)
进程的状态和优先级信息存放在 ()。
A. 页表
B. PCB
C. 快表
D. JCB21. 单选题
答案:B
解析:进程控制块(PCB)记录了进程的各种信息,包括进程的状态(如就绪、运行、阻塞等)和优先级等。页表主要用于地址映射,记录虚拟地址和物理地址的对应关系;快表是一种高速缓存,用于加速地址转换;JCB 是作业控制块,用于记录作业的相关信息,如作业名、资源需求等,所以进程的状态和优先级信息存放在 PCB 中 。
22. 单选题(4 分)
在进程管理中,当 () 时,进程从阻塞状态变为就绪状态。
A. 进程被进程调度程序选中
B. 时间片用完
C. 等待的事件发生
D. 等待某一事件22. 单选题
答案:C
解析:A 选项进程被进程调度程序选中,是从就绪状态变为运行状态;B 选项时间片用完,是从运行状态变为就绪状态;D 选项等待某一事件,是从运行状态变为阻塞状态;而 C 选项等待的事件发生,例如等待的 I/O 操作完成,会使进程从阻塞状态变为就绪状态 。
23. 判断题(4 分)
进程状态的转换是由操作系统完成的,对用户是透明的。()
23. 判断题
答案:正确
解析:进程状态的转换是由操作系统内核中的调度模块和相关机制来完成的,用户无法直接感知和干预这些转换过程。用户只需要提交作业或运行程序,操作系统会自动管理进程的状态转换,所以对用户是透明的 。
24. 单选题(4 分)
一个运行的进程用完了分配给它的时间片后,它的状态变为 ()。
A. 由用户自己确定
B. 等待
C. 就绪
D. 运行24. 单选题
答案:C
解析:当一个运行的进程用完了分配给它的时间片后,它不再占用 CPU,但仍然具备运行条件,此时它的状态从运行态变为就绪态,进入就绪队列等待下一次被调度执行 。不是由用户自己确定,也不是等待(等待一般指等待某个事件,如 I/O 操作完成 ),更不会继续保持运行态 。
25. 单选题(4 分)
用信箱实现进程间互通信息的通信机制要有两个通信原语,它们是 ()。
A. 就绪原语和接收原语
B. 就绪原语和执行原语
C. 发送原语和接收原语
D. 发送原语和执行原语25. 单选题
答案:C
解析:用信箱实现进程间通信时,发送原语用于将消息发送到指定的信箱中,接收原语用于从信箱中取出消息。就绪原语和执行原语与信箱通信机制无关,所以信箱通信机制的两个通信原语是发送原语和接收原语 。
第3章处理机调度与死锁测试
1.单选题(3 分)
死锁与安全状态的关系是( )。
A 不安全状态就是死锁状态
B 安全状态有可能成为死锁状态
C 死锁状态有可能是安全状态
D 死锁状态一定是不安全状态
本题得分:3 分
1.正确答案:D
解析:安全状态是系统能按某种顺序为进程分配资源,让所有进程顺利完成;死锁是进程循环等待资源、无法推进的状态。死锁时系统一定无法找到安全序列,属于不安全状态。A 错(不安全≠死锁,只是有死锁风险 );B 错(安全状态能避免死锁,不会转为死锁 );C 错(死锁是典型不安全状态,不可能安全 )。2.单选题(3 分)
一种既有利于短小作业又兼顾到长作业的作业调度算法是( )。
A 时间片轮转
B 均衡调度
C 先来先服务
D 最高响应比优先
本题得分:3 分
2.正确答案:D解析:最高响应比优先(HRRN)的响应比公式 =(等待时间 + 运行时间)/ 运行时间 。短作业因运行时间短,响应比易高;长作业等待久后,响应比也会提升,能兼顾长短作业。A(时间片轮转是进程调度,非作业调度 )、B(均衡调度不是经典作业调度算法 )、C(先来先服务对长作业友好,短作业易被 “饿死” )均不符合。
3.单选题(3 分)
若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许( )个进程参与竞争,而不会发生死锁。
A 4
B 2
C 3
D 5
本题得分:3 分
3.正确答案:A解析:用 “资源分配法” 防死锁:5 台绘图仪,进程每次申请 1 台、最多需 2 台。若有 4 个进程,最坏情况是每个进程先占 1 台(共 4 台 ),剩余 1 台可给任意进程凑够 2 台,完成后释放资源,其他进程能继续;若 5 个进程,每个占 1 台后无剩余,进程循环等第二台,必死锁。因此最多允许 4 个进程,选 A。
4.单选题(3 分)
某系统中有 11 台打印机,N 个进程共享打印机资源,每个进程要求 3 台。当 N 的取值不超过( )时,系统不会发生死锁。
A 6
B 7
C 4
D 5
本题得分:3 分
4.正确答案:D解析:用 “银行家算法” 思路:11 台打印机,进程需 3 台。为避免死锁,需满足 “进程数 ×(需求数 - 1) < 总资源数” 。代入得 N×(3−1)<11 ,即 2N<11 ,N<5.5 ,所以 N 最大取 5(N=5 时,5 个进程各占 2 台,剩 1 台可让任意进程凑 3 台,完成后释放资源 )。
5.单选题(3 分)
某系统中仅有 5 个并发进程竞争某类资源,且都需要 3 个该类资源,那么至少有( )个该类资源,才能保证系统不会发生死锁。
A 15
B 11
C 10
D 9
本题得分:3 分
5.正确答案:B解析:根据死锁避免公式:资源数 ≥ 进程数 ×(每个进程最大需求 - 1) + 1 。代入 “5 个进程、每个需 3 个资源”,得 5×(3−1)+1=11 。资源≥11 时,至少有 1 个进程能拿到 3 个资源完成,释放后打破死锁条件,选 B。
6.单选题(2 分)
( )是指从作业提交给系统到作业完成的时间间隔。
A 响应时间
B 等待时间
C 周转时间
D 运行时间
本题得分:2 分
6.正确答案:C解析:周转时间定义是 “作业从提交到完成的时间间隔”;响应时间是 “请求发出到首次响应的时间”;等待时间是 “作业在队列中等待执行的时间”;运行时间是 “作业实际占用 CPU 的时间” 。直接匹配定义选 C。
7.单选题(3 分)
在( )情况下,系统出现死锁。
A 若干进程因竞争资源而无休止地相互等待他方释放已占有的资源
B 有多个封锁的进程同时存在
C 资源数大大小于进程数或进程同时申请的资源数大超过资源总数
D 计算机系统发生了重大故障
本题得分:3 分
7.正确答案:A解析:死锁核心是 “进程循环等待资源,且都不释放已占资源”。A 描述完全符合死锁条件;B(多个封锁进程≠循环等待 )、C(资源少是死锁可能条件,但不是死锁定义 )、D(系统故障与死锁无直接关联 )均不满足死锁本质,选 A。
8.单选题(3 分)
(考研真题,单项选择题)时间片轮转调度算法是为了( )。
A 多个用户能及时干预系统
B 使系统变得高效
C 优先级较高的进程得到及时响应 D. 需要 CPU 时间最少
本题得分:3 分
8.正确答案:A解析:时间片轮转给每个进程分配固定时间片,让进程轮流执行,保证多用户(如交互操作 )的进程能频繁获得 CPU,及时响应用户操作(即 “多个用户能及时干预系统” )。B(“高效” 太笼统,时间片轮转侧重公平、交互性,非纯效率 )、C(优先级调度才侧重高优先级进程及时响应 )、D(与 CPU 时间需求无关 )均不符,选 A。
9.单选题(3 分)
响应比是指( )。
A 作业计算时间与作业等待时间之比
B 系统调度时间与作业等待时间之比
C 作业周转时间与作业计算时间之比
D 系统调度时间与作业计算时间之比
本题得分:3 分
9.正确答案:C解析:响应比公式固定为 响应比 = 作业周转时间 / 作业计算时间 (周转时间 = 完成时间 - 提交时间,计算时间 = 作业实际执行需的 CPU 时间 )。直接记公式选 C。
10.单选题(3 分)
( )算法是设备分配常用的一种算法。
A 先来先服务
B 首次适应
C 短作业优先
D 最佳适应
本题得分:3 分
10.正确答案:A解析:设备分配常用 “先来先服务(FCFS)”,按请求顺序分配,简单公平;B(首次适应 )、D(最佳适应 )是内存分配算法;C(短作业优先 )多用于作业 / 进程调度,非设备分配。选 A。
11.单选题(3 分)
进程的挂起与解挂属于进程的( )。
A 中级调度
B 反馈调度
C 低级调度
D 高级调度
本题得分:3 分
11.正确答案:A解析:进程调度分三级:高级调度(作业调度,决定作业进内存 )、中级调度(交换调度,负责进程在内存 / 外存换入换出,挂起 / 解挂属于此 )、低级调度(进程调度,决定 CPU 给哪个进程 )。挂起 / 解挂是内存与外存的交换,属于中级调度,选 A。
12.单选题(3 分)
设有 4 个作业同时到达,每个作业的执行时间均为 2 小时,它们在一台处理机上按单道方式运行,则平均周转时间为( )。
A 5 小时
B 8 小时
C 2.5 小时
D 1 小时
本题得分:3 分
12.正确答案:A解析:单道运行(同一时间 1 个作业执行 ),4 个作业执行时间均为 2 小时。
作业 1 周转时间 = 2 小时(0 时刻提交,2 时刻完成 )
作业 2 周转时间 = 2 + 2 = 4 小时(等作业 1 完成 )
作业 3 周转时间 = 2 + 2 + 2 = 6 小时(等作业 1、2 完成 )
作业 4 周转时间 = 2 + 2 + 2 + 2 = 8 小时(等作业 1 - 3 完成 )
平均周转时间 =(2 + 4 + 6 + 8)/ 4 = 5 小时 ,选 A。13.单选题(3 分)
下列作业调度算法中,最短的作业平均周转时间是( )。
A 时间片轮转法
B 先来先服务法
C 短作业优先法
D 优先数法
本题得分:3 分
13.正确答案:C解析:
时间片轮转(进程调度算法,非作业调度核心 )、先来先服务(FCFS):长作业会拖慢平均周转时间;
短作业优先(SJF):优先调度短作业,减少整体等待时间,理论上能使作业平均周转时间最短;
优先数法:按优先级调度,与作业长短无关,无法保证平均周转时间最短。
选 C。14.单选题(3 分)
操作系统中的三级调度是指( )。
A 作业调度、进程调度和中级调度
B 作业调度、进程调度和资源调度
C CPU 调度、设备调度和存储器调度
D 处理机调度、资源调度和网络调度
本题得分:3 分
14.正确答案:A解析:操作系统三级调度固定为:
高级调度(作业调度 ):决定哪些作业进入内存;
中级调度(交换调度 ):管理进程在内存 / 外存的换入换出(如挂起/解挂 );
低级调度(进程调度 ):决定 CPU 分配给哪个进程。
直接匹配选 A(B 的 “资源调度”、C 的 “CPU / 设备 / 存储器调度”、D 的 “资源 / 网络调度” 均非三级调度标准分类 )。15.单选题(3 分)
按照作业到达的先后次序调度作业,排队等待时间最长的作业被优先调度,这是指( )调度算法。
A 时间片轮转法
B 先来先服务法
C 优先级法
D 短作业优先法
本题得分:3 分
15.正确答案:B解析:“按作业到达先后次序调度,等待最久的优先” 是先来先服务(FCFS) 的核心逻辑。
时间片轮转是进程调度的循环执行;
优先级法按优先级而非等待时间;
短作业优先按作业长短调度。
选 B。16.单选题(3 分)
在为多道程序所提供的可共享的系统资源不足时,可能出现死锁。但是,不适当的( )也可能产生死锁。
A 进程优先权
B 资源的线性分配
C 进程推进顺序
D 分配队列优先权
本题得分:3 分
16.正确答案:C解析:死锁除了因 “资源不足”,还因进程推进顺序不当(如进程循环等待资源 )。
A(进程优先权 )、B(资源线性分配 )、D(分配队列优先权 )不直接导致死锁;
进程推进顺序错误,即使资源够,也可能形成循环等待(如 P1 占 R1 等 R2,P2 占 R2 等 R1 ),选 C。
17.单选题(2 分)
下述作业调度算法中,( )调度算法与作业的估计运行时间有关。
A 优先权
B 时间片轮转
C 短作业优先
D 先来先服务
本题得分:2 分
17.正确答案:C解析:
短作业优先(SJF):必须依据作业 “估计运行时间” ,优先调度短作业;
优先权法:优先级可由用户 / 系统设定,与运行时间无关;
时间片轮转:按固定时间片循环,不关注运行时间;
先来先服务:按到达顺序,与运行时间无关。
选 C。18.单选题(3 分)
设有 4 个作业同时到达,每个作业的执行时间均为 1.5 小时,他们在单处理器上按单道方式运行,则平均周转时间为( )。
A 4 小时
B 3.75 小时
C 3.5 小时
D 3.25 小时
本题得分:3 分
18.正确答案:B解析:单道运行,4 个作业执行时间均为 1.5 小时,计算逻辑同题 12:
作业 1 周转时间 = 1.5 小时
作业 2 周转时间 = 1.5 + 1.5 = 3 小时
作业 3 周转时间 = 1.5×3 = 4.5 小时
作业 4 周转时间 = 1.5×4 = 6 小时
平均周转时间 =(1.5 + 3 + 4.5 + 6)/ 4 = 3.75 小时 ,选 B。19.单选题(3 分)
死锁产生的必要条件有 4 个,要预防死锁发生,必须破坏死锁的四个必要条件之一,但破坏( )条件是不太实际的。
A 互斥
B 不剥夺
C 环路等待
D 请求和保持
本题得分:3 分
19.正确答案:A解析:死锁 4 个必要条件:互斥、占有并等待、不可剥夺、循环等待。
互斥:某些资源(如打印机 )必须排他使用,破坏互斥不现实(否则资源无法正常服务 );
不剥夺:可通过 “抢占资源” 破坏;
环路等待:可通过 “资源有序分配” 破坏;
请求和保持:可通过 “一次性申请所有资源” 破坏。
选 A(破坏互斥条件会违背资源使用的基本逻辑,难以实现)。20.单选题(3 分)
一种既有利于短小作业又兼顾到长作业的作业调度算法是( )
A 先来先服务
B 均衡调度
C 最高响应比优先
D 轮转
本题得分:3 分
20.正确答案:C解析:
最高响应比优先(HRRN):响应比 =(等待时间 + 运行时间)/ 运行时间 。短作业因运行时间短,响应比易高;长作业等待久后,响应比也会提升,能兼顾长短作业;
先来先服务:对长作业友好,短作业易等待久;
均衡调度:非经典作业调度算法;
轮转:是进程调度算法,非作业调度。
选 C(同题 2 考点,HRRN 是兼顾长短作业的经典算法 。21.单选题 (3 分)
在分时系统中,可将进程不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据,称为( )。
A 物理扩充
B 虚拟技术
C 覆盖技术
D 对换技术
本题得分: 3 分
21.正确答案: D第 21 题
解析:
对换技术:指将进程不需要或暂时不需要的部分(如数据、代码等)移到外存(如磁盘),让出内存空间以调入其他所需数据,符合题意。
物理扩充:是指实际增加内存硬件容量,和题干描述的逻辑操作不符;
虚拟技术:主要是通过虚拟存储等方式,从逻辑上扩充内存,并非是这种进程部分移进移出的操作;
覆盖技术:是指一个程序的若干程序段或几个程序的某些部分共享某一个存储空间,与题干把进程部分移到外存的概念不同 。所以选 D。
22.单选题 (3 分)
某计算机系统中有 8 台打印机,有 K 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 K 的最小值是()
A 4
B 2
C 5
D 3
本题得分: 3 分
22.正确答案: A第 22 题
解析:
用 “银行家算法” 思路分析,考虑最极端的死锁情况,即每个进程都差 1 台打印机就能满足需求。每个进程最多要 3 台,若 K 个进程,每个进程先分配 2 台,此时共分配 2K 台,再增加 1 台就可能避免死锁。已知有 8 台打印机,当 2K+1>8 时可能死锁(这里是找可能死锁的最小值,即刚好接近死锁的临界情况 ),也可从死锁条件出发,当每个进程都持有 2 台,再申请 1 台时,若系统剩余不足就死锁。计算:假设每个进程先拿 2 台,K 个进程共拿 2K 台,当 2K⩾8 且再申请就没资源时可能死锁,代入选项,K=4 时,2×4=8 台,此时 4 个进程都再申请 1 台(共需 4 台,但已无剩余),就会形成死锁,所以选 A。23.单选题 (3 分)
下列调度算法中,不会导致饥饿现象的是()。
A 非抢占式短任务优先
B 时间片轮转
C 抢占式短任务优先
D 静态优先数调度
本题得分: 3 分
23.正确答案: B第 23 题
解析:
时间片轮转:系统给每个进程分配固定时间片,时间片到就切换,所有进程循环获得 CPU 时间,不会有进程长期得不到执行,不会饥饿。
非抢占式短任务优先:若不断有更短任务到达,长任务会一直等待,可能饥饿;
抢占式短任务优先:新的短任务可抢占 CPU,长任务易长期等待,会饥饿;
静态优先数调度:若某个进程优先数一直低,会长期得不到 CPU,可能饥饿。所以选 B。
24.单选题 (3 分)
银行家算法是一种()算法。
A 死锁检测
B 死锁解除
C 死锁避免
D 死锁预防
本题得分: 3 分
24.正确答案: C第 24 题
解析:
银行家算法:核心是在分配资源前,检查系统是否处于安全状态(即存在一种进程推进顺序,能让所有进程顺利完成),若安全才分配,属于死锁避免策略,通过动态检测资源分配情况,预防死锁发生,所以是死锁避免算法,选 C。
死锁检测:是定期或在特定时机检查系统是否已发生死锁;
死锁解除:是死锁发生后采取措施(如撤销进程等)解决死锁;
死锁预防:是通过破坏死锁的四个必要条件(互斥、占有并等待、不可剥夺、循环等待 )来预防死锁,和银行家算法原理不同。
25.单选题 (3 分)
进程 A 和 B 共享同一临界资源,并且进程 A 正处于对应的临界区内执行。请从下列描述中选择一条正确的描述。()
A 进程 A 的执行能被中断,但中断 A 后,不能将 CPU 调度给 B 进程。
B 进程 A 的执行能被中断,而且只要 B 进程就绪,就可以将 CPU 调度给 B 进程。
C 进程 A 的执行能被中断,而且只要 B 进程就绪,就必定将 CPU 调度给 B 进程。
D 进程 A 的执行不能被中断,即临界区的代码具有原子性。
本题得分: 3 分
25.正确答案: B第 25 题
解析:
临界区是进程中访问临界资源的那段代码,进程在临界区内执行时,其执行能被中断(因为操作系统可进行进程切换等操作 ),当中断后,只要其他进程(如 B 进程)就绪,调度程序可将 CPU 调度给 B 进程,A 进程被中断后阻塞或就绪,等待下次调度。A 选项:中断 A 后,若 B 就绪,是可以调度给 B 的,A 错误;
C 选项:B 进程就绪只是具备被调度条件,不是 “必定” 调度,还要看调度算法等,C 错误;
D 选项:进程在临界区内执行是能被中断的,临界区代码原子性是指不会被其他进程同时访问临界资源,不是指执行不能中断,D 错误。所以选 B。
26.单选题 (3 分)
下列选项中,满足短任务优先且不会发生饥饿现象的调度算法是()
A 非抢占式短任务优先
B 高响应比优先
C 时间片轮转
D 先来先服务
本题得分: 3 分
26.正确答案: B第 26 题
解析:
高响应比优先:响应比 =(等待时间 + 要求服务时间)/ 要求服务时间,等待时间长或要求服务时间短的进程,响应比会高,既照顾了短任务(要求服务时间短的,响应比易高 ),又因为等待时间会随时间增加,长任务等待久了响应比也会提高,不会饥饿,符合题意,选 B。
非抢占式短任务优先:若不断有新短任务,长任务会饥饿;
时间片轮转:主要是公平让进程循环执行,不是严格短任务优先;
先来先服务:按到达顺序调度,不体现短任务优先。
27.单选题 (3 分)
假设有 4 个进程各需要 2 个同类资源,试问系统最少应提供()个该类资源,才保证不会发生死锁?
A 6
B 3
C 5
D 4
本题得分: 3 分
27.正确答案: C第 27 题
解析:
用 “资源分配法” 预防死锁,考虑最坏情况,每个进程都差 1 个资源就能满足。4 个进程,每个进程需要 2 个资源,若系统提供 4+1=5 个资源,假设每个进程先分配 1 个,共分配 4 个,剩下 1 个资源,给任意一个进程,该进程就有 2 个资源可完成,完成后释放资源,其他进程也能顺利执行,不会死锁;若提供 4 个资源,每个进程分 1 个,就会都等待第 2 个资源,形成死锁。所以系统最少提供 5 个该类资源可保证不发生死锁,选 C。28.单选题 (3 分)
如果要照顾所有进程,让他们都有执行的机会,最好采用()算法。
A 先来先服务
B 轮转法
C 优先数法
D 分级调度
本题得分: 3 分
28.正确答案: B第 28 题
解析:
轮转法(时间片轮转):给每个进程分配固定时间片,轮流执行,能保证所有进程都有执行机会,符合 “照顾所有进程,都有执行机会” 的需求,选 B。
先来先服务:按到达顺序,若前面进程执行时间长,后面进程可能长期等待;
优先数法:优先数高的进程优先,优先数低的可能长期得不到执行;
分级调度:是把进程分成不同级别调度,不能很好保证所有进程都有均等执行机会。
29.单选题 (3 分)
在分时系统中,可将进程不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据,该部分属于三级调度中的()。
A 低级调度
B 高级调度
C 简单调度
D 中级调度
本题得分: 3 分
29.正确答案: D第 29 题
解析:
三级调度分别是:高级调度(作业调度):决定把外存上处于后备队列中的哪些作业调入内存,并为它们创建进程、分配资源,然后将新创建的进程插入就绪队列;
中级调度(内存调度):主要功能是按一定算法,将处于外存交换区中的就绪进程调入内存,或将处于内存中的暂时不能运行的进程调至外存交换区,题干中 “将进程不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据” 属于中级调度操作,选 D;
低级调度(进程调度):决定就绪队列中的哪个进程获得 CPU,然后由分派程序执行把 CPU 分配给该进程的操作 。
30..单选题 (3 分)
在分时操作系统中,进程调度经常采用()算法。
A 先来先服务
B 随机
C 最高优先权
D 时间片轮转
本题得分: 3 分
30.正确答案: D第 30 题
解析:
分时系统强调多个用户同时使用计算机,各用户进程能快速得到响应、轮流执行。时间片轮转:把 CPU 时间分成固定时间片,每个进程轮流使用时间片,能让多个用户进程频繁切换、都有执行机会,符合分时系统对交互性、及时性的要求,所以分时系统中进程调度常采用时间片轮转算法,选 D。
先来先服务:不利于多用户快速交互响应;
随机:无法保证公平和及时响应;
最高优先权:若一直有高优先权进程,低优先权进程难得到响应,不适合分时系统。
31.单选题 (3 分)
CPU 的调度分为高级、中级和低级三种,其中低级调度是指()调度。
A 进程
B 程序
C 交换
D 作业
本题得分: 3 分
31.正确答案: A第 31 题
解析:
CPU 的三级调度中:低级调度(进程调度):就是调度进程,从就绪队列中选进程分配 CPU,让其执行,选 A;
程序:不是调度的对象概念;
交换:属于中级调度涉及的部分操作,不是低级调度调度对象;
作业:是高级调度(作业调度 )的调度对象。
32.单选题 (3 分)
死锁的预防是根据()而采取措施实现的。
A 配置足够的系统资源
B 破坏死锁的 4 个必要条件之一
C 使进程的推进顺序合理
D 防止系统进入不安全状态
本题得分: 3 分
32.正确答案: B第 32 题
解析:
死锁的四个必要条件是:互斥条件、占有并等待条件、不可剥夺条件、循环等待条件 。死锁预防就是通过破坏这四个必要条件中的一个或多个来实现的,比如破坏 “占有并等待”,要求进程一次性申请所需全部资源等,所以选 B。配置足够系统资源:不能从原理上预防死锁,只是减少死锁可能;
使进程推进顺序合理:属于死锁避免中 “有序资源分配法” 等思路,不是死锁预防的通用依据;
防止系统进入不安全状态:是死锁避免(如银行家算法 )的思路,不是死锁预防。
33.单选题 (3 分)
时间片轮转调度算法经常用于()
A 批处理系统
B 实时系统
C 分时系统
D 单用户操作系统
本题得分: 3 分
33.正确答案: C第 33 题
解析:
分时系统:要让多个用户进程轮流快速得到 CPU 时间,实现交互,时间片轮转调度算法通过给每个进程分配时间片循环执行,很契合分时系统的需求,所以时间片轮转调度算法经常用于分时系统,选 C。
批处理系统:追求作业周转时间等,常用先来先服务、短作业优先等;
实时系统:强调实时性,常用抢占式优先调度等;
单用户操作系统:一般不需要这种多进程循环调度的算法。
34.单选题 (3 分)
一个作业 8:00 到达系统,估计运行时间为 1 小时,若 10:00 开始执行该作业,则其响应比为()。
A 3.5
B 3
C 2
D 2.5
本题得分: 3 分
34.正确答案: B第 34 题
解析:
响应比计算公式为:响应比 =(等待时间 + 要求服务时间)/ 要求服务时间 。
本题中,作业 8:00 到达,10:00 开始执行,等待时间是 10−8=2 小时,要求服务时间是 1 小时,代入公式:(2+1)/1=3 ,所以响应比为 3,选 B。第4章 存储器管理
1.单选题 (3 分)
当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为( )。
A 源程序
B 目标程序
C 可执行程序
D 非执行程序
本题得分: 3 分
1.正确答案: B第 1 题
解析:
源程序是未编译的代码,A 错误;目标程序是编译或汇编后,由机器指令组成的集合,B 正确;可执行程序还需链接等操作,C 错误;不存在 “非执行程序” 这种对应概念,D 错误 。所以选 B。
2.单选题 (4 分)
在可变分区存储管理中,回收一个分区时,反而使空闲区的个数减 1 的情况是该分区( )。
A 既有上部又有下部
B 只有上部
C 只有下部
D 无上部、下部
本题得分: 4 分
2.正确答案: A第 2 题
解析:
可变分区回收时,若回收分区既有上部又有下部相邻空闲分区,合并后空闲区数量会减少 1(三个区合并成一个 )。只有上部或只有下部相邻时,合并后空闲区数量不变;无上下相邻时,数量增加 1。所以选 A。3.单选题 (4 分)
在可变分区存储管理中,回收一个分区时,反而使空闲区的个数增 1 的情况是该分区( )。
A 既有上部又有下部
B 只有上部
C 只有下部
D 无上部、下部
本题得分: 4 分
3.正确答案: D第 3 题
解析:
回收分区时,若无上部、下部相邻空闲分区,回收后会新增一个空闲区,导致空闲区个数增 1 。有上下部相邻时,个数会减少或不变。所以选 D。4.单选题 (4 分)
在可变分区存储管理中,回收一个分区时,使空闲区的个数不变的情况是该分区( )。
A 既有上部又有下部
B 有上部或下部之一
C 只有下部
D 无上部、下部
本题得分: 4 分
4.正确答案: B第 4 题
解析:
回收分区时,若分区有上部或下部之一相邻空闲区,合并后空闲区数量不变(两个区合并成一个 )。有上下部相邻时个数减少,无相邻时个数增加。所以选 B。5.单选题 (4 分)
在分页存储管理系统中,从页号到物理块号的地址映射是通过( )实现的。
A 段表
B 页表
C PCB
D JCB
本题得分: 4 分
5.正确答案: B第 5 题
解析:
分页存储管理中,页表用于记录页号到物理块号的映射关系,通过页表实现地址转换;段表用于分段管理,PCB 是进程控制块,JCB 是作业控制块,都不用于分页地址映射。所以选 B。6.单选题 (4 分)
分段管理提供( )维地址结构。
A 1
B 2
C 3
D 4
本题得分: 4 分
6.正确答案: B第 6 题
解析:
分段管理的地址由段号和段内偏移组成,是二维地址结构(需先确定段,再确定段内位置 )。所以选 B。7.单选题 (4 分)
实施虚拟存储管理器的依据是程序的( )。
A 局部性原理
B 动态性原理
C 并发性原理
D 一致性原理
本题得分: 4 分
7.正确答案: A第 7 题
解析:
虚拟存储基于程序的局部性原理,即程序执行时,在一段时间内,往往只访问少量部分数据或代码,利用这一特性可将不常用部分换出内存,从而实现虚拟存储。动态性、并发性、一致性原理与虚拟存储实现依据无关。所以选 A。8.单选题 (4 分)
采用段式存储管理的系统中,若地址用 24 位表示,其中 8 位表示段号,则允许每段的最大长度是( )。
A 2^24 次幂
B 2^16 次幂
C 2^8 次幂
D 2^32 次幂
本题得分: 4 分
8.正确答案: B第 8 题
解析:
地址 24 位,8 位段号,剩余 24−8=16 位表示段内偏移,段的最大长度由段内偏移位数决定,即 2^16 。所以选 B。9.单选题 (4 分)
一个分段存储管理系统中,地址长度为 24 位,其中段号占 8 位,则段长最大为( )。
A 2^8 次方字节
B 2^16 次方字节
C 2^24 次方字节
D 2^32 次方字节
本题得分: 4 分
9.正确答案: B第 9 题
解析:
地址 24 位,段号 8 位,段内偏移 24−8=16 位,段长最大为 2^16 字节(段内偏移范围决定段长度 )。所以选 B。10.单选题 (4 分)
某系统的页面大小为 1KB, 地址 A=4728B, 则页号和页内偏移量为( )。
A 4, 632
B 5, 632
C 3, 632
D 5, 633
本题得分: 4 分
10.正确答案: A第 10 题
解析:
页面大小 1KB = 1024B,地址 A=4728B ,页号 = 4728÷1024=4(取整 ),页内偏移 = 4728−4×1024=4728−4096=632 。所以选 A。11.单选题 (4 分)
在段页式存储管理中,CPU 每次从内存中取一次数据需要( )次访问内存。
A 3
B 2 或 3
C 2
D 1
本题得分: 4 分
11.正确答案: A第 11 题
解析:
段页式存储管理中,先访问段表找到对应页表,再访问页表找到物理块,最后访问物理内存取数据,共3 次访问内存。所以选 A。12.单选题 (4 分)
( )存储管理方式提供一维地址结构。
A 分页
B 分段
C 分段和段页式
D 都不是
本题得分: 4 分
12.正确答案: A第 12 题
解析:
分页存储管理的地址是一维的(页号 + 页内偏移,逻辑上可视为一个一维地址 );分段是二维(段号 + 段内偏移 );段页式也是二维基础上的细分。所以选 A。13.单选题 (4 分)
首次适应算法的空闲分区是( )。
A 按大小递减顺序连在一起
B 按大小递增顺序连在一起
C 按地址由大到小排列
D 按地址由小到大排列
本题得分: 4 分
13.正确答案: D第 13 题
解析:
首次适应算法的空闲分区按地址由小到大排列,分配时从低地址开始找合适分区。按大小排列的是最佳或最坏适应等算法。所以选 D。14.单选题 (4 分)
最佳适应算法的空闲分区是( )。
A 按空闲区大小递减顺序连在一起
B 按空闲区大小递增顺序连在一起
C 按地址由小到大排列
D 按地址由大到小排列
本题得分: 4 分
14.正确答案: B第 14 题
解析:
最佳适应算法的空闲分区按大小递增顺序排列,这样能优先找最接近需求的小分区,减少碎片。所以选 B。15.单选题 (4 分)
本题得分: 4 分
正确答案: C第 15 题
解析:
要解决这道题,需先明确最佳适应算法的核心逻辑:从空闲分区中挑选大小最接近且能满足申请需求的分区进行分配,这样可尽量减少分配后产生的碎片。以下是具体分析步骤:
1. 梳理空闲分区情况
根据内存分配图,先找出所有空闲分区(未标记 “占用” 的区间 ),并计算它们的大小:
分区 1:0K~100K ,但 0K~100K 中 0K 开始的部分,结合图中 “占用” 标记,实际空闲分区需看未被占用的连续区间。重新梳理(按图中 “占用” 位置分割 ):
空闲分区①:100K~180K ,大小 = 180−100=80K
空闲分区②:190K~280K ,大小 = 280−190=90K
空闲分区③:330K~390K ,大小 = 390−330=60K
空闲分区④:410K~512K - 1(即 410K~511K ),大小 = 511−410=101K
2. 应用最佳适应算法筛选
申请内存大小是 50K,需从空闲分区中找大小≥50K 且最接近 50K的分区:
空闲分区①(80K ):≥50K,剩余 80 - 50 = 30K 碎片
空闲分区②(90K ):≥50K,剩余 90 - 50 = 40K 碎片
空闲分区③(60K ):≥50K,剩余 60 - 50 = 10K 碎片(最接近 50K ,碎片最小 )
空闲分区④(101K ):≥50K,但剩余碎片大,不符合 “最佳”
因此,最佳适应算法会选择 330K~390K 这个空闲分区,其首地址为 330K 。
综上,答案选 C(330K) 。
16.单选题 (3 分)
最容易形成很多小碎片的可变分区算法是( )。
A 最先适应算法
B 最佳适应算法
C 以上都不是
本题得分: 3 分
16.正确答案: B第 16 题
解析:
最佳适应算法总是找最小的、能满足需求的分区,易留下很多难以利用的小碎片;最先适应算法相对不易产生这么多小碎片。所以选 B。17.单选题 (3 分)
在请求页式存储管理中,若所需页面不在内存中,则会引起( )。
A 输入输出中断
B 时钟中断
C 越界中断
D 缺页中断
本题得分: 3 分
17.正确答案: D第 17 题
解析:
请求页式存储管理中,所需页面不在内存时,会触发缺页中断,进而进行页面置换等操作;输入输出中断与设备 IO 相关,时钟中断与时间管理相关,越界中断是访问地址越界触发。所以选 D。18.单选题 (3 分)
分区管理中采用 “最佳适应法” 分配算法时,宜把空闲区按( )次序登记在空闲区表中。
A 长度递增
B 长度递减
C 地址递增
D 地址递减
本题得分: 3 分
18.正确答案: A第 18 题
解析:
最佳适应算法为了方便找到最小适配分区,宜把空闲区按长度递增次序登记,这样从头找就能快速找到最小的、满足需求的分区。所以选 A。19.单选题 (4 分)
在分段管理中,( )。
A 以段为单位分配,每段是一个连续存储区
B 段与段之间必定不连续
C 段与段之间必定连续
D 每段是等长的
本题得分: 4 分
19.正确答案: A第 19 题
解析:
分段管理中,以段为单位分配,每段是一个连续存储区,段与段之间可以不连续,段长也不要求相等。所以选 A。20.单选题 (4 分)
碎片现象的存在使得( )。
A 内存空间利用率降低
B 内存空间利用率提高
C 内存空间利用率得以改善
D 内存空间利用率不影响
本题得分: 4 分
20.正确答案: A第 20 题
解析:
碎片(内部碎片或外部碎片 )会导致内存中有空闲空间但无法被有效利用,使得内存空间利用率降低。所以选 A。21.单选题 (3 分)
实现虚拟内存最主要的技术是( )。
A 整体对换
B 部分对换
C 整体覆盖
D 多道程序设计
本题得分: 3 分
21.正确答案: B第 21 题
解析:
实现虚拟内存最主要的技术是部分对换(页或段的换入换出 ),通过把不常用的页或段换出到外存,需要时再换入,从而扩充内存使用;整体对换类似作业调度,不是虚拟内存主要技术;整体覆盖是早期内存管理方式,多道程序设计是调度策略,都不是虚拟内存核心技术。所以选 B。22.单选题 (4 分)
把作业地址空间中使用的逻辑地址变成内存中物理地址的过程称为( )。
A 重定位
B 物理化
C 逻辑化
D 加载
本题得分: 4 分
22.正确答案: A第 22 题
解析:
把作业地址空间的逻辑地址转换为内存物理地址的过程称为重定位(静态重定位或动态重定位 );物理化、逻辑化不是对应概念,加载是把程序装入内存的过程,不完全等同于地址转换。所以选 A。23.单选题 (4 分)
对 “碎片” 问题解决得最好的存储管理方案是( )。
A 页式存储管理
B 段式存储管理
C 固定分区管理
D 可变分区管理
本题得分: 4 分
正确答案: A1. 各类存储管理的碎片问题
A. 页式存储管理
把内存和作业都划分为等长的 “页”(如 4KB / 页 ),作业按页装入内存空闲页框。
仅存在内部碎片(最后一页可能装不满,剩余空间无法利用 ),且因页大小固定、通常较小,内部碎片总量少,对内存浪费小。
B. 段式存储管理
按程序逻辑分段(如代码段、数据段 ),每段大小不一,装入内存连续区域。
会产生外部碎片( 内存中分散的小空闲块,无法满足分段的连续需求 ),碎片问题比页式更明显。
C. 固定分区管理
预先划分若干固定大小的分区,作业装入匹配分区。
存在内部碎片( 作业小于分区大小时,分区剩余空间浪费 ),且分区大小固定,无法灵活适配作业,碎片问题突出。
D. 可变分区管理
按需动态划分分区,作业装入后释放分区。
会产生外部碎片( 多次分配 - 释放后,内存分散小空闲块 ),虽可通过 “紧凑” 整理,但紧凑耗时且影响性能,碎片问题仍较严重。
2. 结论
页式存储管理通过 “等长分页”,仅产生少量内部碎片,且可通过优化页大小进一步降低碎片影响;其他方案(段式、固定分区、可变分区 )的碎片问题(外部碎片或大量内部碎片 )更难解决。因此,对 “碎片” 问题解决得最好的是页式存储管理,答案选 A 。
24.单选题 (4 分)
如果一个程序为多个进程所共享,那么该程序的代码在执行的过程中不能被修改,即程序应该是( )。
A 可改写码
B 可执行码
C 可重入码
D 可再现码
本题得分: 4 分
24.正确答案: C第 24 题
解析:
可重入程序能被多个进程共享,且在执行过程中代码不会被修改(多个进程调用时,使用各自的数据区 );可改写的会被修改,不符合共享需求;可执行只是能运行,可再现强调执行结果可重复,都不是针对共享且不被修改的特性。所以选 C。25.单选题 (4 分)
系统 “抖动” 现象的发生是由( )引起的。
A 置换算法选择不当
B 交换的信息量过大
C 内存容量不足
D 请求页式管理方案
本题得分: 4 分
25.正确答案: A第 25 题
解析:
系统 “抖动”(颠簸)是因为置换算法选择不当,导致频繁的页换入换出,大量时间花在页面置换上,使系统效率急剧下降;交换信息量过大、内存容量不足不是直接原因,请求页式管理方案本身不是抖动原因,关键在置换算法。所以选 A。26.单选题 (4 分)
在固定分区管理中,每个分区的大小( )。
A 相同
B 随作业长度变化
C 可以不同但预先固定
D 可以不同,根据作业长度固定
本题得分: 4 分
26.正确答案: C第 26 题
解析:
固定分区管理中,每个分区的大小可以不同但预先固定(在系统初始化时就划分好不同大小的分区 );不是都相同,也不是随作业长度变化,更不是根据作业长度动态固定。所以选 C。第5、6章设备、文件管理
1. 单选题 (3 分)
实现虚拟存储器的目的是 ( )。
A 实现存储保护
B 实现程序浮动
C 扩充辅存容量
D 扩充主存容量
1.答案:D
解析:
选项 A:存储保护主要是通过访问控制、界限寄存器等机制,防止程序对非授权存储区域的访问和破坏 ,这并非虚拟存储器的目的,虚拟存储器重点不在存储保护方面,所以 A 错误。
选项 B:程序浮动是指程序可以不依赖于固定内存地址进行加载和执行,它和虚拟存储器利用外存扩充主存容量的核心功能并无直接关联 ,所以 B 错误。
选项 C:虚拟存储器不是为了扩充辅存(如硬盘等外存设备)本身的容量 ,辅存容量是由其物理硬件决定的,虚拟存储器主要是让主存看起来有更大的可用空间,所以 C 错误。
选项 D:虚拟存储器借助大容量的外存(如硬盘)来模拟主存,使得系统在逻辑上拥有比实际物理主存更大的存储空间 。通过将暂时不用的数据和程序放在外存,在需要时再调入主存,从而满足大程序运行对内存空间的需求,达到扩充主存容量的目的,所以 D 正确。
2. 单选题 (2 分)
通过硬件和软件的功能扩充,把原来独占的设备改造成为能为若干用户共享的设备,这种设备称为 ( ) 设备。
A 存储
B 块
C 共享
D 虚拟
2.答案:D
解析:
选项 A:存储设备是用于存储数据的设备,如硬盘、U 盘等,其主要功能是保存数据,与将独占设备改造为共享设备的概念不相关,所以 A 选项错误。
选项 B:块设备是以数据块为单位进行数据传输和存储的设备,像磁盘就是典型的块设备,它并非针对将独占设备改造为共享设备的类型,所以 B 选项错误。
选项 C:共享设备一般是指本身设计就允许多个用户同时使用的设备,但本题强调的是通过软硬件扩充将原本独占的设备进行改造,“共享” 这个表述没有突出改造这一关键特征,所以 C 选项不准确。
选项 D:虚拟设备是通过软硬件技术,把原本只能由单个用户独占使用的设备(如打印机),改造为能被多个用户共享使用的设备 。比如采用假脱机(SPOOLing)技术,将独占设备模拟成多个逻辑设备供不同用户使用,符合题意,所以 D 选项正确。
3. 单选题 (3 分)
引入缓冲技术的主要目的是 ( )。
A 改善用户编程环境
B 提高 CPU 的处理速度
C 提高 CPU 与设备之间的并行程度
D 降低计算机的硬件成本
3. 答案:C
解析:缓冲技术通过在内存中开辟缓冲区,使得 CPU 和设备之间的数据传输可以异步进行。例如,当设备向 CPU 传输数据时,数据先放入缓冲区,设备可以继续工作,CPU 也可在合适时间从缓冲区取数据,从而提高二者并行程度,而非改善编程环境、提升 CPU 处理速度或降低硬件成本。
4. 单选题 (2 分)
以下 ( ) 属于独占设备。
A 硬盘
B 打印机
C 磁鼓
D 光盘
4. 答案:B
解析:独占设备是指在一段时间内只能由一个进程使用的设备。打印机在打印任务执行期间,不能同时被其他进程使用;硬盘、磁鼓、光盘可通过技术手段实现多个进程并发访问,不属于独占设备。
5. 单选题 (3 分)
以下属于共享设备的是 ( )。
A 打印机
B 用户终端
C 磁盘
D 鼠标器
5. 答案:C
解析:共享设备允许多个进程同时访问。磁盘可通过分时等方式,让多个进程并发读写数据;打印机是独占设备;用户终端和鼠标器主要供用户交互使用,并非共享设备概念中的可被多进程并发访问的设备。
6. 单选题 (3 分)
缓冲技术中的缓冲池在 ( ) 中。
A 主存
B 外存
C ROM
D 寄存器
6. 答案:A
解析:缓冲池是操作系统在主存中开辟的一组缓冲区,用于暂存数据,协调 CPU 与 I/O 设备速度差异等,不在外存、ROM 或寄存器中。
7. 单选题 (2 分)
缓冲区引入有多个原因,下面不属于其主要原因的是 ( )。
A 增加设备的存储空间
B 缓和 CPU 和 I/O 设备间速度不匹配的矛盾
C 减少对 CPU 的中断频率
D 提高 CPU 和 I/O 设备之间的并行性
7. 答案:A
解析:缓冲区主要作用是缓和 CPU 和 I/O 设备速度不匹配、减少 CPU 中断频率、提高 CPU 与 I/O 设备并行性等。其并非为增加设备存储空间,设备存储空间由设备自身硬件决定。
8. 单选题 (3 分)
在联机情况下实现的同时外围操作称为 ( )。
A 重定位
B 对换
C 真脱机技术
D SPOOLing
8. 答案:D
解析:SPOOLing(假脱机)技术是在联机情况下实现的同时外围操作技术,通过软件方式模拟脱机操作,提高独占设备利用率;重定位是程序地址转换相关操作;对换是内存与外存间数据交换;真脱机技术概念不符。
9. 单选题 (2 分)
SPOOLing 技术提高了 ( ) 的利用率
A 文件
B 主存
C 独占设备
D 共享设备
9. 答案:C
解析:SPOOLing 技术将独占设备(如打印机)虚拟成多个逻辑设备,允许多个进程同时使用,提高了独占设备利用率,而非文件、主存或共享设备利用率。
10. 单选题 (3 分)
采用 SPOOLing 技术的目的是 ( )。
A 提高独占设备的利用率
B 提高主机效率
C 减轻用户编程负担
D 提高程序的运行速度
10. 答案:A
解析:SPOOLing 技术核心是把独占设备模拟成共享设备,让多个进程可并发使用,从而提高独占设备利用率,不是为提高主机效率、减轻编程负担或提升程序运行速度。
11. 单选题 (3 分)
假设磁盘有 100 个柱面,编号 0 - 99。磁头当前在 43 柱面。磁盘请求柱面的序列为:38、6、40、2、20、22、10,寻道每移动一个柱面需 10ms,最短寻道优先的总寻道时间为 ( )。
A 141ms
B 41ms
C 1410ms
D 410ms
11. 答案:D
解析:最短寻道时间优先(SSTF)算法下,磁头当前在 43 柱面,请求序列为 38、6、40、2、20、22、10 。与 43 最近的是 40,移动距离为∣43−40∣=3;接着是 38,移动距离∣40−38∣=2;然后是 22,移动距离∣38−22∣=16;再是 20,移动距离∣22−20∣=2;接着是 10,移动距离∣20−10∣=10;然后是 6,移动距离∣10−6∣=4;最后是 2,移动距离∣6−2∣=4。总移动距离为3+2+16+2+10+4+4=41,每移动一个柱面需 10ms,总寻道时间为41×10=410ms。
12. 单选题 (2 分)
磁盘上的文件以 ( ) 为单位读写。
A 盘块
B 记录
C 柱面
D 磁道
12. 答案:A
解析:在磁盘存储中,盘块(也叫簇)是文件读写的基本单位 。记录是文件内部有意义的信息单元;柱面是磁盘上一组同心圆磁道的集合;磁道是磁盘表面上的环形轨道,它们都不是文件读写的基本单位。
13. 单选题 (3 分)
下列算法中,用于磁盘调度的是 ( )。
A 时间片轮转法
B LRU 算法
C 最短寻道时间优先算法
D 优先级高者优先算法
13. 答案:C
解析:时间片轮转法用于进程调度;LRU(最近最少使用)算法用于页面置换等;优先级高者优先算法可用于进程调度等场景;而最短寻道时间优先算法是专门用于磁盘调度,通过优先处理距离当前磁头位置近的 I/O 请求,减少寻道时间。
14. 单选题 (3 分)
在磁盘调度算法中,( ) 算法可能会随时改变移动臂的运动方向。
A 电梯调度和先来先服务
B 先来先服务和最短寻道时间优先
C 单向扫描和先来先服务
D 电梯调度和最短寻道时间优先
14. 答案:B
解析:电梯调度算法(SCAN)磁头在一个方向上移动,遇到请求就服务,直到该方向无请求才改变方向,移动方向不是随时改变;先来先服务算法按照请求到达顺序服务,磁头可能频繁改变方向;最短寻道时间优先算法总是选择离当前磁头最近的请求,也可能随时改变磁头移动方向;单向扫描算法磁头固定一个方向移动,不随时改变方向。所以先来先服务和最短寻道时间优先算法可能随时改变移动臂运动方向。
15. 单选题 (3 分)
下列 ( ) 不是设备的分配方式。
A 独占分配
B 共享分配
C 虚拟分配
D 分区分配
15. 答案:D
解析:独占分配用于分配独占设备,如打印机,在一段时间内只供一个进程使用;共享分配用于共享设备,如磁盘,允许多进程并发访问;虚拟分配通过 SPOOLing 等技术将独占设备虚拟成共享设备;分区分配是内存管理方式,不是设备分配方式。
16. 单选题 (3 分)
应用程序与物理设备无关的特性是 ( )。
A 虚拟设备
B 设备独立性
C 设备安全性
D 设备独享
16. 答案:B
解析:虚拟设备是将独占设备改造为共享设备的技术;设备独立性指应用程序与物理设备无关,应用程序使用逻辑设备名请求 I/O 服务,由操作系统映射到物理设备,实现应用程序与物理设备解耦;设备安全性侧重于设备访问控制等安全方面;设备独享是独占设备的使用特性。所以应用程序与物理设备无关的特性是设备独立性。
17. 单选题 (3 分)
在操作系统中,用户程序申请使用 I/O 设备时,通常采用 ( )。
A 物理设备名
B 逻辑设备名
C 虚拟设备名
D 独占设备名
17. 答案:B
解析:用户程序申请 I/O 设备时,通常采用逻辑设备名 。逻辑设备名是用户视角的设备标识,不依赖于具体物理设备,操作系统会将逻辑设备名映射到实际物理设备;物理设备名是设备硬件标识;虚拟设备名是虚拟设备相关概念;独占设备名是针对独占设备,用户一般不直接用独占设备名申请设备。
18. 单选题 (3 分)
操作系统设置 ( ),用来记录计算机系统所配置的独占设备类型、台数和分配情况。
A 设备控制表
B 控制器控制表
C 通道控制表
D 系统设备表
18. 答案:D
解析:设备控制表(DCT)记录单个设备状态等信息;控制器控制表(COCT)记录控制器相关信息;通道控制表(CHCT)记录通道相关信息;系统设备表(SDT)记录计算机系统中独占设备的类型、台数和分配情况等全局信息。
19. 单选题 (3 分)
设磁盘的 I/O 请求队列中的柱面号分别为 55、58、39、18、90、160、150、38、184,假设磁头的起始位置为 100,若采用 SSTF(最短寻道时间优先)算法,则磁头移动 ( ) 个磁道。
A 55
B 184
C 200
D 248
19. 答案:D
解析:磁头起始位置为 100,请求队列 55、58、39、18、90、160、150、38、184 。SSTF 算法下,与 100 最近的是 90,移动距离∣100−90∣=10;接着是 58,移动距离∣90−58∣=32;然后是 55,移动距离∣58−55∣=3;再是 39,移动距离∣55−39∣=16;接着是 38,移动距离∣39−38∣=1;然后是 18,移动距离∣38−18∣=20;再是 150,移动距离∣18−150∣=132;接着是 160,移动距离∣150−160∣=10;最后是 184,移动距离∣160−184∣=24。总移动距离为10+32+3+16+1+20+132+10+24=248。
20. 单选题 (3 分)
有如下请求磁盘服务的队列,要访问的磁道数分别是:38,55,184,90,58,150,18,39 和 160,试用扫描法分析平均寻道长度为 ()(假设从 100 号磁道,向磁道号增加的方向移动)。
A 26
B 27.8
C 28.8
D 30
20. 答案:B
解析:扫描法(SCAN)下,磁头从 100 号磁道向磁道号增加方向移动。先到 150,移动距离∣150−100∣=50;再到 160,移动距离∣160−150∣=10;接着到 184,移动距离∣184−160∣=24;改变方向后到 90,移动距离∣184−90∣=94;然后到 58,移动距离∣90−58∣=32;接着到 55,移动距离∣58−55∣=3;再到 39,移动距离∣55−39∣=16;然后到 38,移动距离∣39−38∣=1;最后到 18,移动距离∣38−18∣=20。总移动距离为50+10+24+94+32+3+16+1+20=250,请求数为 9,平均寻道长度为250÷9≈27.8。
21. 单选题 (3 分)
通道是一种 ( )。
A I/O 端口
B 数据通道
C I/O 专用处理机
D 软件工具
21. 答案:C
解析:通道是一种 I/O 专用处理机 ,它能独立于 CPU 执行 I/O 通道程序,控制设备与内存间的数据传输,减轻 CPU 负担。I/O 端口是 CPU 与外部设备通信的接口;数据通道是数据传输路径统称;通道不是软件工具。
22. 单选题 (3 分)
用户编制的程序与实际使用的物理设备无关是由 ( ) 功能实现的。
A 设备分配
B 设备驱动
C 虚拟设备
D 设备独立性
22. 答案:D
解析:设备分配负责为进程分配设备资源;设备驱动是控制设备硬件工作的软件;虚拟设备是将独占设备改造为共享设备技术;设备独立性功能使应用程序与实际物理设备无关,通过逻辑设备名请求 I/O,由操作系统映射到物理设备。
23. 单选题 (3 分)
设备分配程序在分配外部设备时的顺序为 ( )。
A 先分配设备,再分配控制器,最后分配通道
B 先分配通道,再分配控制器,最后分配设备
C 直接分配设备
D 先分配设备分配表,再分配设备表
23. 答案:A
解析:设备分配时,先分配设备,确保有可用设备资源;再分配控制器,因为设备需通过控制器操作;最后分配通道,实现设备与内存数据传输通路。所以顺序是先设备,再控制器,最后通道。
24. 单选题 (3 分)
设备管理的主要程序之一是设备分配程序,当进程请求在内存和外设之间传送信息时,设备分配程序分配设备的过程通常是 ( )。
A 先分配设备,再分配控制器,最后分配通道
B 先分配控制器,再分配设备,最后分配通道
C 先分配通道,再分配设备,最后分配控制器
D 先分配通道,再分配控制器,最后分配设备
24. 答案:A
解析:设备分配程序分配设备时,先确定可用设备,再分配控制器来控制设备操作,最后分配通道用于数据传输通路建立,顺序为设备、控制器、通道。
25. 单选题 (3 分)
文件系统的主要目的是 ( )。
A 实现对文件的 “按名存取”
B 实现虚拟存储
C 提高外存的读写速度
D 用于存储系统文件
25. 答案:A
解析:文件系统核心是实现对文件的 “按名存取” ,方便用户管理和访问文件;虚拟存储主要由存储管理模块实现;文件系统虽对读写有一定优化但不是主要目的;文件系统存储各类文件,不只是系统文件。
26. 单选题 (3 分)
操作系统中对文件进行管理的部分叫作 ( )。
A 数据库系统
B 检索系统
C 文件系统
D 数据存储系统
26. 答案:C
解析:数据库系统管理数据库相关操作;检索系统用于信息检索;文件系统是操作系统中负责文件管理部分,包括文件存储、组织、按名存取等;数据存储系统是广义存储数据的系统统称。
27. 单选题 (3 分)
以下不适合于直接存取的外存分配方式是 ( )。
A 连续分配
B 链接分配
C 索引分配
D 都适合
27. 答案:B
解析:连续分配将文件存储在连续物理块中,可直接根据起始块号和块数快速定位,适合直接存取;索引分配通过索引表记录文件块位置,可快速找到对应块,适合直接存取;链接分配文件块通过指针链接,只能顺序访问,不适合直接存取。
28. 单选题 (3 分)
为了解决不同用户文件的命名冲突问题,通常在文件系统中采用 ( )。
A 索引表
B 路径名
C 多级目录
D 单级目录
28. 答案:C
解析:索引表用于记录文件信息等;路径名可标识文件位置但不是解决命名冲突主要方式;多级目录结构通过不同目录层次,不同用户文件可在各自目录下,解决命名冲突;单级目录所有文件在同一目录,易产生命名冲突。
29. 单选题 (3 分)
由一串字符序列组成,文件内的信息不再划分可独立的单位,这是指 ( )。
A 流式文件
B 记录式文件
C 顺序文件
D 链接文件
29. 答案:A
解析:流式文件由字符序列组成,内部不划分独立记录单位;记录式文件由若干记录组成;顺序文件按记录顺序存储;链接文件通过指针链接物理块。
30. 单选题 (3 分)
如果允许不同用户的文件可以具有相同的文件名,通常采用 ( ) 来保证按名存取的安全。
A 重名翻译机构
B 多级目录结构
C 建立指针
D 建立索引表
30. 答案:B
解析:重名翻译机构概念不常见;多级目录结构不同用户文件在不同目录下,可使不同用户文件同名且保证按名存取安全;建立指针一般用于文件物理块链接等;建立索引表用于记录文件相关信息。
31. 单选题 (3 分)
数据库文件的逻辑结构形式是 ( )。
A 流式文件
B 档案文件
C 记录式文件
D 只读文件
31.答案:C
解析:
选项 A:流式文件是由字符序列组成,内部没有明显的记录结构划分 ,通常用于存储无结构的数据,如文本文件等,不太符合数据库文件以记录为基本单元组织数据的特点,所以 A 选项错误。
选项 B:档案文件更多是从文件的用途、管理等角度来定义,并非专门描述数据库文件逻辑结构的常见形式 ,所以 B 选项错误。
选项 C:记录式文件以记录为基本单位来组织数据,数据库文件通常是按照记录来存储和管理数据的,每个记录包含相关的字段信息,符合数据库文件的逻辑结构特征 ,所以 C 选项正确。
选项 D:只读文件是从文件的访问权限角度进行分类的,不是描述文件逻辑结构的类型 ,所以 D 选项错误。
32. 单选题 (3 分)
为了解决不同用户文件的命名冲突问题,通常在文件系统中采用 ( )。
A 约定的方法
B 路径名
C 多级目录
D 索引
32. 答案:C
解析:约定方法不具通用性;路径名用于标识文件位置,不是解决命名冲突核心;多级目录结构通过分层目录,不同用户文件在不同目录空间,解决命名冲突;索引主要用于快速查找文件等,非解决命名冲突主要手段。
33. 单选题 (3 分)
文件系统采用多级目录结构后,对于不同用户的文件,其文件名 ( )。
A 应该不同
B 应该相同
C 可以相同也可以不同
D 受系统约束
33. 答案:C
解析:多级目录结构下,不同用户文件在不同目录,文件名可以相同也可以不同 ,只要在各自目录下唯一即可。
34. 单选题 (3 分)
文件系统采用二级目录结构,这样可以 ( )。
A 缩短访问存储器的时间
B 实现文件共享
C 节省内存空间
D 解决不同用户之间的文件名冲突问题
34. 答案:D
解析:二级目录结构将目录分为主目录和用户目录,不同用户文件在各自目录,可解决不同用户间文件名冲突 。对访问存储器时间、实现文件共享、节省内存空间无直接关联。
35. 单选题 (3 分)
存放在磁盘上的文件 ( )。
A 既可随机,又可顺序访问
B 只能随机访问
C 只能顺序访问
D 不能随机访问
35.答案:A
解析:
选项 A:磁盘文件的存储方式多样。若采用连续分配,文件在磁盘上占据连续的存储块,既可以根据起始地址和块号进行随机访问,也可以按照存储顺序依次进行顺序访问 ;若采用索引分配,通过索引表可以快速定位到文件的各个存储块,实现随机访问,同时也能按一定顺序进行顺序访问。所以存放在磁盘上的文件既可随机,又可顺序访问,A 选项正确。
选项 B:磁盘文件并非只能随机访问,如采用链接分配的文件,虽然随机访问效率较低,但可以按链接顺序进行顺序访问,所以 B 选项错误。
选项 C:磁盘文件不只是能顺序访问,在合适的存储分配方式(如连续分配、索引分配)下,能够实现随机访问,所以 C 选项错误。
选项 D:如上述所说,在连续分配、索引分配等存储方式下,磁盘文件是可以随机访问的,所以 D 选项错误。
总体测试
1. 单选题 (2 分)
一个完整的计算机系统是由 ( ) 组成的。
A 硬件
B 软件
C 硬件和软件
D 用户程序
1.答案:C
解析:
选项 A:硬件是计算机系统的物理基础,如 CPU、内存、硬盘等,但仅有硬件,计算机无法完成各种复杂任务,不能构成完整的计算机系统,所以 A 选项错误。
选项 B:软件包括系统软件(如操作系统)和应用软件(如办公软件),软件赋予计算机功能和灵活性,但没有硬件支撑,软件无法运行,所以 B 选项错误。
选项 C:一个完整的计算机系统由硬件系统和软件系统组成。硬件提供物质基础,软件发挥控制和管理作用,二者缺一不可,所以 C 选项正确。
选项 D:用户程序只是软件的一部分,仅用户程序不能涵盖软件系统,更无法构成完整的计算机系统,所以 D 选项错误。
2. 单选题 (2 分)
以下著名的操作系统中,属于多用户、分时系统的是 ( )。
A DOS 系统
B Windows NT 系统
C OS/2 系统
D UNIX 系统
2.答案:D
解析:
选项 A:DOS 系统是单用户、单任务的操作系统,它主要用于个人计算机,用户一次只能执行一个任务,不支持多用户同时使用,所以 A 选项错误。
选项 B:Windows NT 系统是多用户、多任务的操作系统,但它不是典型的分时系统 。Windows NT 侧重于提供企业级的网络服务和多用户管理功能,其资源分配和调度方式与分时系统有差异,所以 B 选项错误。
选项 C:OS/2 系统是 IBM 推出的操作系统,它主要用于个人计算机,支持多任务处理,但在多用户和分时特性方面并不突出 ,不是典型的多用户分时系统,所以 C 选项错误。
选项 D:UNIX 系统是经典的多用户、分时操作系统。它允许多个用户同时登录系统,系统将 CPU 时间划分为时间片,轮流分配给各个用户进程,实现多个用户对系统资源的共享和分时使用 ,所以 D 选项正确。
3. 单选题 (2 分)
多个进程的实体能存在于同一内存中,在一段时间内都得到运行。这种性质称作进程的 ( )。
A 异步性
B 动态性
C 调度性
D 并发性
3.答案:D
解析:
选项 A:异步性是指进程按各自独立的、不可预知的速度向前推进,强调的是进程执行速度的不确定性,而非多个进程在同一内存中一段时间内都能运行的性质 ,所以 A 选项错误。
选项 B:动态性是指进程具有创建、执行和消亡的生命周期,它体现的是进程的存在形式和状态变化,并非多个进程在内存中同时运行的特性 ,所以 B 选项错误。
选项 C:调度性是指进程会被操作系统按照一定的算法进行资源分配和调度,以决定哪个进程何时获得 CPU 等资源,侧重于资源分配和调度决策,不是描述多个进程在内存中同时存在并运行的性质 ,所以 C 选项错误。
选项 D:并发性是指多个进程在同一时间间隔内都能得到运行,多个进程的实体可以同时存在于内存中,操作系统会轮流为它们分配资源并执行 ,符合题目描述,所以 D 选项正确。
4. 单选题 (2 分)
进程控制块是描述进程状态和特性的数据结构,一个进程 ( )。
A 可以有多个进程控制块
B 可以没有进程控制块
C 只能有唯一的进程控制块
D 可以和其他进程共用一个进程控制块
4.答案:C
解析:
选项 A:进程控制块(PCB)是进程存在的唯一标志,每个进程都有且仅有一个 PCB 来记录其状态、资源分配等信息,不是可以有多个,所以 A 选项错误。
选项 B:进程必须有进程控制块,操作系统通过 PCB 来管理和控制进程,没有 PCB 就无法对进程进行有效管理,所以 B 选项错误。
选项 C:每个进程都对应唯一的进程控制块,操作系统依据这个唯一的 PCB 来识别、调度和管理进程 ,所以 C 选项正确。
选项 D:不同进程的状态和资源需求等都可能不同,需要各自独立的 PCB 来记录,不能共用一个 PCB,所以 D 选项错误。
5. 单选题 (2 分)
并发性是指若干事件在 ( ) 发生。
A 同一时刻
B 不同时刻
C 同一时间间隔内
D 不同时间间隔内
5.答案:C
解析:
选项 A:同一时刻发生的事件称为 “并行” ,比如多核 CPU 中不同核心同时处理不同任务,这是并行的概念,并非并发性,所以 A 选项错误。
选项 B:不同时刻发生的事件没有体现出并发性中多个事件在时间上有重叠、交替进行的特点 ,所以 B 选项错误。
选项 C:并发性是指在同一时间间隔内,多个事件都在发生或推进,这些事件不一定在同一时刻发生,但在给定的时间区间内都有活动 ,所以 C 选项正确。
选项 D:不同时间间隔内发生的事件,无法体现出并发性所强调的多个事件在时间上有一定关联、在同一时间跨度内都有进展的特性 ,所以 D 选项错误。
6. 单选题 (2 分)
设有 5 个进程共享一个互斥段,如果最多允许有 3 个进程同时进入互斥段,则所采用的互斥信号量的初值应是 ( )。
A 3
B 1
C 5
D 0
6.答案:A
解析:
互斥信号量用于控制对互斥资源的访问。其值表示可用资源的数量。
本题中,最多允许 3 个进程同时进入互斥段,这意味着初始时,可供使用的 “进入互斥段” 这个资源数量为 3 ,所以互斥信号量的初值应设为 3。当有进程进入互斥段时,信号量的值减 1;当有进程离开互斥段时,信号量的值加 1 。当信号量的值为 0 时,表示没有剩余的 “进入互斥段” 资源,其他进程需要等待。
综上,答案是 A 选项。
7. 单选题 (2 分)
CPU 的调度分为高级、中级和低级三种,其中低级调度是指 ( ) 调度。
A 作业
B 交换
C 程序
D 进程
7.答案:D
解析:
选项 A:作业调度属于高级调度,它的主要任务是从外存的后备队列中选择合适的作业调入内存,并为其创建进程等,所以 A 选项错误。
选项 B:交换调度属于中级调度,其功能是将暂时不能运行的进程调至外存等待,当条件允许时再调回内存,所以 B 选项错误。
选项 C:程序调度不是 CPU 调度中高级、中级、低级调度分类里的标准术语 ,所以 C 选项错误。
选项 D:低级调度也称为进程调度,它的作用是从就绪队列中选取一个进程,将 CPU 分配给它,使其投入运行,是最基本的 CPU 调度方式 ,所以 D 选项正确。
8. 单选题 (2 分)
在可变分区存储管理中,回收一个分区时,反而使空闲区的个数减 1 的情况是该分区 ( )。
A 既有上邻又有下邻
B 只有上邻
C 只有下邻
D 无上、下邻
8.答案:A
解析:
选项 A:当回收的分区既有上邻又有下邻空闲区时,会将上邻空闲区、回收分区、下邻空闲区合并为一个大的空闲区。原本上邻和下邻是两个空闲区,加上回收的分区,总共是三个区域,合并后变为一个空闲区,空闲区个数就会减 1,所以 A 选项正确。
选项 B:若回收分区只有上邻空闲区,回收时会将上邻空闲区和该回收分区合并为一个空闲区,空闲区个数不变,所以 B 选项错误。
选项 C:若回收分区只有下邻空闲区,回收时会将下邻空闲区和该回收分区合并为一个空闲区,空闲区个数不变,所以 C 选项错误。
选项 D:若回收分区无上、下邻空闲区,回收后会新增一个空闲区,空闲区个数会加 1,所以 D 选项错误。
9. 单选题 (2 分)
在段页式存储管理中,CPU 每次从内存中取一次数据需要 ( ) 次访问内存。
A 3
B 2 或 3
C 2
D 1
9.答案:A
解析:
在段页式存储管理中,地址转换过程如下:
第一次访问内存:CPU 根据段号先访问段表,段表中存放着该段对应的页表起始地址,这是第一次访问内存获取页表相关信息。
第二次访问内存:根据段表中得到的页表起始地址,访问页表,页表中存放着物理块号等信息,这是第二次访问内存。
第三次访问内存:根据页表中得到的物理块号和页内偏移量,计算出物理地址,然后访问内存获取数据,这是第三次访问内存。
所以,CPU 每次从内存中取一次数据需要 3 次访问内存,答案是 A 选项。
10. 单选题 (2 分)
最佳适应算法是空白区是 ( )。
A 按空间大小递减顺序连在一起
B 按空间大小递增顺序连在一起
C 按地址由小到大排列
D 按地址由大到小排列
10.答案:B
解析:
最佳适应算法的目标是从空闲分区中找出最适合作业大小的分区。为了快速找到这样的分区,空闲分区表(空白区)是按空间大小递增顺序连在一起的 。这样,当有作业请求分配内存时,从表头开始查找,就能优先找到满足需求且大小最接近作业大小的空闲分区,从而实现最佳适应的效果。而按空间大小递减顺序(选项 A)、按地址由小到大(选项 C)或由大到小(选项 D)排列,都不能直接满足最佳适应算法快速找到最合适分区的需求。 所以答案是 B 选项。
11. 单选题 (2 分)
SPOOLing 技术提高了 ( ) 的利用率。
A 文件
B 主存
C 独占设备
D 共享设备
11.答案:C
解析:
SPOOLing(Simultaneous Peripheral Operations On - Line,即外部设备联机并行操作)技术,它通过将独占设备(如打印机)虚拟化为共享设备,使多个进程可以 “同时” 使用该设备。在没有 SPOOLing 技术时,独占设备在某一时刻只能被一个进程使用,其他进程需要等待。而采用 SPOOLing 技术后,进程的 I/O 请求被暂存到磁盘缓冲区,设备可以在合适的时候依次处理这些请求,从而提高了独占设备的利用率 。它与文件(选项 A)、主存(选项 B)、共享设备(选项 D)的利用率提升并无直接关联。所以答案是 C 选项。
12. 单选题 (2 分)
单处理机系统中,可并行的是 ( )。Ⅰ. 进程与进程 Ⅱ. 处理机与设备 Ⅲ. 处理机与通道 Ⅳ. 设备与设备
A Ⅰ、Ⅱ、Ⅲ
B Ⅰ、Ⅱ、Ⅳ
C Ⅰ、Ⅲ、Ⅳ
D Ⅱ、Ⅲ、Ⅳ
12.答案:D
解析:
Ⅰ. 进程与进程:在单处理机系统中,同一时刻只能有一个进程占用处理机运行,进程之间不能真正并行,只能通过分时复用处理机实现宏观上的并发,所以 Ⅰ 不可并行。
Ⅱ. 处理机与设备:处理机可以在执行程序指令的同时,设备(如硬盘、打印机等)可以进行数据传输、打印等操作,它们可以同时工作,是并行的。
Ⅲ. 处理机与通道:通道是一种特殊的 I/O 处理器,它可以独立于处理机执行 I/O 操作指令。处理机在执行用户程序时,通道可以同时进行数据的输入输出操作,二者可以并行工作。
Ⅳ. 设备与设备:不同的设备(如硬盘和网卡等)可以同时进行各自的操作,例如硬盘在读取数据的同时,网卡可以接收网络数据,所以设备与设备之间可以并行。
综上,Ⅱ、Ⅲ、Ⅳ 可并行,答案是 D 选项。
13. 单选题 (2 分)
为了缓和 CPU 和 I/O 设备间速度不匹配的矛盾,提高 CPU 和 I/O 设备的并行性,现代操作系统关于 I/O 设备与处理机之间的数据交换几乎都用到了 ( )。
A 临界区
B 缓冲区
C 对换区
D 工作集
13.答案:B
解析:
A 选项:临界区 :临界区是指进程中访问临界资源的那段代码,它主要用于解决进程同步与互斥问题,防止多个进程同时访问共享资源而产生冲突,并非用于缓和 CPU 和 I/O 设备速度不匹配的问题,所以 A 选项错误。
B 选项:缓冲区 :缓冲区是在内存中开辟的一块存储区域。当 CPU 和 I/O 设备进行数据交换时,由于二者速度差异大,缓冲区可以暂存数据。例如,当 I/O 设备向 CPU 传输数据时,先将数据存入缓冲区,CPU 再从缓冲区读取,这样就可以使 CPU 和 I/O 设备在一定程度上并行工作,有效缓和了速度不匹配的矛盾 ,所以 B 选项正确。
C 选项:对换区 :对换区是在磁盘上划分出的区域,用于在内存空间紧张时,暂时将部分进程或数据换出到磁盘,以腾出内存空间,主要与内存管理和进程调度相关,和缓解 CPU 与 I/O 设备速度矛盾关系不大,所以 C 选项错误。
D 选项:工作集 :工作集是指在某段时间间隔内,进程实际要访问的页面集合,主要用于内存管理中的页面置换算法等,与缓和 CPU 和 I/O 设备间速度不匹配问题无关,所以 D 选项错误。
14. 单选题 (2 分)
通道是一种 ( )。
A 保存 I/O 信息的部件
B 传输信息的电子线路
C 通用处理机
D 专用处理机
14.答案:D
解析:
A 选项:通道不是单纯保存 I/O 信息的部件,保存 I/O 信息可由缓冲区等完成,所以 A 选项错误。
B 选项:传输信息的电子线路一般指总线等,通道并非单纯的电子线路,所以 B 选项错误。
C 选项:通用处理机可处理多种类型任务,如进行数值计算、逻辑运算等。而通道是专门用于管理和控制 I/O 设备进行数据传输的,功能相对单一,不是通用处理机 ,所以 C 选项错误。
D 选项:通道是一种专用处理机,它能独立于 CPU 执行 I/O 指令,对 I/O 设备进行控制和管理,实现 CPU 与 I/O 设备之间的并行操作,所以 D 选项正确。
15. 单选题 (2 分)
操作系统中有一组特殊的程序,它们不能被系统中断,在操作系统中称为 ( )。
A 初始化程序
B 原语
C 子程序
D 控制模块
15.答案:B
解析:
选项 A:初始化程序主要用于系统启动时对硬件设备、软件环境等进行初始化设置,它不是不可被中断的特殊程序,所以 A 选项错误。
选项 B:原语是由若干条机器指令构成的,用于完成特定功能的一段程序,具有原子性,即这段程序在执行过程中不允许被中断,要么全部执行完成,要么完全不执行,符合题目描述 ,所以 B 选项正确。
选项 C:子程序是可以被其他程序调用执行特定功能的程序段,它在执行过程中可以被中断,所以 C 选项错误。
选项 D:控制模块是操作系统中负责特定功能控制的程序模块,并非具有不可中断特性的程序,所以 D 选项错误。
16. 单选题 (2 分)
进程的基本状态 ( ) 可以由其他两种基本状态转变而来。
A 就绪状态
B 执行状态
C 阻塞状态
D 新建状态
16.答案:A
解析:
进程有就绪、执行、阻塞三种基本状态 。
就绪状态:处于执行状态的进程,当时间片用完会回到就绪状态;处于阻塞状态的进程,当等待的事件完成(如 I/O 操作结束),会进入就绪状态。所以就绪状态可由执行状态和阻塞状态转变而来。
执行状态:只能由就绪状态转变而来,当调度程序选中一个就绪进程,该进程进入执行状态 ,不能由阻塞状态直接转变为执行状态。
阻塞状态:通常是执行状态的进程因等待某事件(如 I/O 操作、信号量等)而转变为阻塞状态,不能由就绪状态直接转变为阻塞状态。
新建状态:不属于进程的三种基本状态 。
综上,答案是 A 选项。
17. 单选题 (2 分)
采用分页存储管理方式进行存储分配时产生的存储碎片,被称为 ( )。
A 外零头
B 内零头
C 外零头或内零头
D A、B、C 都正确
17.答案:B
解析:
内零头:在分页存储管理中,一个作业被划分成若干个页,最后一页往往不能被完全填满,这部分未被利用的空间就是内零头。它是在一个存储单元(页)内部产生的碎片 。
外零头:是在可变分区存储管理中,由于分区的不断划分和回收,导致在各个分区之间产生的一些无法利用的小空闲分区,这些小空闲分区就是外零头,与分页存储管理无关。
所以采用分页存储管理方式进行存储分配时产生的存储碎片是内零头,答案是 B 选项。
18. 单选题 (2 分)
用信箱实现进程间互通信息的通信机制要有两个通信原语,它们是 ( )。
A 发送原语和执行原语
B 就绪原语和执行原语
C 发送原语和接收原语
D 就绪原语和接收原语
18.答案:C
解析:
在利用信箱进行进程间通信时:
发送原语:用于一个进程将消息发送到指定的信箱中,是信息发出的操作原语。
接收原语:用于另一个进程从信箱中获取消息,是信息接收的操作原语。
而就绪原语是使进程从等待资源状态变为就绪状态;执行原语一般不是进程间通信的标准原语。所以实现信箱通信机制的两个原语是发送原语和接收原语,答案选 C。
19. 单选题 (4 分)
在某个请求分页存储系统中,已知页面大小为 1024。现有一进程,其页表如下:
页号
块号
状态
0
3
1
1
2
1
2
4
1
3
—
0
4
—
0
其中,状态位为 1 表示该页在内存,为 0 表示不在内存。若给定一逻辑地址为 2148,其物理地址为 ( )
A 2148
B 3172
C 4196
D 发生缺页中断答案:C
20. 单选题 (3 分)
在某个请求分页存储系统中,已知页面大小为 1024。现有一进程,其页表如下:
页号
块号
状态
0
3
1
1
2
1
2
4
1
3
—
0
4
—
0
其中,状态位为 1 表示该页在内存,为 0 表示不在内存。若给定一逻辑地址为 5000,其物理地址为 ( )
A 2148
B 3172
C 4196
D 发生缺页中断![]()
21. 单选题 (3 分)
某计算机系统中有 8 台打印机,有 K 个进程竞争使用,每个进程最多需要 3 台打印机。该系统可能会发生死锁的 K 的最小值是 ( )。
A 2
B 3
C 4
D 5
21.答案:C
解析:1.分析死锁发生的条件:
为了分析可能发生死锁时进程数量 K 的最小值,我们先考虑最不利的情况,即每个进程都拿到尽可能多但又不足以完成任务(获取到最大需求数)的资源,同时剩余资源不足以满足任何一个进程的需求,此时就会发生死锁。
已知每个进程最多需要3台打印机,我们假设每个进程先都拿到2台打印机,此时如果再有1台打印机,就可以满足其中一个进程的需求,使其完成任务并释放资源,系统就不会死锁。2.计算进程数量:
设进程数量为K,当每个进程都有2台打印机时,总共分配出去2K台打印机,此时若再分配1台打印机就不会死锁,也就是当打印机总数为8台时,满足2K+1>8 时系统不会死锁,那么2K≥8 时系统就可能死锁。
解不等式2K=8,可得K=4。即当K=4时,每个进程分配2台打印机,共分配4×2=8台打印机,此时没有剩余打印机,系统就处于可能发生死锁的状态(因为每个进程都还需要1台打印机才能完成任务,但已无可用打印机) 。所以该系统可能会发生死锁的K的最小值是4,答案是 C 选项。22. 单选题 (4 分)
在一个请求分页系统中,假定系统分给一个作业的物理块数为 3,并且此作业的页面走向为 2,3,2,1,5,2,4,5,3,2,5,2。采用 FIFO(先进先出页面置换算法)的缺页率为 ( )。
A 58.33%
B 66.67%
C 75%
D 83.33%
22.答案:C
23. 单选题 (4 分)
在一个请求分页系统中,假定系统分给一个作业的物理块数为 3,并且此作业的页面走向为 2,3,2,1,5,2,4,5,3,2,5,2。采用 LRU(最近最久未使用页面置换算法)的缺页率为 ( )。
A 58.33%
B 66.67%
C 75%
D 83.33%23.答案A
24. 单选题 (3 分)
A、B、C、D、E 5 个作业的到达时间分别为 0、2、4、6、8,它们要求 CPU 服务时间分别为 3、6、4、5、2,短作业优先平均周转时间为 ( )。
A 7.6
B 8.2
C 8.6
D 8.924.答案A
时刻0,作业A到达,A执行,A周转时间TA=3−0=3。
时刻3,作业B(到达时间2,服务时间6)、C(到达时间4,服务时间4)、D(到达时间6,服务时间5)、E(到达时间8,服务时间2),此时只有B到达,B执行,B周转时间TB=(3+6)−2=7。
时刻9,C(到达时间4,服务时间4)、D(到达时间6,服务时间5)、E(到达时间8,服务时间2),E服务时间最短且已到达,E执行,E周转时间TE=(9+2)−8=3。
时刻11,C(服务时间4)、D(服务时间5),C服务时间短,C执行,C周转时间TC=(11+4)−4=11。
时刻15,D执行,D周转时间TD=(15+5)−6=14。
平均周转时间=53+7+3+11+14=38/5=7.6
所以答案是 A 选项。
25. 单选题 (3 分)
设有 3 个作业,它们的到达时间和运行时间如下表所示,并在一台处理机上按单道方式运行。如按响应比高者优先算法,则作业执行的次序是 ( )。
作业
到达时间
运行时间
1
8:00
2 小时
2
8:30
1 小时
3
9:30
0.25 小时
A J1,J2,J3
B J1,J3,J2
C J2,J3,J1
D J3,J2,J125.B
![]()
所以作业执行的次序是J1,J3,J2,答案是 B 选项。
26. 单选题 (3 分)
设内存的分配情况如下图所示。若要申请一块 40K 字节的内存空间,若采用最佳适应算法,则所得到的分区首址为 ( )。
内存地址
状态
0 - 100K
占用
100K - 180K
空闲
180K - 190K
占用
190K - 280K
空闲
280K - 330K
占用
330K - 390K
空闲
390K - 410K
占用
410K - 512K
空闲
A 100K
B 190K
C 330K
D 410K26.C
明确最佳适应算法原理
最佳适应算法是从空闲分区表中找到能满足作业需求的最小分区,这样可以保证剩下的空闲分区尽量大,以便后续能更好地满足其他作业需求。分析各空闲分区情况
空闲分区有:100K−180K(大小为80K)、190K−280K(大小为90K)、330K−390K(大小为60K)、410K−512K−1(大小为102K)。
要申请40K字节的内存空间,在这些空闲分区中,330K−390K这个空闲分区大小为60K,相对其他空闲分区是能满足需求且大小最接近40K的。所以采用最佳适应算法,所得到的分区首址为330K。
答案是 C 选项。
27. 单选题 (4 分)
对于移动头磁盘,假设磁头现在位于 25 号磁道上(并向磁道号变小的方向移动),且基于磁道号的磁盘访问请求序列(按提出时间的先后次序排列)为 39、62、18、28、100、130、90。采用最短寻道时间优先调度算法的平均寻道时间为 ( )。
A 17.86
B 17
C 23
D 2227.答案A
解析
1.理解最短寻道时间优先(SSTF)算法
最短寻道时间优先算法是指优先为距离当前磁头位置最近的磁道请求服务。因为磁头当前在 25 号磁道且向磁道号变小方向移动。2.确定服务顺序及寻道距离
1.首先看离 25 号磁道最近的请求磁道,在 39、62、18、28、100、130、90 这些请求中,28 号磁道距离 25 号磁道最近(距离为∣28−25∣=3 ),所以先服务 28 号磁道。
2.服务完 28 号磁道后,此时剩下的请求中 18 号磁道距离最近,寻道距离为∣18−28∣=10 。
3.接着,在剩余请求里 39 号磁道距离当前磁头位置最近,寻道距离是∣39−18∣=21 。
4.之后,62 号磁道距离最近,寻道距离为∣62−39∣=23 。
5.再之后,90 号磁道距离最近,寻道距离为∣90−62∣=28 。
6.接着,100 号磁道距离最近,寻道距离为∣100−90∣=10 。
7.最后,130 号磁道距离最近,寻道距离为∣130−100∣=30 。
3.计算平均寻道时间
总寻道距离为 3+10+21+23+28+10+30=125 。
磁盘访问请求数为 7 个。
根据平均寻道时间公式:平均寻道时间 = 总寻道距离 ÷ 请求数,即125÷7≈17.86 。所以采用最短寻道时间优先调度算法的平均寻道时间为 17.86,答案是 A 选项。
28.单选题(3 分)
如果 3 个进程共享一个互斥段,每次最多可以允许 2 个进程进入互斥段,则信号量的变化范围是 ( )。
A 2、1、0、-1
B 3、2、1、0
C 2,1、0、-1,-2
D 1、0、-1,-228.A
信号量机制与互斥段访问规则
信号量是一种用于进程同步的机制,其值的变化反映了可用资源的数量或允许同时进入临界区(互斥段)的进程数量。在本题中,互斥段最多允许 2 个进程同时进入,因此信号量的初始值应设为 2。
信号量变化过程分析
初始状态:信号量初始值为 2,表示允许 2 个进程同时进入互斥段。此时没有进程进入,信号量值为 2。
1 个进程进入:第一个进程请求进入互斥段,信号量减 1,变为 1。此时仍允许 1 个进程进入。
2 个进程进入:第二个进程请求进入互斥段,信号量再减 1,变为 0。此时互斥段已满,不再允许新进程进入。
3 个进程请求:第三个进程请求进入时,由于信号量为 0,该进程被阻塞,信号量减 1 变为 - 1。此时有 1 个进程在等待。
进程离开:当某个进程离开互斥段时,信号量加 1。如果有等待的进程,则唤醒一个,信号量继续反映可用资源数或允许进入的进程数。
信号量的取值范围
最大值:初始值 2(无进程进入时)。
最小值:当 3 个进程都请求进入,而最多只能有 2 个进程进入时,会有 1 个进程被阻塞,信号量为 - 1。
因此,信号量的变化范围是 2、1、0、-1,对应选项 A。
答案:A
29. 判断题(2 分)
从资源管理的角度来说,操作系统是控制和管理计算机的软、硬件资源,合理地组织计算机的工作流程,以方便用户使用的程序的集合。( )
正确
错误
29.答案:正确。
解析:从资源管理视角,操作系统具有多方面功能。在硬件资源管理上,像对 CPU 进行进程调度,合理分配运行时间;管理内存空间,进行内存分配与回收等。在软件资源管理方面,管理文件系统,包括文件的存储、检索、保护等。同时,它通过合理组织工作流程,协调各部件工作,为用户提供操作计算机的接口,方便用户使用计算机资源 ,所以该表述正确。
30. 判断题(2 分)
P、V 操作属于低级通信原语。( )
正确
错误
答案:正确。
30.解析:P、V 操作是由荷兰学者 Dijkstra 提出的用于实现进程同步与互斥的原语。P 操作表示申请资源,V 操作表示释放资源。它们只能传递简单的信号(如资源是否可用) ,无法在进程间传递大量有意义的数据。相比高级通信原语(如消息传递、共享内存等能实现大量数据交换的方式) ,P、V 操作功能相对简单,所以属于低级通信原语。
31. 判断题(2 分)
随着进程的撤消,程序也随之消亡。( )
正确
错误
31 题
答案:错误
解析:进程是程序的一次执行过程。进程撤消时,只是该次执行结束,程序作为指令集合仍可被其他进程调用执行,不会因进程撤消而消亡 。
32. 判断题(2 分)
如果信号量 S 的当前值为 - 10,则表示系统中共有 10 个进程。( )
正确
错误
32 题
答案:错误
解析:信号量 S 值为 - 10 ,表示有 10 个进程在等待该信号量对应的资源,而非系统中共有 10 个进程 。
33. 判断题(2 分)
同步机制应遵循准则中的让权等待的 “权” 指的是临界区。( )
正确
错误
33 题
答案:错误
解析:让权等待的 “权” 指的是 CPU 使用权,即当进程不能进入临界区时,应释放 CPU,避免忙等待 。
34. 判断题(2 分)
临界区是进程中访问临界资源的那段代码。( )
正确
错误
34 题
答案:正确。
解析:临界资源是一次仅允许一个进程访问的资源 。而临界区是进程中用于访问临界资源的那部分代码。当一个进程进入临界区访问临界资源时,其他进程不能同时进入该临界区访问同一临界资源,以此保证对临界资源访问的互斥性。所以该表述正确。
35. 判断题(2 分)
在磁盘调度算法中,最短寻道时间优先算法会出现饥饿现象。( )
正确
错误
35 题
答案:正确。
解析:最短寻道时间优先(SSTF)算法总是优先选择距当前磁头位置最近的磁道请求进行服务。当新的离磁头近的请求不断到来时,那些离磁头远的请求可能长时间得不到服务,导致其等待时间无限延长,这种现象就是饥饿现象。所以 SSTF 算法会出现饥饿现象,该表述正确。
36. 判断题(2 分)
分段存储管理的目的是提高内存利用率,而分页存储管理的目的是满足用户的编程要求。( )
正确
错误
答案:错误。
36.解析:分页存储管理将内存划分成大小相等的页框,程序也被划分成相应大小的页面,主要目的是提高内存利用率 ,通过离散分配内存,减少内存碎片。分段存储管理是按照程序的逻辑结构(如代码段、数据段等)进行分段,目的是满足用户编程和使用上的要求,方便程序的模块化设计、共享和保护等。所以题目表述将两者目的颠倒了,说法错误。
37. 判断题(2 分)
某进程的逻辑地址表示如下:
15 12
11
0
页号 p
位移量 w
该进程最多可划分 16 个页,每页大小为 4K。( )
正确
错误
答案:正确。
37.解析:
页的数量:页号占 4 位(15 - 12 ),根据公式,页的数量为 2n(n 为页号所占位数) ,所以 24=16 ,即该进程最多可划分 16 个页。
每页大小:位移量占 12 位(11 - 0 ),表示页内偏移地址的位数。每页大小为 212 字节,因为 210=1K ,所以 212=210×22=4K 字节 。
综上,该说法正确。38. 判断题(2 分)
最佳置换算法的性能最好,所以现代操作系统中多采用该算法。( )正确
错误
38.答案:错误。
解析:最佳置换算法(OPT)确实性能最优,它是选择未来最长时间内不再被访问的页面予以置换,理论上能使缺页率最低。但该算法在实际运行环境中难以实现,因为它需要预先知道进程未来的页面访问序列,这在实际系统中是无法提前获取的。现代操作系统中多采用诸如先进先出(FIFO)、最近最少使用(LRU)等可实现的页面置换算法 。所以题目中说现代操作系统多采用最佳置换算法是错误的。
39. 判断题(2 分)
设备独立性是指用户程序中使用的设备与具体物理设备无关。( )·正确
·错误
39.答案:正确。
解析:设备独立性也称为设备无关性,其核心思想是用户程序使用逻辑设备名来请求 I/O 操作,而不涉及具体的物理设备。操作系统负责将逻辑设备名映射到实际的物理设备上,这样一来,用户程序无需关心实际使用的是哪一个具体物理设备,提高了程序的可移植性和设备管理的灵活性。所以该表述正确。
40. 判断题(2 分)
假设磁盘有 100 个柱面,编号 0—99。当前正在处理 45 柱面的请求。磁盘请求的柱面按 40、8、42、4、22、24、12 的次序到达磁盘驱动器,寻道每移动一个柱面需 10ms,利用循环扫描调度算法总共花费的寻找时间为 410ms 。( )
正确
错误
40.答案:错误。
解析
1. 循环扫描(CSCAN)调度算法原理
循环扫描调度算法是单向扫描的磁盘调度算法。它在一个方向上依次处理请求,处理完该方向上的所有请求后,磁头快速返回到磁盘的另一端,然后重复此过程。这里假设磁头向柱面号减小的方向移动。
2. 计算寻道过程
·当前磁头在 45 柱面,请求序列为 40、8、42、4、22、24、12 。
·按照 CSCAN 算法且向柱面号减小方向移动,磁头先移动到 40 柱面,移动距离为 ∣45−40∣=5 ;再从 40 移动到 8 ,移动距离为 ∣40−8∣=32 ;从 8 移动到 4 ,移动距离为 ∣8−4∣=4 ;从 4 移动到 12 ,移动距离为 ∣4−12∣=8 ;从 12 移动到 22 ,移动距离为 ∣12−22∣=10 ;从 22 移动到 24 ,移动距离为 ∣22−24∣=2 ;从 24 移动到 42 ,移动距离为 ∣24−42∣=18 。
·总移动距离为 5+32+4+8+10+2+18=79 。
3. 计算寻道时间
已知寻道每移动一个柱面需 10ms ,则总寻道时间为 79×10=790ms ,并非 410ms ,所以该说法错误。
41. 判断题(2 分)
磁盘存储器的一次存取时间包括搜查定位时间和旋转延迟时间。( )
·正确
·错误
41 题
答案:错误
解析:磁盘存储器一次存取时间包括寻道时间、旋转延迟时间和数据传输时间 ,不只是搜查定位时间(寻道时间)和旋转延迟时间。
42. 判断题(2 分)
进程的基本状态转换中可以从阻塞直接到运行状态。( )
·正确
·错误
42 题
答案:错误
解析:进程从阻塞状态需先转换到就绪状态,等待 CPU 调度,才能进入运行状态,不能直接从阻塞到运行 。
43. 判断题(2 分)
最近最久未使用置换算法会出现 Belady 异常。( )
·正确
·错误
43 题
答案:错误
解析:Belady 异常出现在先进先出(FIFO)置换算法中,最近最久未使用(LRU)算法不会出现 ,因其依据页面近期使用情况置换。
信号量习题
1.(考研真题,单项选择题)若记录型信号量S的初值为15,当前值为-15,则表示有( )等待进程。
A. 15个 B. 30个 C. 16个 D. 31个
【参考答案】A
【解析】当S值小于0时,绝对值表示阻塞队列中进程的个数。
2.(考研真题,单项选择题)设与某资源相关联的信号量初值为3,当前值为1,若M表示该资源的可用个数,N表示等待资源的进程数,则M、N分别是( )。
A. 0、1 B. 1、0 C. 1、2 D. 2、0
【参考答案】B
【解析】根据信号量的物理含义:S.value>0时表示有S.value个资源可用;S.value=0表示无资源可用;S.value<0则S.value的绝对值表示等待队列中的进程个数。信号量的当前值为1,则表示该资源的可用个数为1,没有等待该资源的进程。
3.(考研真题,单项选择题)如果3个进程共享一个互斥段,每次最多可以允许2个进程进入互斥段,则信号量的变化范围是( )。
A. 2、1、0、-1 B. 3、2、1、0
C. 2,1、0、-1,-2 D. 1、0、-1,-2
【参考答案】A
【解析】最多允许2个进程进入互斥段,初始值则为2,因为每个进程进去时都先要行P操作,然后判断信号量的值是否大于0,不是则表示当前互斥段内已经有2个进程,当第3个进程再执行P操作时,信号量值为-1,该进程阻塞。
4.(考研真题)15个进程共享同一程序段,而每次最多允许4个进程进入该程序段,若用P、V操作同步机制,则记录型信号量S的取值范围为( )。
【参考答案】-11≤S≤4
【解析】每次最多允许4个进程进入该程序段,则信号量S的初值设置为4,每一个进程执行P操作后,S的值会减1,最多15个进程,最多执行15次,S的值最小为4-15=-11。
5.(考研真题)对下面用类Pascal语言描述的读者写者问题,请填入正确的wait()、signal()操作。
【参考答案】
A:wait(wmutex); //禁止写者写。
B:signal(rmutex); //释放信号,让其他读者进来。
C:wait(rmutex); //保证读者互斥使用readcount变量。
D:signal(wmutex); //释放写互斥信号,可以让其他写者或读者进入。
E:wait(wmutex); //禁止其他写者进来。
这段代码实现了读者优先的读者 - 写者问题解决方案,关键在于通过信号量控制对共享资源的访问。以下是对各空的详细解析:
A: wait(wmutex)
当第一个读者进入时(readcount=0),需要获取wmutex信号量。这一步的作用是阻止写者进入,确保在有读者活跃时,写者无法执行写操作。一旦有读者持有wmutex,后续写者必须等待所有读者退出后才能执行。
B: signal(rmutex)
在增加readcount后,读者释放rmutex信号量。这允许其他读者同时进入,因为多个读者可以并行读取共享资源,无需互斥。rmutex的作用仅限于保护对readcount的修改,而非阻止其他读者。
C: wait(rmutex)
在执行读操作后,读者需要再次获取rmutex,以互斥地修改readcount。这确保在减少readcount时不会发生竞态条件,保证计数器的正确性。
D: signal(wmutex)
当最后一个读者退出时(readcount减为 0),释放wmutex信号量。这允许等待的写者进入,恢复写操作的可能性。只有当所有读者都退出后,写者才能获得wmutex并执行写操作。
E: wait(wmutex)
写者在执行写操作前必须获取wmutex。这确保写操作的互斥性,即同一时间只能有一个写者访问共享资源。写者完成后通过signal(wmutex)释放信号量。
读者 - 写者问题的核心逻辑
1.读者优先策略:
只要有读者在读,后续读者可以直接进入,无需等待。
写者必须等待所有读者退出后才能执行。
2.信号量分工:
rmutex:保护对readcount的互斥访问,确保计数器操作的原子性。
wmutex:控制写操作的互斥性,同时在第一个读者进入时阻止写者。
3.执行流程:
读者:获取rmutex → 修改readcount → 释放rmutex → 执行读操作 → 再次获取rmutex → 修改readcount → 释放rmutex(若为最后一个读者,还需释放wmutex)。
写者:获取wmutex → 执行写操作 → 释放wmutex。
通过这种机制,代码实现了读者优先的同步策略,平衡了读者和写者的访问需求。
算法设计题
1.(考研真题-前驱图)有4个进程P1、P2、P3、P4。要求P1必须在P2、P3开始前完成,P2、P3必须在P4开始前完成,且P2和P3 不能并发执行。试写出这4个进程的同步互斥算法。
1.【参考答案】建立4个信号量a、b、c、d和1个供P2、P3互斥的信号量mutex,画出前趋图如图所示,两个进程之间的小箭头上的变量表示信号量。
semaphore a = 0, b = 0, c = 0, d = 0; semaphore mutex = 1; cobegin // 进程 P1:执行后释放信号量 a 和 b { P1; signal(a); signal(b); } // 进程 P2:等待 a 并获取互斥锁后执行,然后释放 c { wait(a); wait(mutex); // 修正拼写错误:wai → wait P2; signal(c); signal(mutex); } // 进程 P3:等待 b 并获取互斥锁后执行,然后释放 d { wait(b); wait(mutex); P3; signal(d); signal(mutex); } // 进程 P4:等待 c 和 d 都就绪后执行 { wait(c); wait(d); P4; } coend
2.(考研真题-读者写者)假设有一个路口,通行交通规则如下:只要没有机动车在通行,路口行人就可以通过,只有没有行人在通过路口且没有其他机动车在通过路口时该机动车才能通过。请用P、V操作描述行人和机动车通过路口的同步互斥过程。
1.信号量与计数器:
road 信号量控制路口资源,确保行人或机动车互斥使用
rmutex 信号量保护 count 变量,防止多行人并发修改导致竞态条件
count 记录当前通过路口的行人数量
2.行人进程逻辑:
第一个行人通过时会占用路口 (P(road))
后续行人直接进入,无需再次申请路口资源
最后一个行人离开时释放路口 (V(road))
3.机动车进程逻辑:
每次通过前必须申请路口资源
通过后立即释放路口资源
4.同步机制:
当有行人正在通过时 (count > 0),机动车需等待
当无行人时,机动车可直接通过
行人之间可并发通过,提高路口利用率
这种实现方式体现了 "行人优先" 的设计原则,确保在行人存在时机动车需等待,而行人可以连续通过直至全部离开。
3.(考研真题-生产者消费者)系统中有多个生产者进程和消费者进程,共享用一个可以存1000个产品的缓冲区(初始为空),当缓冲区未满时,生产者进程可以放入1件其生产的产品,否则等待;当缓冲区不空时,消费者进程可以取走1件产品,否则等待。要求1个消费者进程从缓冲区连续取出10件产品后,其他消费者进程才可以取产品,请用信号量P,V(或wait()、signal())操作实现进程间的互斥和同步,要求写出完整的过程;并指出所用信号量的含义和初值。
3.【参考答案】生产者与消费者之间设互斥信号量mutex,消费者之间设互斥信号量 consumermutex。上述进程的同步问题,要设置3个信号量。其中empty对应空闲的缓冲单元,初值为1000;full对应缓冲区中待取走的产品数,初值为0;另外,还须定义2个整型变量in、out,初值均为0,分别指示下一个可存放产品的缓冲单元、下一个取走的缓冲单元。过程如下:
buffer array [1000]; //存放产品的缓冲区 buffer nextp; //用于临时存放生产者生产的产品 buffer nextc [10]; //用于临时存放消费者取出的产品 semaphore empty=1000; //空缓冲区的数目 semaphore full=0; //满缓冲区的数目 semaphore mutex1=1; //用于生产者与消费者之间的互斥 semaphore consumermutex =1; //用于消费者之间的互斥 int in=0; //指示生产者的存位置 int out=0; //指示消费者的取位置 void consumer(){ while(true){ //消费者之间互斥,所以用consumermutex来保护起来 wait(consumermutex); //进行取10个产品操作 for(int i=0; i<10; i++){ wait(full); wait(mutex);//取产品和放产品互斥,用mutex nextc[i]=array[out]; //将产品取出,存于临时缓冲区 out = (out+1)%1000;//注意这里的模运算 signal(mutex); signal(empty); } signal(consumsermutex); } } void producer(){ while(true){ wait(empty); wait(mutex); 生产一个产品; buffer[in] = nextp;//把产品放入缓冲区 in = (in+1)%1000; signal(mutex); signal(full); } } void main(){ cobegin consumer(); producer(); coend }
4.(考研真题)两个进程 P1、P2并发执行,并用信号量M1,M2分别实现对两个互斥共享的资源R1和R2的互斥访问。这两个进程以什么次序执行会导致死锁?在不影响程序功能的情况下,请修改算法以防止死锁,同时尽可能保持较高的资源利用率。
4.【参考答案】本题分步解答如下。
(1)当进程P1执行了wait(M1),在执行wait(M2)未成功的情况下,若P2成功执行wait(M2)操作,会出现P1因等待M2阻塞,P2因等待M1阻塞,产生死锁。
(2)解除死锁方法之一是先让两个进程去争夺M1,抢到M1的进程才给它抢 M2。这样保证了P1、P2两个进程不论谁先抢到M1,都可以得到M2而顺利运行。
5.(考研真题-哲学家进餐问题)有n(n≤3)位哲学家围坐在一张圆桌边,每位哲学家交替地就餐和思考。在圆桌中心有m(m≥1)个碗,每两位哲学家之间有1根筷子。每位哲学家必须取到一个碗和两侧的筷子之后,才能就餐,进餐完毕,将碗和筷子放回原位,继续思考。为使尽可能多的哲学家同时就餐,且防止出现死锁现象,请使用信号量的P、V(或 wait()、signal())操作描述上述过程中的互斥与同步,并说明所用信号量及初值的含义。
5. 解析:本题可以用碗这个限制资源来避免死锁:当碗的数量m小于哲学家的数量n时,可以直接让碗的资源量等于m,确保不会出现所有哲学家都拿一侧筷子而无限等待另一侧筷子进而造成死锁的情况;当碗的数量m大于等于哲学家数量n时,为了让碗起到同样的限制效果,我们让碗的资源量等于n-1,这样就能保证最多只有n-1名哲学家同时进餐,所以得到碗的资源量为min{n-1,m}。在进行P、V操作时,碗的资源量起限制哲学家取筷子的作用,所以需要先对碗的资源量进行P操作。
【参考答案】
处理机调度计算题
1.(考研真题,单项选择题)假设4个作业到达系统的时刻和运行时间如表所示。
作业
到达时刻t
运行时间
J1
0
3
J2
1
3
J3
1
2
J4
3
1
系统在t=2时开始作业调度。若分别采用先来先服务和短作业优先调度算法,则选中的作业分别是( )。
A.J2、J3 B.J1、J4 C.J2、J4 D.J1、J3
【参考答案】D
【解析】先来先服务调度算法是作业来得越早,优先级越高,因此会选择J1。短作业优先调度算法是作业运行时间越短,优先级越高,因此会选择J3。
2.(考研真题)有以下的进程需要调度执行(见表3-1-1),若用非抢占式短进程优先调度算法,问这5个进程的平均周转时间是多少?
表3-1-1 进程运行时间表
进程名
到达时间
运行时间
P1
0.0
9
P2
0.4
4
P3
1.0
1
P4
5.5
4
P5
7
2
【参考答案】本题分步解答如下。
(1)采用非抢占式短进程优先调度算法,各进程执行次序如图所示。
在0时刻,进程P1到达,P1获得处理机。由于不可抢占,所以P1会一直运行到9时刻结束;在9时刻,所有进程到达,根据短进程优先调度,P3获得处理机,然后是P5;P2和P4的预计运行时间一样,P2和P4按照先来先服务原则调度,P2优先获得处理机,最后P4运行。
(2)周转时间=完成时间-作业到达时间。因此P1的周转时间是9-0=9,P2的周转时间是16-0.4=15.6,P3的周转时间是10-1=9,P4的周转时间是20-5.5=14.5,P5的周转时间是12-7=5。平均周转时间为(9+15.6+9+14.5+5)/5=10.62。
3.(考研真题)5个进程P1、P2、P3、P4、P5几乎同时到达,预期运行时间分别为10、6、2、4、8个时间单位。各进程的优先级分别为3、5、2、1、4(数值越大,优先级越高)。请按下列调度算法计算任务的平均周转时间(进程切换开销可忽略不计)。
(1)先来先服务(按P1、P2、P3、P4、P5顺序)算法。
(2)时间片轮转算法,假定时间片大小为2个时间单位。
(3)优先权调度算法。
【参考答案】根据算法思想,确定调度先后顺序。
(1)FCFS调度顺序如图所示。
(2)时间片轮转调度顺序如图所示。
(3)优先权调度算法的调度顺序如图所示。
于是,可以得到如表所示的结果。
算法
时间类型
P1
P2
P3
P4
P5
平均
运行时间
10
6
2
4
8
FCFS
周转时间
10
16
18
22
30
19.2
带权周转时间
1
2.67
9
5.5
3.75
4.384
RR
周转时间
30
22
6
16
28
20.4
带权周转时间
3
3.67
3
4
3.5
3.434
优先权
周转时间
24
6
26
30
14
20
带权周转时间
2.4
1
13
7.5
1.75
5.13
4.在一个单道批处理系统中,一组作业的提交时刻和运行时间如下表所示:
作业
提交时间
运行时间
1
8:00
1.0
2
8:50
0.50
3
9:00
0.20
4
9:10
0.10
试计算以下3种作业调度算法的平均周转时间T和平均带权周转时间W:
- 先来先服务;(2)短作业优先;(3)响应比高者优先。
【参考答案】(1)采用先来先服务作业调度算法时,作业的运行情况如下表所示。
作业执行次序
提交时间
运行时间
开始时刻
完成时刻
周转时间
带权周转时间
1
8:00
1.0
8:00
9:00
1.0
1.0
2
8:50
0.05
9:00
9:50
1.0
2.0
3
9:00
0.20
9:50
9:70
0.7
3.5
4
9:10
0.10
9:70
9:80
0.7
7.0
平均周转时间为T=(1.0+1.0+0.7+0.7)/4=0.85。
平均带权周转时间为W=(1.0+2.0+3.5+7.0)/4=3.375。
(2)采用短作业优先调度算法时,作业的运行情况如下表所示。
作业执行次序
提交时间
运行时间
开始时刻
完成时刻
周转时间
带权周转时间
1
8:00
1.0
8:00
9:00
1.0
1.0
3
8:50
0.20
9:00
9:20
0.2
1.0
4
9:10
0.10
9:20
9:30
0.2
2.0
2
8:50
0.50
9:30
9:80
1.3
2.6
平均周转时间为T=(1.0+0.2+0.2+1.3)/4=0.675。
平均带权周转时间为W=(1.0+1.0+2.0+2.6)/4=1.65。
(3)采用响应比高者优先作业调度算法时,作业的运行情况如下表所示。
作业执行次序
提交时间
运行时间
开始时刻
完成时刻
周转时间
带权周转时间
1
8:00
1.0
8:00
9:00
1.0
1.0
3
9:00
0.20
9:00
9:20
0.2
1.0
2
8:50
0.50
9:20
9:70
1.2
2.4
4
9:10
0.10
9:70
9:80
0.7
7.0
平均周转时间为T=(1.0+0.2+1.2+0.7)/4=0.775。
平均带权周转时间为W=(1.0+1.0+2.4+7.0)/4=2.85。
5.单道批处理系统中有4个作业,其有关情况如下表所示。在采用响应比高者优先调度算法时分别计算其平均周转时间T和平均带权周转时间W。
作业
提交时间/h
运行时间/h
J1
8.0
2
J2
8.6
0.6
J3
8.8
0.2
J4
9.0
0.5
【参考答案】在8.0只有作业J1到达,系统先将作业J1投入运行。作业J1运行2个小时后完成。这时3个作业都已到达,要计算3个作业的响应比,然后使响应比最高的投入运行。3个作业的响应比为:
作业J2的响应比=1+(10.0-86)/0.6=3.33
作业J3的响应比=1+(10.0-8.8)/0.2=7
作业J4的响应比=1+(10.0-9.0)/0.5=3
从计算的结果来看,作业J3的响应比最高,所以让作业J3先执行。作业J3执行0.2小时后完成。此时作业J2和作业J4的响应比为:
作业J2的响应比=1+(10.2-8.6)/0.6=3.67
作业J4的响应比=1+(10.2-9.0)/0.5=3.4
从计算的结果来看,作业J2的响应比最高,所以再让作业J2执行。
可见,4个作业的执行次序为:作业J1,作业J3,作业J2,作业J4。
计算结果如下表:
作业号
到达时间
运行时间
开始时间
完成时间
周转时间
带权周转时间
1
8.0
2.0
8.0
10.0
2.0
1.0
2
8.6
0.6
10.2
10.8
2.2
3.67
3
8.8
0.2
10.0
10.2
1.4
7
4
9.0
0.5
10.8
11.3
2.3
4.6
平均周转时间为T=(2.0+2.2+1.4+2.3)/4=1.975
平均带权周转时间为W=(1.0+3.67+7+4.6)/4=3.98
更多推荐
所有评论(0)