操作系统第三章 作业¶
3.1¶
Describe the differences among short-term, medium-term, and long-term scheduling.
- 短期调度 从内存中的就绪队列里选择一个进程执行。执行最为频繁,为保证执行时间短,因而调度算法不能太复杂。
- 长期调度 也称为工作调度,决定从磁盘中将哪些进程放入内存。因为执行很不频繁,所以可以使用更复杂的调度算法,从而使内存中进程的 CPU 使用和 I/O 使用更均衡,资源利用率更高。
- 中期调度 有交换的机制,即将进程从内存中移除,并在适当时间再次将其调入内存。这有助于动态改善进程组合,使 CPU 和 I/O 使用更均衡。
3.2¶
Describe the actions taken by a kernel to context-switch between processes.
进程间的上下文切换,即切换到另一个进程时需要保留当前进程的状态并恢复另一进程的状态。这些状态可以用 PCB 即进程控制块表示,包含进程状态,程序计数器,CPU 寄存器等信息。上下文切换时,主要执行一个状态保存和状态恢复过程,可能还要执行一些体系结构有关的操作比如清除 cache 等。
3.A¶
Consider a computer with N processors in a multiprocessor configuration.
a. How many processes can be in each of the Ready, Running, and Waiting states at one time? 答:若干个就绪阶段,不超过 N 个执行阶段,若干个等待阶段。 b. What is the minimum number of processes that can be in each of the Ready, Running, and Waiting states at one time? 答:最少当然都是 0 个?
3.B¶
Please explain the five states of a process.
- new: 进程刚被创建时,处于此阶段。如 linux 中 fork 系统调用创建新进程时。
- ready: 进程执行等待被分配到 CPU 中执行。
- run: 进程正在被执行。
- waiting: 进程由于需要等待 I/O 等设备的数据,而不能执行,被放置对应设备的等待队列中。
- terminated: 进程执行结束,正在释放进程的 PCB。
3.C¶
what is the role of PCB in OS? What information is contained in PCB? 操作系统对进程的创建、删除、调度都是通过对 PCB 的操作来完成的。 PCB 包含:
- 进程状态
- 程序计数器
- cpu 寄存器
- cpu 调度信息:如进程优先级,调度队列指针等。
- 内存管理信息:基址,页表或段表等。
- accounting info: cpu 时间时间,时间界限,进程数等。
- I/O 状态信息:分配的 I/O 列表,打开的文件列表等待。
3.D¶
When a process is created, the operating system needs to be done?
- 给新进程分配物理和逻辑资源(CPU 时间,内存,文件,I/O 设备,可来自操作系统或继承父进程资源)
- 传递初始化数据
3.E¶
Please list the differences between message passing system and shared memory system.
- 共享内存系统基本只能在同一台计算机(可多核)两进程传递信息,而信息传递系统既可以是同一台计算机也可以是通过网络连接的不同计算机间进程传递信息。
- 共享内存系统只需为进程分配共享内存,通信由进程负责,而信息传递系统需要操作系统参与进行进程间的信息传递。