操作系统2012带批注


✅ 一、Process Management(进程管理)

❌ Operating System 不负责的活动:

题目:The operating system is not responsible for the following activities in connection with process management?

✅ 正确答案:D. Keeping track of free memory 操作系统负责进程管理的内容包括:

  • A. 暂停和恢复进程(suspending and resuming processes)✅
  • B. 提供进程同步机制(synchronization)✅
  • C. 死锁处理(deadlock handling)✅ 🔸 但 D. 跟踪空闲内存(tracking free memory) 属于 内存管理(Memory Management) 的范畴,而非进程管理。

✅ 二、Scheduling Algorithm(调度算法)

❗哪种调度算法可能导致饥饿(Starvation)?

题目:Which of the following process schedule algorithm can lead to starvation?

✅ 正确答案:C. SJF(Shortest Job First) 📝 解释:

  • A. FCFS(先来先服务):不会饥饿,公平,但可能有长作业等待时间过长
  • B. Round Robin(时间片轮转):公平调度,每个进程轮流获得 CPU
  • C. SJF(最短作业优先)可能造成长作业长时间得不到服务 → 饥饿!
  • D. Guaranteed Scheduling(保证调度):每个进程获得合理份额的 CPU 时间,不会饥饿 ✅

✅ 三、Guaranteed Scheduling(保证调度)

定义:系统向用户保证每个活跃用户/进程能公平地获得 CPU 时间。例如:

  • 如果有 4 个用户登录系统,每个用户应获得大约 1/4 的 CPU 时间
  • 如果单个用户有 5 个进程,每个进程获得约 1/5 的 CPU 时间

优点:

  • 防止饥饿
  • 实现简单,公平性强

✅ 四、Memory Protection Registers(内存保护寄存器)

题目:Which register contains the size of a process?

✅ 正确答案:B. Limit(界限寄存器) 📝 含义:

  • Base Register:表示进程的起始地址
  • Limit Register:表示进程可访问的最大地址或大小
  • Index Register / Stack Pointer:用于其他目的,如寻址或栈操作

✅ 五、Deadlock Conditions(死锁的四个必要条件)

题目:Which of the following is NOT one of the four deadlock conditions?

✅ 正确答案:B. Busy Waiting 🧠 死锁的四个条件是:

  1. Mutual Exclusion(互斥)
  2. Hold and Wait(保持并等待)
  3. No Preemption(不可抢占)
  4. Circular Wait(循环等待)

🔸 busy waiting 是一种同步方式,而不是导致死锁的基本条件。


✅ 六、User-level Threads vs Kernel-level Threads(用户级线程 vs 内核级线程)

比较项 用户级线程(User-level) 内核级线程(Kernel-level)
管理方 应用程序(自己管理) 操作系统内核
内核是否感知 否,内核无感知 是,内核知道每个线程
上下文切换 快,代价低 慢,代价高(需切换内核上下文)
数量限制 可创建很多线程 受内核资源限制
使用复杂性 需要开发者细致管理 内核管理更简单,使用方便