# 第一周
# 选择
计算机是按照( )模型工作的?C
- A. 布尔
 - B. 居里夫人
 - C. 图灵
 - D. 牛顿
 
关于操作系统基本概念,正确的是( )D
- A. 操作系统本身是一种硬件程序
 - B. 操作系统的基本作用是管理用户的程序
 - C. C 编译器是操作系统的一部分
 - D. 我们通过操作系统来管理计算机硬件资源
 
引导程序启动时,为何需要将代码从内存的 0x7c00 拷贝至 0x9000? C
- A. 因为开发的程序员想炫技,这样显得很悬很酷有档次
 - B. 因为开发程序员有强迫症,一定要移到整数字节的地方
 - C. 为给后面载入操作系统腾出地方
 - D. 为了给中断向量表腾出空间
 
实模式与保护模式的说法正确的是( )B
- A. 保护系统能够保护系统不被修改
 - B. 它们对寻址的解释方式不同
 - C. 它们都是操作系统启动时使用的寻址方式
 - D. 系统开始运行后,操作系统处于实模式
 
# 填空
程序只有被装入( )中才能被运行。
- 内存
 
按下电源开关,( )(提示:四个大写字母)从引导扇区将操作系统代码载入到内存。
- BIOS
 
# 第二周
# 选择
单个用户通常不能总是使得 CPU 和 I/O 设别都忙,通过( )的方式可以保证 CPU 总有作业执行。B
- A. 多核处理
 - B. 多道程序设计
 - C. 内核并行
 - D. 多程序调用
 
下列哪个不是操作系统关心的问题()?B
- A. 管理计算机裸机
 - B. 高级程序设计语言的编译
 - C. 设计、提供用户程序与硬件系统的接口
 - D. 管理计算机系统资源
 
下面关于操作系统的说法, 错误的是:C
- A. 管理资源的程序
 - B. 管理资源和用户程序执行的程序
 - C. 能方便用户编程的程序
 - D. 能使系统资源提高效率的程序
 
下列( )资源不是操作系统应该管理的。C
- A. CPU
 - B. 内存
 - C. 源程序
 - D. 外存
 
关于内存的说法正确的是( ).C
- A. 内存是程序存放的地方。
 - B. 内存和磁盘都是 RAM
 - C. 内存是一种 RAM,磁盘是一种 ROM
 - D. 内存是用寄存器组成的
 
# 填空
操作系统的运行是一种( )驱动机制。
- 中断
 
如果一个进程需要从键盘输入一些字符,则应该在键盘输入之前还是之后发出中断信号?请在括号里填写之前或之后( )。
- 之后
 
# 判断
多道程序设计的主要目的是提高 CPU 的运行频率。
- 错
 
计算机中所有的硬件与内存进行数据交换时都需要 CPU 的参与。
- 错
 
多道程序设计是指有两道以上的程序可以同时使用 CPU。
- 错
 
当程序运行错误如发生了除零操作,这也会触发中断。
- 对
 
操作系统是一种软硬件系统,既包括软件也包括一些硬件,离开了硬件操作系统无法工作。
- 错
 
# 第三周
# 选择
当前操作系统将时间片设为 10 ms,为此,操作系统需要设置时钟为 10 ms,设置时钟的指令应运行在()。 D
- A. 系统模式
 - B. 用户模式
 - C. 应用模式
 - D. 内核模式
 
操作系统对硬盘进行 I/O 控制时,通常采用 () 方式。D
- A. 直接程序控制
 - B. 中断控制
 - C. 通道控制
 - D. 直接内存访问
 
执行系统调用的过程包括如下主要操作:
① 返回用户态 ② 执行 trap 指令 ③ 传递系统调用参数 ④ 执行相应的服务程序
正确的执行顺序是 ( )
- 3-2-4-1
 
DMA 的主要目的是()。A
- A. 提高数据传输效率
 - B. 提高 CPU 利用率
 - C. 提高系统调度效率
 - D. 提高设备利用率
 
()程序可以执行特权指令。B
- A. 超级用户
 - B. 操作系统
 - C. 特权用户
 - D. ROOT 用户
 
下列选项中,在用户态执行的是( )D
- A. 内存的缺页处理程序
 - B. 进程调度程序
 - C. 时钟中断处理程序
 - D. 命令解释程序
 
在操作系统中,一个进程没有运行结束,就可以开始其它进程的运行,这种方式被称为()。B
- A. 并行
 - B. 并发
 - C. 多线程
 - D. 多通道
 
计算机开机后,操作系统被加载到( )中。B
- A. EPROM
 - B. RAM
 - C. BIOS
 - D. ROM
 
操作系统提供给编程人员的接口是()A
- A. 系统调用
 - B. 子程序
 - C. 库函数
 - D. API
 
# 判断
多道程序设计的主要目的是提高 CPU 的运行频率
- 错
 
Cache 是一种高速缓存,CPU 只能从 Cache 中获取到下一条要执行的指令。
- 错
 
开机启动时,操作系统处于内核模式。
- 对
 
计算机中所有的硬件与内存进行数据交换时都需要 CPU 的参与。
- 错
 
# 第五周
# 选择
下列()不是实时操作系统设计的主要追求目标。B
- A. 及时响应
 - B. 资源利用率
 - C. 安全可靠
 - D. 快速处理
 
提高单机资源利用率的关键技术是()D
- A. 交换技术
 - B. 虚拟技术
 - C. 脱机技术
 - D. 多道程序设计技术
 
批处理系统的主要缺点是()B
- A. CPU 利用率不高
 - B. 无交互能力
 - C. 系统吞吐量小
 - D. 资源利用率低
 
下列()资源不是操作系统应该管理的。C
- A. 外存
 - B. CPU
 - C. 源程序
 - D. 内存
 
