操作系统相关笔试题模拟-1
2025-09-15
操作系统模块 — 选择题 50题
进程与线程(1-10)
下列关于进程和线程的说法中正确的是?
- A. 线程是资源分配单位
- B. 进程是 CPU 调度单位
- C. 线程共享进程的资源
- D. 进程之间天然共享内存
答案:C
解析: 线程是 CPU 调度单位,进程是资源分配单位,进程之间不共享内存(需 IPC)。
下列关于线程的特点,错误的是?
- A. 线程有独立的堆栈
- B. 同一进程的线程共享代码段
- C. 线程切换比进程切换开销大
- D. 线程间通信比进程通信简单
答案:C
解析: 线程切换开销小于进程。
一个程序运行时产生的执行单元是?
- A. 进程
- B. 线程
- C. 作业
- D. 函数
答案:A
多线程程序中,若多个线程同时访问同一全局变量,需要?
- A. 加锁
- B. 创建新进程
- C. 使用栈变量
- D. 增加线程数
答案:A
下列哪种情况会产生僵尸进程?
- A. 子进程异常退出,父进程未回收
- B. 子进程未退出
- C. 父进程异常退出
- D. 父子进程通信正常
答案:A
下列关于多进程和多线程的对比,正确的是?
- A. 多线程共享内存,多进程不共享
- B. 多进程切换开销比多线程小
- C. 多线程不能并发执行
- D. 多进程无法使用 CPU 多核
答案:A
下列不属于线程状态的是?
- A. 就绪
- B. 运行
- C. 等待
- D. 分段
答案:D
下列关于守护线程(Daemon Thread)的描述,错误的是?
- A. 守护线程在 JVM 退出时自动结束
- B. 守护线程主要执行后台服务
- C. 用户线程结束后守护线程自动结束
- D. 守护线程占用系统资源较多
答案:D
解析: 守护线程通常轻量,资源消耗小。
对于多线程程序,下列说法正确的是?
- A. 线程之间天然互斥
- B. 所有线程共享堆和全局变量
- C. 线程切换需要上下文切换
- D. 线程无法抢占 CPU
答案:B, C
以下哪种情况适合使用多线程?
- A. CPU 密集型计算
- B. IO 密集型操作
- C. 单次执行的批处理程序
- D. 系统启动初始化
答案:B
内存管理(11-20)
虚拟内存的主要作用是?
- A. 增加 CPU 核数
- B. 扩大逻辑地址空间
- C. 加快硬盘读写
- D. 减少操作系统开销
答案:B
分页内存管理中,物理内存被划分为?
- A. 页表
- B. 页面
- C. 分段
- D. 堆栈
答案:B
下列关于页表的说法错误的是?
- A. 页表存放虚拟页到物理页的映射
- B. 每个进程都有自己的页表
- C. 页表大小与虚拟地址空间无关
- D. 页表可以存放访问权限信息
答案:C
下列不属于内存管理策略的是?
- A. 连续分配
- B. 分页分段
- C. 虚拟内存
- D. 时间片轮转
答案:D
在分页系统中,缺页异常(Page Fault)发生时,CPU 会?
- A. 直接终止进程
- B. 将页从磁盘调入内存
- C. 跳过该指令
- D. 立即切换到下一个线程
答案:B
下列页面置换算法中,属于最优算法的是?
- A. FIFO
- B. LRU
- C. LFU
- D. OPT
答案:D
解析: OPT 为理论最优,不可能实现,需要预测未来访问。
下列页面置换算法中,需要维护最近使用时间的是?
- A. FIFO
- B. LRU
- C. OPT
- D. NFU
答案:B
下列说法正确的是?
- A. 物理内存总是比虚拟内存大
- B. 虚拟内存让程序拥有连续地址空间
- C. 虚拟内存无需磁盘支持
- D. 页表只存储程序代码
答案:B
分段与分页的区别是?
- A. 分段按逻辑划分,分页按固定长度划分
- B. 分段按固定长度划分,分页按逻辑划分
- C. 分段比分页快
- D. 分段只在多线程系统使用
答案:A
下列哪种属于内存保护方式?
- A. 页表权限位
- B. 时间片
- C. 进程调度
- D. CPU 时钟
答案:A
调度算法(21-30)
先来先服务(FCFS)的平均等待时间计算公式与特点?
- A. 短作业优先
- B. 公平,但可能长作业延迟严重
- C. 按优先级调度
- D. 随机调度
答案:B
短作业优先(SJF)可能引发哪种问题?
- A. 饥饿
- B. 死锁
- C. 内存溢出
- D. 页面缺失
答案:A
时间片轮转(RR)算法特点:
- A. 适合交互式系统
- B. CPU 利用率低
- C. 必然产生死锁
- D. 不支持多线程
答案:A
优先级调度可能引发哪种问题?
- A. 饥饿
- B. 页表溢出
- C. LRU 失效
- D. 堆栈溢出
答案:A
多级反馈队列调度算法的核心思想是?
- A. 短作业优先
- B. 交互作业优先响应
- C. 时间片固定
- D. CPU 密集型作业优先
答案:B
CPU 调度算法中,非抢占式算法包括:
- A. FCFS
- B. SJF(非抢占)
- C. 优先级(非抢占)
- D. 以上都对
答案:D
CPU 调度算法中,抢占式算法包括:
- A. SJF 抢占
- B. 优先级抢占
- C. RR
- D. 以上都对
答案:D
下列哪种情况适合使用 RR 调度?
- A. 批处理作业
- B. 交互式系统
- C. 实时系统
- D. 单线程程序
答案:B
多道程序设计的主要目的是?
- A. 提高 CPU 利用率
- B. 减少内存占用
- C. 避免死锁
- D. 优化磁盘访问
答案:A
若系统中有多个就绪队列,通常采用?
- A. FCFS
- B. 多级反馈队列
- C. LRU
- D. FIFO
答案:B
死锁(31-40)
下列属于死锁必要条件的是:
- A. 互斥
- B. 占有且等待
- C. 不可剥夺
- D. 循环等待
答案:A, B, C, D
避免死锁的策略不包括:
- A. 破坏互斥条件
- B. 破坏占有且等待条件
- C. 破坏不可剥夺条件
- D. 破坏循环等待条件
- E. 增加时间片
答案:E
银行家算法主要用于?
- A. 资源分配安全检测
- B. 页面置换
- C. CPU 调度
- D. 内存管理
答案:A
若系统发生死锁,通常采取措施是?
- A. 进程回滚
- B. 杀死进程
- C. 重新分配资源
- D. 以上都可能
答案:D
下列方法可预防死锁的是?
- A. 资源一次性分配
- B. 保证资源请求顺序
- C. 允许抢占资源
- D. 以上都是
答案:D
下列哪种情况不是死锁?
- A. 进程互相等待彼此资源
- B. 资源可被抢占,等待短暂
- C. 循环等待
- D. 系统资源耗尽,所有进程阻塞
答案:B
下列哪种策略可以检测死锁?
- A. 银行家算法
- B. 等待图
- C. 页表
- D. FIFO
答案:B
下列资源分配方式最容易发生死锁?
- A. 共享打印机、互斥磁带
- B. CPU 时间片均分
- C. 文件只读共享
- D. 网络广播
答案:A
下列对死锁的描述正确的是?
- A. 死锁只发生在多线程系统
- B. 死锁可能通过资源回收解决
- C. 死锁只能预防,无法解除
- D. 死锁不会影响系统性能
答案:B
如果系统允许资源抢占,可以:
- A. 完全避免死锁
- B. 部分预防死锁
- C. 不会影响死锁
- D. 必然引发死锁
答案:B
其他综合(41-50)
上下文切换最主要的开销是?
- A. 保存 CPU 状态
- B. 内存访问
- C. 磁盘 IO
- D. 网络延迟
答案:A
用户态和内核态切换发生在?
- A. 系统调用
- B. 异常中断
- C. 上下文切换
- D. 以上都是
答案:D
系统调用的特点是?
- A. 用户程序可以直接操作硬件
- B. 提供用户与内核接口
- C. 运行速度比普通函数快
- D. 不需要特权级
答案:B
多道程序设计与单道程序设计的主要区别是?
- A. CPU 利用率
- B. 内存使用
- C. IO 并发
- D. 系统开销
答案:A, C
临界区问题主要是为了解决?
- A. 资源竞争
- B. 死锁
- C. 内存泄漏
- D. 页面缺失
答案:A
下列可以用于临界区互斥的机制是?
- A. 信号量
- B. 互斥锁
- C. 原子操作
- D. 以上都是
答案:D
信号量 V(释放)操作的作用是?
- A. 占用资源
- B. 释放资源并唤醒等待进程
- C. 初始化资源
- D. 检查死锁
答案:B
信号量 P(申请)操作的作用是?
- A. 占用资源
- B. 释放资源
- C. 初始化资源
- D. 检测死锁
答案:A
下列哪种情况属于忙等待(Busy Waiting)?
- A. while 循环检查锁
- B. 阻塞等待信号量
- C. 等待 IO 完成
- D. 系统调用等待
答案:A
下列关于操作系统的说法错误的是?
- A. OS 管理硬件资源
- B. OS 提供用户接口
- C. OS 无法提高 CPU 利用率
- D. OS 负责进程调度
答案:C