关于批处理系统与分时系统的说法正确的是()A
- A. 批处理系统不具备交互性
 - B. 批处理系统一般没有短期调度
 - C. 分时系统不具备交互性
 - D. 分时系统一般不具备中期调度
 
使用 vim 编辑文本的时候,退出并保存的命令是:A
- A. :wq
 - B. :rq
 - C. :+q
 - D. ctrl+s
 
fd=open ("file",O_RDWR|O_CREAT,0666); 关于这句代码的说法正确的是:C
- A. 文件所有者的权限是读、写、执行
 - B. 文件所有者的权限是读
 - C. 文件所有者的权限是读、写
 - D. 该文件的默认访问权限是 0
 
下列属于 ubuntu 命令的是:D
- A. remove
 - B. makedir
 - C.rouch
 - D.cp
 
同一进程经过多次创建,运行在不同数据集上,形成了()的进程。B
- A. 同步
 - B. 不同
 - C. 互斥
 - D. 相同
 
在多道程序设计的计算机系统中,CPU()D
A. 可以被多个进程同时占用
B. 以上说法都不对
C. 只能完成于一个进程后再开始另一个进程
D. 可以被多个进程交替占用
指出下列 C 语言程序中的内容及相关数据结构位于进程的哪一段。进程的优先级是放在( )。C
- A. 数据与正文段
 - B. 堆段
 - C. PCB
 - D. 栈段
 
关于 gdb 和 gcc 的说法正确的是:D
- A. gcc 是 C 调试器
 - B. gdb 是 C 编译器
 - C. gcc 是 C++ 编译器
 - D.gdb 是 C 调试器
 
查看当前路径使用的命令是:D
- A.touch
 - B.ls
 - C.rm
 - D.pwd
 
下列选项中,会导致用户进程从用户态切换到内核态的操作是()A
- A. read 系统调用
 - B. 以上都是
 - C. 乘法调用
 - D. sin 函数调用
 
若进程所请求的一次 I/O 完成之后,将使其状态 ()。A
- A. 从阻塞变为就绪
 - B. 从就绪变为阻塞
 - C. 从运行变为就绪
 - D. 从阻塞变为运行
 
gcc -c mycode.c 会输出:B
- A.a.out.o
 - B.mycode.o
 - C.a.out
 - D.mycode
 
分时系统追求的目标是()A
- A. 比较快速响应用户
 - B. 充分利用 IO 设备
 - C. 充分利用内存
 - D. 提高系统吞吐率
 
# 判断
用户创建后的文件是具有默认权限的,默认用户创建的文件权限是 644
- 对
 
PCB 是进程存在的唯一标记。进程的全局变量应该存储在它的 PCB 里。
- 错
 
操作系统以进程为最小单位进行调度
- 错
 
num=read(0,buffer,MAX);
是指从 buffer 读出 MAX 长度的字符到当前文件
- 错
 
# 第六周
# 选择
通常用户进程被建立之后,( )B
- A. 一直运行在系统中,直到被操作人员撤销
 - B. 随着进程运行的正常或不正常结束而撤销
 - C. 随着时间片轮转而撤销与建立
 - D. 随着进程的阻塞或者唤醒而撤销与建立
 
小明写了一段代码,创建了子进程和父进程,然后编译运行了这段代码。下列说法正确的是:B
- A. 在子进程中使用 wait 函数可以让子进程等待父进程。
 - B. 在父进程里使用 wait 函数可以让父进程等待子进程。
 - C. 使用 wait 函数并不能让一个进程等待另一个进程
 - D. 以上都不对
 
一个进程在 CPU 上的时间片结束后,进程将进入( )态。B
- A. 结束
 - B. 就绪
 - C. 阻塞
 - D. 开始
 
在单处理器系统中,若同时存在 10 个进程,则处于就绪队列中的进程最多有( )个。C
- A. 1
 - B. 8
 - C. 9
 - D. 10
 
shm_fd=shm_open (name,O_CREAT|O_RDWR,0666); 关于这句代码说法错误的是:A
- A. 该代码在当前路径创建共享文件
 - B. 该代码创建的文件断电会消失
 - C. 该代码创建的文件可以读写
 - D. 该代码创建的文件名是 name
 
指出下列 C 语言程序中的内容及相关数据结构位于进程的哪一段。
函数通过实参传递值是放在( )。C
- A. PCB
 - B. 数据与正文段
 - C. 栈段
 - D. 堆段
 
( )必会引起进程切换。B
- A. 一个进程创建后进入就绪态
 - B. 一个进程从运行态变为就绪态
 - C. 一个进程从阻塞态变为就绪态
 - D. 以上都不是
 
分时系统追求的目标是()B
- A. 充分利用 IO 设备
 - B. 比较快速响应用户
 - C. 提高系统吞吐率
 - D. 充分利用内存
 
支持多道程序设计的操作系统在运行过程中,不断地选择新进程运行来实现 CPU 的共享,但其中( )不是引起操作系统选择新进程的直接原因。D
- A. 运行进程的时间片用完
 - B. 运行进程出错
 - C. 运行进程需要等待某一时间发生
 - D. 有新进程进入就绪态
 
下面说法正确的是( )C
- A. 操作系统以线程为单位进行资源分配
 - B. 进程在运行前必须获得整个进程运行所需要的所有资源,否则不能开始运行。
 - C. 操作系统的资源是有限的,所以有些进程的资源请求会无法得到实时响应。
 - D. 操作系统是以进程为最小单位进行调度的。
 
使用了 shm_open、mmap 等函数完成共享内存代码 test.c,编译命令正确的是:D
- A. gcc test.c -o test
 - B. gcc -g test.c -o test
 - C. gcc test.c -o test -lpthread
 - D. gcc test.c -lrt
 
提高单机资源利用率的关键技术是()C
- A. 脱机技术
 - B. 虚拟技术
 - C. 多道程序设计技术
 - D. 交换技术
 
下列关于进程的说法,正确的是( )A
- A. 进程获得处理器运行是通过调度得到的
 - B. 优先级是进程调度的重要依据,一旦确定不能改动
 - C. 在单处理器系统中,任何一个时刻都有一个进程处于运行状态
 - D. 进程申请处理器而得不到满足,其状态变为阻塞状态
 
一个用户进程的 PCB 是放在( )中。C
- A. 心中
 - B. 内存的用户空间
 - C. 内存的内核空间
 - D. 磁盘
 
关于批处理系统与分时系统的说法正确的是( )B
- A. 批处理系统一般没有短期调度
 - B. 批处理系统不具备交互性
 - C. 分时系统一般不具备中期调度
 - D. 分时系统不具备交互性
 
进程是( )C
- A. 由处理器处理的一个程序
 - B. 一个独立的程序 + 数据集
 - C. PCB 结构与程序和数据的组合
 - D. 一个独立的程序
 
# 填空
POSIX 共享内存通信方式下,所用的映射函数 (将所创建的空间映射到内存) 是:
- mmap
 
一般我们使用 ( ) 函数来创建子进程。
- fork
 
system V 共享内存通信方式下所用的创建共享内存对象的函数是:
- shmget
 
# 判断
多个进程在处理器上执行时,进程之间可能是无关的,也可能是有交互性的。
- 对
 
进程创建时操作系统应该为进程创建一个 PCB。
- 对
 
父进程创建了子进程之后,操作系统将会继续执行父进程然后执行子进程。
- 错
 
进程创建时不需要为其分配 CPU。
对
解析: 进程创建两个条件:加载到内存、分配资源。成功创建后进入就绪态等待 CPU 分配。
一般来说,批处理系统不具备交互能力。
- 对
 
当一个进程在处理器上的时间片用完后,进程进入结束状态。
- 错
 
子进程可以被赋予新的功能,并且与父进程并发执行。
- 对
 
若系统中没有运行进程,则表明系统中一定没有就绪进程。
- 对
 
fork 函数返回值大于 0 时表示当前是父进程,这个大于 0 的数就是当前父进程的 ID。
- 错
 
父进程创建了子进程之后,必须等待子进程执行完才能执行父进程。
- 错
 
一个进程占用的内存空间大小是固定的。
- 错
 
父进程创建的子进程与父进程的代码一样,子进程的代码不能被再次修改。
- 错
 
一个进程可以通过访问另一个进程的地址空间进行数据共享。
- 错
 
父进程创建了子进程之后,子进程与父进程共享内存空间。
- 错
 
fork 函数返回值为 0 时表示当前的进程是子进程。
- 对
 
分时操作系统一般不具备长期调度
- 对
 
在一个计算机系统中,进程的最大数目受外部设备数量的限制
- 错(内存大小限制)
 
操作系统以进程为最小单位进行资源分配。
- 对
 
# 第八周
# 选择
进程自身决定()D
- A. 从就绪到运行
 - B. 从就绪到阻塞
 - C. 从运行到就绪
 - D. 从运行到阻塞
 
进程在处理器上执行时,() A
- A. 进程之间可能是无关的,也可能是有交互性的
 - B. 进程之间是无关的,具有封闭特性
 - C. 具有并发性,即同时执行的特性
 - D. 进程之间有交互性,互相依赖,互相制约,具有并发性
 
下列描述中,() 不是多线程系统的特长 B
- A. Web 服务器利用线程响应 HTTP 请求
 - B. 键盘驱动程序为每个正在运行的应用配备一个线程,用以响应应用的键盘输入
 - C. 基于 GUI 的调试程序用不同的线程别处理用户输入、计算和跟踪等操作
 - D. 利用线程并行地执行矩阵乘法运算
 
下面的说法,正确的是 () A
- A. 不管系统中是否有线程,进程都是拥有资源的独立单位
 - B. 在引入线程的系统中,进程仍然是调度和分派的基本单位
 - C. 不论是系统支持的线程还是用户级线程,其切换都需要内核的支持
 - D. 线程是资源分配的单位,进程是调度和分派的单位
 
下列说法不正确的是() A
- A. 一个线程可以创建一个或多个进程
 - B. 一个线程可以创建一个或多个线程
 - C. 一个进程可以创建一个或多个线程
 - D. 一个进程可以创建一个或多个进程
 
进程之间交换数据不能通过 () 途径进行 C
- A. 共享文件
 - B. 访问共享存储区域
 - C. 访问进程地址空间
 - D. 消息传递
 
进程创建的时候不需要做的事情是() B
- A. 将该进程插入就绪队列
 - B. 为该进程分配 CPU
 - C. 分配该进程适当的内存空间
 - D. 填写一个该进程的 PCB
 
下列关于线程的说法,正确的是() D
- A. 每个线程都有自己独立的地址空间
 - B. 进程只能包含一个线程
 - C. 线程之间的通信必须使用系统调用函数
 - D. 线程包括 CPU 现场,可以独立执行程序
 
下面哪一个不是线程独享的?B
- A. 优先级
 - B. 代码
 - C. 栈
 - D. 寄存器
 
一个进程的读磁盘操作结束后,操作系统针对进程必做的是() B
- A. 降低进程优先级
 - B. 修改该进程状态为就绪态
 - C. 增加进程时间片大小
 - D. 给进程分配用户内存空间
 
操作系统是通过() 来对并发执行的进程进行控制和管理 B
- A. 进程的优先级
 - B. 进程控制块
 - C. 进程的基本状态
 - D. 多道程序设计
 
在一个多线程系统中,下面哪一个是线程之间共享的?C
- A. 栈
 - B. 寄存器
 - C. 堆
 - D. 线程 ID
 
在多对一的线程模型中,当一个多线程进程中的某个线程被阻塞后,() A
- A. 整个进程都会阻塞
 - B. 该阻塞线程将被撤销
 - C. 该阻塞线程将永远可能再执行
 - D. 该进程的其它线程可以正常运行
 
关于多线程模型说法正确的是 () D
- A. 刚做了核酸,脑袋有点晕,不会做
 - B. 用户 + 核心级线程,也就是多对多模型,线程并发度较低,但用户灵活性高
 - C. 核心级线程,也就是一对一模型,并发度较低,灵活性不够高
 - D. 用户级线程,也就是多对一模型,不能够很好地利用多核处理器的结构
 
用信箱时间进程间互相通信的通信机制需要两个通信原语,它们是()
- A. 发送原语和执行原语
 - B. 就绪原语和执行原语
 - C. 发送原语和接收原语
 - D. 就绪原语和接收原语
 
下列叙述正确的是() A
- A. 进程获得处理器运行是通过调度得到的
 - B. 进程申请处理器而得不到满足时,其状态变为阻塞态
 - C. 在单处理器系统中,任何时刻都只有一个进程处于运行状态
 - D. 优先级是进程调度的重要依据,进程优先级一旦确定不能改动
 
下面 () 转换是不可能发生的 B
- A. 就绪到运行
 - B. 阻塞到运行
 - C. 运行到就绪
 - D. 运行到阻塞
 
两个合作进程无法通过 () 交换数据 A
- A. 高级程序设计语言中的全局变量
 - B. 消息传递系统
 - C. 共享内存
 - D. 文件系统
 
# 第九周
# 选择
下列满足短作业优先且不会发生饥饿现象的是() C
- A. 时间片轮转
 - B. 先来先服务
 - C. 高响应比优先
 - D. 非抢占短作业优先
 
假设系统中所有进程同时到达,则使进程平均周转时间最短的是 ()
- A. 短作业优先
 - B. 时间片轮转
 - C. 先来先服务
 - D. 优先级调度
 
下列算法中不可能导致饥饿现象的是()
- A. 优先级调度
 - B. 非抢占的短作业优先
 - C. 抢占的短作业优先
 - D. 时间片轮转
 
下列进程调度算法中,对短进程不利的是()
- A. 高响应比优先
 - B. 先来先服务
 - C. 多级反馈队列
 - D. 短进程优先
 
假设系统中所有进程同时到达,则使进程平均周转时间最短的是(a)调度。
- A. 短进程优先
 - B. 先来先服务
 - C. 时间片轮转
 - D. 优先级
 
设有 4 个作业同时到达,每个作业的平均执行时间是 2h,它们在一台处理器上按照单道式运行,则平均周转时间是 (c)
- A.8h
 - B.1h
 - C.5h
 - D.2.5h
 
在作业调度算法中,当系统中同时存在 CPU 约束型与 IO 约束型的作业时,下列说法正确的是(a)
- A. 一般来说,IO 约束型的作业优先级较高,应当先执行
 - B. 两者优先级不分上下,一般按照短作业优先算法执行
 - C. 一般来说,CPU 约束的作业优先级较高,应当先执行
 - D. 两者优先级不分上下,一般按照先来先服务算法执行
 
作业是用户提交的,而进程是系统生成的,两者的区别在于(c)
- A. 前者是批处理的,后者是分时的
 - B. 两者执行不同的程序段
 - C. 前者以用户任务为单位,后者以操作系统控制为单位
 - D. 后者是可并发执行的,前者则不同
 
一个作业 8:00 到达系统,估计运行时间为 0.5h,若 10:00 开始执行该作业,其响应比是 (b)
- A.4
 - B.5
 - C.3
 - D.2
 
下面有关进程调度算法的?准则中,不正确的是 (b)。
- A. 尽快响应交互式用户的请求
 - B. 适当延长进程就绪队列的等待时间
 - C. 尽可能提高系统吞吐量
 - D. 尽量提高处理器的利用率
 
在多对一的线程模型中,当一个多线程进程中的某个线程被阻塞后,(a)
- A. 整个进程都会阻塞
 - B. 该阻塞线程将被撤销
 - C. 该进程的其它线程可以正常运行
 - D. 该阻塞线程将永远可能再执行
 
设有三个作业,其运行时间分别是 2h , 5h, 3h, 假定它们同时到达,并在同一台处理器上以单道方式运行,则平均周转时间最小的执行顺序是 (a)
- A.J1J3 J2
 - B.J1J2J3
 - C.J3 J2 J1
 - D.J2J1J3
 
在一个多线程系统中,下面哪一个是线程之间共享的?b
- A. 栈
 - B. 堆
 - C. 寄存器
 - D. 线程 ID
 
(c)调度有利于 CPU 繁忙型的作业,而不利于 IO 繁忙型的作业。
- A. 时间片轮转法
 - B. 优先级调度
 - C. 先来先服务
 - D. 多级队列
 
关于优先级调度的论述中,正确的是 (b)
- A. 在动态优先级中,随着进程执行时间的降低,其优先级也不断降低
 - B. 在动态优先级中,随着进程执行时间的增加,其优先级降低
 - C. 用户进程的优先级应高于系统进程的优先级
 - D. 计算型作业的优先级应高于 IO 型作业的优先级
 
# 判断
时间片轮转法的平均等待时间比先来先服务要长。
- 错
 
当系统中没有运行进程,也没有就绪进程,这就意味着系统中没有进程。
- 错
 
进程调度与切换程序属于操作系统内核程序。
- 对
 
多级队列的优势是可以克服饥饿现象。
- 错
 
批处理系统通常采用轮转法进行调度。
- 错
 
# 第十周
# 选择
共享变量是指 (a) 访问的变量.
- A. 可被多个进程
 - B. 可被多个进程互斥
 - C. 只能被用户进程
 - D. 只能被系统进程
 
可以被多个进程在任意时刻共享的代码必须(c)
- A. 要被放入临界区
 - B. 是顺序代码
 - C. 是不允许任何修改的代码
 - D. 要被进程并发执行
 
对于两个并发进程,设互斥信号量为 mutex,mutex 初始值是 1,若 mutex=0,则 a
- A. 表示有一个进程进入临界区
 - B. 表示有一个进程进入临界区,另一个进程在等待进入
 - C. 表示没有进程进入临界区
 - D. 表示有两个进程进入临界区
 
下列关于临界区的说法正确的是(b)。
- A.l 临界区是进程中用于实现进程同步的那段代码
 - B. 临界区是进程中用于访问共享变量的那段代码
 - C. 临界区是进程中用于实现进程互斥的那段代码
 - D. 临界区是进程中用于实现进程通信的那段代码
 
一个正在访问临界资源的进程由于申请等待 IO 操作而被中断时,它 (c)
- A. 不允许任何进程抢占处理器
 - B. 允许其他进程进入与该进程相关的临界区
 - C. 允许其他进程抢占处理器,但是不得进入该进程的临界区
 - D. 不允许其他进程进入任何临界区
 
下面哪一个不是解决临界区问题的条件(b)
- A. 互斥
 - B. 非抢占
 - C. 前进
 - D. 有限等待
 
两个进程 A 与 B 都要修改共享变量,这时使用 Peterson 算法可以实现这种关系,下列关于 Peterson 算法描述正确的是 (c)
- A. 当进程 A 不在临界区时,进程 B 会进入临界区
 - B. 当进程 A 想进入临界区时,操作系统会调度进程 A 进入临界区
 - C. 某时刻虽然进程 B 想进入临界区,操作系统可能还是会调度进程 A
 - D. 进程 A 与 B 会轮流进入临界区
 
与某资源关联的信号量的初始值是 3,当前值是 1。若 M 表示该资源的可用数,N 表示等待该资源的进程数,则 M 和的值分别是(d)
- A.2、0
 - B.0、1
 - C.1、2
 - D.1、0
 
关于 test_and_set 指令,正确的是(c)
- A. 该指令需要 3 个 CPU 周期来执行
 - B. 该指令无法彻底实现进程互斥
 - C. 该指令可以被用来实现进程互斥
 - D. 该指令是一种系统调用
 
关于竞争条件下列正确的是 (b)
- A. 竞争条件与进程的调度顺序无关,而与进程的时间片有关
 - B. 竞争条件是因为进程并发执行引起的
 - C. 竞争条件是指多个进程竞争使用 CPU 所需要的条件
 - D. 竞争条件是不可避免的
 
如果进程 A 对信号量 S 进行 P 操作,则 S 的值应当(d)。
- A.S>0 时才减 1
 - B.S<0 时才加 1
 - C. 加 1
 - D. 减 1
 
若系统中有 n 个进程,则阻塞队列中进程的个数最多有 (d)个
- A.n-1
 - B.n+1
 - C.1
 - D.n
 
若系统中有 n 个进程,则就绪队列中进程的个数最多有() 个
- A. n
 - B.n+1
 - C.1
 - D.n-1
 - 我的答案:D 正确答案: D
 
以下 () 不属于临界资源。
- A. 私有数据
 - B. 公用队列
 - C. 共享缓冲区
 - D. 打印机
 - 我的答案:A
 - 正确答案: A
 
关于 PV 操作说法错误的是()
- A.P 操作和 V 操作必须成对
 - B.P 操作和 V 操作各含有若干条机器指令
 - C.P 操作和 V 操作会触发中断
 - D.P 操作和 V 操作都各对应一条机器指令
 - 我的答案:D
 - 正确答案:D
 
# 判断
PV 操作不仅可以实现并发进程之间的同步和互斥,而且能够防止系统进入死锁状态。
- 错
 
硬件原子指令是一种原语
- 错
 
操作系统需要使用信号量才能够实现进程的并发执行。
- 错
 
用 V 操作可以唤醒一个等待进程。唤醒之后进程进入运行状态。
- 错
 
竞争条件的错误结果与进程的并发顺序有关。
- 对
 
用信号量和 PV 原语操作可解决互斥问题,互斥信号量的初值一定为 1。
- 错
 
Peterson 算法实现两个进程 AB 的互斥操作时,两个进程会轮流访问临界区。
- 错
 
执行一次 P 操作可能会导致进程进入阻塞状态。
- 对
 
执行一次 P 操作可能会导致进程进入阻塞状态。
- 对
 
原子指令是指操作系统提供的指令。
- 错
 
临界资源是指只能使用一次的资源。
- 错
 
使用 Peterson 算法时,当一个进程提出要进入临界区时,操作系统下次将调用该进程进入临界区
- 错
 
Peterson 算法不能解决进程同步问题。
- 对
 
Peterson 算法无法实现进程的同步
- 对
 
在生产者 - 消费者问题中,多个生产者或多个消费者可同时进入临界区,但是生产者和消费者不能同时进入临界区。
- 错
 
# 第十一周
# 选择
共享变量是指 () 访问的变量.
- A. 只能被系统进程
 - B. 可被多个进程
 - C. 只能被用户进程
 - D. 可被多个进程互斥
 - 我的答案:B
正确答案:B 
两个进程 A 与 B 都要修改共享变量,这时使用 Peterson 算法可以实现这种关系,下列关于 Peterson 算法描述正确的是
)
- A. 当进程 A 不在 l 临界区时,进程 B 会进入临界区
 - B. 进程 A 与 B 会轮流进入临界区
 - C. 某时刻虽然进程 B 想进入临界区,操作系统可能还是会调度进程 A
 - D. 当进程 A 想进入临界区时,操作系统会调度进程 A 进入临界区
我的答案: C 正确答案:C 
一个正在访问临界资源的进程由于申请等待 IO 操作而被中断时,它 ()
- A. 允许其他进程进入与该进程相关的临界区
B. 不允许其他进程进入任何临界区
C. 允许其他进程抢占处理器,但是不得进入该进程的临界区 D. 不允许任何进程抢占处理器
我的答案:C
正确答案:C 
以下() 不属于临界资源。
- A. 打印机
B. 公用队列
C. 私有数据 D. 共享缓冲区
我的答案:C 正确答案:C 
关于 test_and_set 指令,正确的是()
- A. 该指令需要 3 个 CPU 周期来执行
B. 该指令可以被用来实现进程互斥 C. 该指令是一种系统调用
D. 该指令无法彻底实现进程互斥
我的答案:B 正确答案:B 
使用不同方法解决临界区问题时,下列说法错误的是()
- A. Peterson 算法可能会有忙等待现象出现
B. 硬件原子指令使用不当可能会有忙等待现象出现 C.PV 信号量操作可能会有忙等待现象出现
D. 关中断的方式对多处理器系统不友好
我的答案: C
正确答案:C 
下列哪个属于临界资源?
- A. 打印机
 - B. 私有变量
 - C. 共用队列结构
 - D. 可重入的程序代码
 - 我的答案:A 正确答案: A
 
关于 PV 操作说法正确的是()
- A.PV 操作是原语,执行过程中不能被中断
 - B.PV 操作是系统调用
C.PV 操作是硬件指令 - D.PV 操作是系统接口
 - 我的答案: A 正确答案:A
 
可以被多个进程在任意时刻共享的代码必须()
- A. 是顺序代码
B. 是不允许任何修改的代码
C. 要被放入临界区
D. 要被进程并发执行
我的答案:B
正确答案:B 
与某资源关联的信号量的初始值是 3,当前值是 1。若 M 表示该资源的可用数,N 表示等待该资源的进程数,则 M 和 N 的佳分别是()
- A.0、1B.1、0C.1、2D.2、0
我的答案: B
正确答案:B 
# 判断
用信号量和 PV 原语操作可解决互斥问题,互斥信号量的初值一定为 1。
- 错
 
Peterson 算法实现两个进程 AB 的互斥操作时,两个进程会轮流访问临界区。
- 错
 
PV 操作不仅可以实现并发进程之间的同步和互斥,而且能够防止系统进入死锁状态。
- 错
 
执行一次 P 操作可能会导致进程进入阻塞状态。
- 对
 
操作系统需要使用信号量才能够实现进程的并发执行。
- 错
 
使用 Peterson 算法时,当一个进程提出要进入临界区时,操作系统下次将调用该进程进入临界区。
- 错
 
# 第十二周
# 选择
在多进程的并发系统中,肯定不会因竞争 () 而产生死锁.
- A. 打印机
B. 磁带机
C.CPU
D. 磁盘
我的答案:D
正确答案:C 
如果进程 A 对信号量 S 执行 P 操作,则信号量 s 的值应()
A. 加一
B. 减一
C. 小于 0
D. 等于 0
我的答案:B
正确答案:B
关于破坏死锁发生的必要条件,下列说法错误的是()
- A. 互斥条件是非共享设备所必须的,不仅不能改变,还必须加以保证互斥
 - B. 破坏不可抢占这个条件实现起来比较复杂,对某些硬件如打印机、CD 刻录机等不适用。
 - C. 通过对系统所有资源进行线性排序,然后规定每个进程必须按照序号递减的顺序请求资源,这种方式可以预防死锁。
 - D. 为了能破坏占有并等待条件,要求一个进程在请求资源时只能持有不可抢占资源。
我的答案:C 正确答案:D 
下列定义互斥线程锁的代码正确的是()
- A. pthread_mutex_t *mutex;
B. int mutex = 1;
C. wait (mutex);signal (mutex);
D.pthread_mutex _t mutex;
我的答案:D
正确答案:D 
下列哪一个不是产生死锁的必要条件 ()
- A. 循环等待
B. 前进
C. 互斥
D. 非抢占
我的答案:B 正确答案:B 
若系统中有五台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许 (个进程参于竞争,而不会发生死锁.
- A.4
B.2
C.5
D.3
我的答案:A 正确答案:A 
产生系统死锁的原因可能是由于 ()
- A. 多个进程竞争,资源出现了循环等待
B. 多个进程竞争共享型设备
C. 一个进程进入死循环 D. 进程释放资源
我的答案:A
正确答案:A 
通常不采用 () 方法来解除死锁
- A. 终止所有死锁进程
B. 从非死锁进程处抢夺资源 C. 终止一个死锁进程
D. 从死锁进程处抢夺资源
我的答案:D
正确答案:B 
通常不采用 () 方法来解除死锁
- A. 终止所有死锁进程
B. 从非死锁进程处抢夺资源 C. 终止一个死锁进程
D. 从死锁进程处抢夺资源
我的答案:D
正确答案:B 
死锁预防的出发点是()
- A. 保证系统始终处于安全状态
B. 通过算法使进程的推进顺序合理
C. 破坏死锁发生的四个条件之一
D. 同时破坏死锁发生的四个条件
我的答案:C 正确答案: C 
# 填空
某系统中有 5 个并发进程,都需要同类资源 9 个,试问该系统不会发生死锁的最少资源数是 ( )。请在括号中只填写数字。
- 41
 
# 判断
系统发生死锁后,只能通过重启的方式解决。
- 错
 
银行家算法是一种有效的死锁预防算法。
- 错
 
如果资源分配图中没有环,则一定不会发生死锁。
- 对
 
— 个系统可能存在多个安全序列。
- 对
 
只要系统处于安全状态就不可能发生死锁。
- 对
 
如果资源分配图中有环,则一定会发生死锁
- 错
 
信号量 PV 操作使用不当可能会产生死锁问题。
- 对
 
系统进入不安全状态后就会发生死锁。
- 错
 
# 第十四周
# 选择
段页式存储管理汲取了页式管理和段式管理的长处,其实现原理结合了页式和段式管理的基本思想。即
- A. 用分段方法来分配和管理用户地址空间,用分页方法来管理物理存储空间
 - B. 用分段方法来分配和管理主存空间,用分页方法来管理辅存空间
 - C. 用分段方法来分配和管理辅存空间,用分页方法来管理主存空间
 - D. 用分段方法来分配和管理物理存储空间,用分页方法来管理用户地址空间
我的答案:B
正确答案:A 
逻辑地址是()
- A. 用户地址
B. 物理地址
C. 相对地址 D. 绝对地址
我的答案:C 正确答案: C 
在请求分页存储管理方案中,若某用户空间为 16 个页面,页长 IKB, 现有页表如下 (左页号,右帧号) , 则逻辑地址 0A1F (H) 所对应的物理地址为 ()
0 1
1 52 33 74 2
- A.OE1FHB.031FHC.OA1FHD.021FH
我的答案:A
正确答案:A 
关于内存碎片的说法正确的是 ()
- A. 内存中的碎片可以通过重定位进行消除,重定位之后碎片可以减少 B. 内存中一旦产生碎片就无法消除
C. 可以通过紧缩减少碎片,例如在编译重定位的情况就可以采用紧缩措施 D. 内存碎片会降低内存利用率
我的答案:A
正确答案:D 
关于分段的说法不正确的是()
- A. 分段的内存管理方式会产生外部碎片
B. 分段的内存管理方式从用户视角出发,方便了用户
C. 分段的内存管理方法能够减少内部碎片
D. 分段时可以将各个段区别对待,分别分配地址空间
我的答案:C 正确答案:C 
下列哪种内存分配方式不会产生内部碎片?
- A. 动态内存分配
B. 分页
C. 分段
D. 以上都不对
我的答案:B
正确答案:D 
存储管理的目的是 ()
- A. 增加内存容量
B. 方便用户和提高内存利用率
C. 提高内存利用率
D. 方便用户编程
我的答案:B
正确答案:B 
在分段内存管理中,每个段是 () 的分区
- A. 连续不定长
B. 不连续定长
C. 不连续不定长 D. 连续定长
我的答案:A
正确答案:A 
将作业地址空间中的逻辑地址转换为内存中的物理地址的过程称为()
- A. 编译链接
B. 地址计算
C. 重定位
D. 加载
我的答案:C 正确答案:C 
关于反向页表,下列说法错误的是()
- A. 反向页表以页号为索引,每个页号都可以在表中找到对应的物理帧 B. 在反向页表查询时有可能需要查找整个页表来寻求匹配
C. 反向页表能够降低页表的内存存储空间
D. 采用反向页表后,整个操作系统只有一个页表
我的答案:D
正确答案:A 
分段管理提供()维的地址结构
- A.1
B.4
C.2
D.3
我的答案:C 正确答案: C 
在最差适应算法中,按照()顺序形成空闲分区链
- A. 空闲区首地址递减
B. 空闲区大小递增
C. 空闲区首地址递增
D. 空闲区大小递减
我的答案:D
正确答案:D 
为支持交换技术,重定位应当发生在()时。
- A. 链接
B. 运行
C. 编译
D. 加载
我的答案:A
正确答案:B 
下面哪种内存管理方式不会产生外部碎片?
- A. 分页
B. 动态内存分配
C. 分段
D. 固定分区
我的答案:C 正确答案:A 
分页存储管理中,内存管理单元是由 ()完成的。
- A. 地址转换程序
B. 用户程序
C. 操作系统软件代码
D. 硬件
我的答案:C
正确答案:D 
若一个系统内存有 64MB,处理器是 32 位地址,则它的虚拟地址空间为 ()字节
- A.64MB
B.16GBC.4GB
D.2GB
我的答案:C 正确答案: C 
一个操作系统采用分页内存管理,页表存放在内存中,访问一次内存的时间是 150ns,则从内存中取出一个数据的时间是()
- A.200nsB.150nsC.100nsD.300ns
我的答案:B
正确答案:D 
采用二级页表的目的是()
- A. 提高内存访问效率
B. 减少页表内存消耗 C. 提高页表访问速度
D. 保证内存和 CPU 速度均衡
我的答案:A 正确答案:B 
下列()存储管理方式能使存储碎片尽可能少,而且使内存利用率较高
- A. 可变分区
B. 分页
C. 分段
D. 段页结合
我的答案:D 正确答案:D 
一个操作系统采用动态内存分配,访问一次内存需要 200ns。在这种情况下访问内存的一个数据需要的时间是()
- A. 400nsB.5OnsC.200nsD.100ns
我的答案:C 正确笞案: C 
# 填空
一个操作系统采用分页内存管理,并采用快表技术,访问一次内存的时间是 150ns,访问一次快表的时间是 20ns, 设快表的命中率是 90%,则从内存中取出一个数据的时间是()
- 185
 
# 第十五周
# 选择
在缺页处理过程中,操作系统执行的操作不可能是()
- A. 修改页表
B. 分配叶框
C. 分区合并
D. 磁盘 IO
我的答案:C 正确答案:C 
在页面置换算法中,() 可能会引起抖动。
- A. 所有
B.OPT
C.FIFOD.LRU
我的答案:C
正确答案:A 
当系统发生抖动时,可采取的有效措施是 ()
- A. 撤销部分进程
B. 提高用户进程的优先级
C. 提高多道程序设计的道数
D. 增大磁盘交换区的容量
我的答案:A
正确答案:A 
关于虚拟存储器的说法正确的是()
- A. 作业在运行前必须全部装入内存,在运行过程中也一直驻留内存
B. 作业在运行前必须全部装入内存,在运行过程中不必一直驻留内存 C. 作业在运行前不必全部装入内存,在运行过程中要一直驻留内存 D. 作业在运行前不必全部装入内存,在运行过程中不必一直驻留内存
我的答案:A
正确答案:D 
在段式内存管理中,CPU 每次从内存中取一个数据需要访问 ()次内存
- A.3
B.4
C.2
D.1
我的答案:C 正确答案: c 
关于页面置换算法中说法错误的是()
- A.FIFO 算法实现简单,选择最先进入主存的页面调出
B.LRU 算法基于局部性原理,首先调出最近一段时间最长时间未被访问过的页面 C.CLOCK 算法首先调出一段时间内被访问次数最多的页面
D. 一个好的页面置换算法应该减少和避免抖动现象
我的答案:C 正确答案:C 
某系统采用 CLOCK 置换算法,页表项中字段 A 为访问位,M 为修改位。A=0 表示最近没有被访问,M=0 表示最近有被修改过,按照 (A,M) 所有可能取值,将页分为 (0.0)(O,1)(1,0)(1,1) 四类,则该算法淘汰页的次序为 ()
- A.(1,O)(0,1)(1,1)(0.0)
B.(1,O)(1,1)(0,O)(0,1)C.(0.0)(1.0)(O,1)(1,1)D.(0.0)(0,1)(1,0)(1,1)
我的答案:D
正确答案: D 
操作系统采用分页存诸管理方式,要求()
- A. 每个进程拥有一张页表,且进程的页表在内存中
B. 所有进程共享一张页表,页表驻留在内存中
C. 每个进程拥有一张页表,但只有执行的进程的页表驻留在内存中 D. 所有进程共享一张页表,但只有执行的进程的页表驻留在内存中
我的答案:C
正确答案:A 
下面 ()的内存管理方法有利于程序的动态链接。
- A. 分页
B. 固定分区管理
C. 动态分区管理
D. 分段
我的答案:D 正确答案: D 
在请求分页存储管理中,若采用 FIFO 页面置换算法,当可供分配的帧数增加时,缺页中断次数()
- A. 无影响
B. 增加
C. 减少
D. 可能 t 增加也可能减少
我的答案:D
正确答案:D 
某个操作系统对内存的管理采用页式存储管理方法,所划分的页面大小 ()
- A. 根据内存和外存共同确定
B. 必须相同
C. 根据 CPU 地址结构确定 D. 要根据内存大小确定
我的答案:B 正确答案:B 
在虚拟分页存储管理中,若进程访问的页面不在主存中,且主存中没有可用的空闲帧时,系统正确的处理顺序是()
- A. 缺页中断 - 决定淘汰页 - 页面调入 - 页面调出 B. 缺页中断 - 决定淘汰页 - 页面调出 - 页面调入 C. 决定淘汰页 - 页面调出 - 缺页中断 - 页面调入 D. 决定淘汰页 - 页面调入 - 页面调出 - 缺页中断
我的答案:B
正确答案:B 
采用段式内存管理方式时,一个程序如何分段是在()决定的。
- A. 装入作业
B. 程序执行 C. 用户编程
D. 分配主存时
我的答案:C 正确答案: C 
在请求分页存储管理中,若采用 OPT 页面置换算法,当可供分配的帧数增加时,缺页中断次数()
- A. 增加
B. 可能增加也可能减少 C. 减少
D. 无影响
我的答案:B
正确答案: C 
下列说法正确的是()
- A. 在进程运行时,若其工作集页面都在虚拟存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入、调出现象 B. 在进程运行时,若其工作集页面都在磁盘内,则能够使该进程有效地运行,否则会出现频繁的页面调入、调出现象
C. 在进程运行时,若其工作集页面都在主存内,则能够使该进程有效地运行,否则会出现频繁的页面调入、调出现象
D. 在进程运行时,若其工作集页面都在外部存储器内,则能够使该进程有效地运行,否则会出现频繁的页面调入、调出现象
我的答案:D 正确答案:C 
请求分页存储管理中,如果把页面尺寸扩大一倍而且可容纳的最大页数不变,则在程序执行过程中缺页次数会()
- A. 可能增加也可能减少
B. 减少
C. 不变
D. 增大
我的答案:B 正确答案:B 
下列属于多级页表的优点的是()
- A. 减少页表所占的连续地址空间
B. 减少页表项所占字节数
C. 加快地址变换速度 D. 减少缺页中断次数
我的答案:A
正确答案:A 
产生内存抖动的主要原因是()
- A. 内存空间有限
B.CPU 调度算法不合理 C.CPU 运行速度受限 D. 页面置换算法不合理
我的答案:D 正确答案:D 
分区分配内存管理方式的主要保护措施是()
- A. 程序代码保护
B. 栈保护
C. 界地址保护
D. 数据保护
我的答案:C 正确答案:C 
页式存储管理系统中,页表的首地址放在()中。
- A. 内存
B. 寄存器
C. 存储页表 D. 快表
我的答案:B 正确答案:B 
动态分区又称为可变式分区,它是由系统运行过程中()动态建立的。
- A. 作业装入时
B. 作业完成时 C. 作业未装入时 D. 作业创建时
我的答案:A
正确答案:A 
下列关于虚拟存储器的说法正确的是 ()
- A. 虚拟存诸只能基于不连续分配技术
B. 虚拟存储只能基于连续分配技术
C. 虚拟存储容量只受内存容量的限制 D. 虚拟存储容量只受外存容量的限制
我的答案:D
正确答案:A 
能够加快虚实地址转换的是()
- A. 增加交换区 (SWAP 区)
B. 增大快表容量
C. 将不常用的页表项放入磁盘交换区
D. 增大磁盘容量
我的答案:B
正确答案:B 
