操作系统期末考试-考研-必考重点(个人总结) 联系客服

发布时间 : 星期四 文章操作系统期末考试-考研-必考重点(个人总结)更新完毕开始阅读ef7ffa896529647d27285272

15 b+2 16 b+3 17 b+4 18 b+5 25 c+0 26 c+1 27 c+2 28 c+3

41 s+0 s+1 s+2 s+3 s+4 s+5

19 s+0 20 s+1 21 s+2 22 s+3 23 s+4 24 s+5 7 b+6 48 b+7 49 b+8 50 b+9 51 b+10 52 b+11 22

两状态进程模型

两状态:执行、未执行 - 进程获得处理机,进入执行状态;当时间片结束或其它某种原因,进程释放处理机,暂停执行,处于未执行状态。 23

两状态进程模型:队列形式 24 注:

并非所有进程只要“未执行”就处于就绪(ready),有的需要阻塞( blocked )等待I/O完成

“未执行”又可分为就绪和阻塞 25

进程的五状态

执行状态(Running) 就绪状态(Ready) 阻塞状态(Blocked)

新状态(New)

终止状态(Terminated) 26

1. 新状态:进程已经创建,但未被OS接纳为可执行进程 2. 就绪状态:准备执行

3. 执行状态:占用处理机(单处理机环境中,某一时刻仅一个进程占用处理机) 4. 阻塞状态:等待某事件发生才能执行,如等待I/O完成等 5. 终止状态:因停止或取消,被OS从执行状态释放 27 28

①空新状态新创建的进程首先处于新状态。

②新状态就绪状态当系统允许增加就绪进程时,操作系统接纳新建状态进程,将它变为就绪状态,插入就绪队列中。

③就绪状态执行状态当处理机空闲时,将从就绪队列中选择一个进程执行,该选择过程称为进程调度,或将处理机分派给一个进程,该进程状态从就绪转变为执行。

④执行状态终止状态执行状态的进程执行完毕,或出现诸如访问地址越界、非法指令等错误,而被异常结束,则进程从执行状态转换为终止状态。 29

⑤执行状态就绪状态分时系统中,时间片用完,或优先级高的进程到来,将中断较低优先级进程的执行。进程从执行状态转变为就绪状态,等待下一次调度。

⑥执行状态阻塞状态执行进程需要等待某事件发生。通常,会因为进程需要的系统调用不能立即完成,如读文件、共享虚拟内存、等待I/O操作、等待另一进程与之通信等事件而阻塞。

⑦阻塞状态就绪状态当阻塞进程等待的事件发生,就转换为就绪状态。进入就绪队列排队,等待被调度执行。 30 注:

某些系统允许父进程在任何情况下终止其子进程。 如果一个父进程被终止,其子孙进程都必须终止。 - 新状态终止 - 就绪状态终止 - 阻塞状态终止 31 32

问题:多个进程竞争内存资源 内存资源紧张

无就绪进程,处理机空闲:I/O的速度比处理机的速度慢得多,可能出现全部进程阻塞等待I/O

33

解决方法

采用交换技术:换出一部分进程到外存,以腾出内存空间

采用虚拟存储技术:每个进程只能装入一部分程序和数据(存储管理部分) 34

对换技术,交换技术 (Swapping )

将内存中暂时不能运行的进程,或暂时不用的数据和程序,换出到外存,以腾出足够的内存空间,把已具备运行条件的进程,或进程所需要的数据和程序,换入内存。 35

进程的挂起状态

进程被交换到外存,状态变为挂起状态 36

进程挂起的原因

进程全部阻塞,处理机空闲。 系统负荷过重,内存空间紧张。 操作系统的需要。操作系统可能需要挂起后台进程或一些服务进程,或者某些可能导致系统故障的进程。

终端用户的请求。 父进程的需求。 37

被挂起进程的特征 不能立即执行

可能是等待某事件发生,若是,则阻塞条件独立于挂起条件,即使阻塞事件发生,该进程也不能执行

使之挂起的进程为:自身、其父进程、OS

只有挂起它的进程才能使之由挂起状态转换为其他状态 38

挂起与阻塞 问题

是否只能挂起阻塞进程? 如何激活一个挂起进程? 39

挂起与阻塞 区分两个概念:

? 进程是否等待事件,阻塞与否 ? 进程是否被换出内存,挂起与否 4种状态组合:

就绪:进程在内存,准备执行 阻塞:进程在内存,等待事件

就绪/挂起:进程在外存,只要调入内存即可执行 阻塞/挂起:进程在外存,等待事件 40 注:

处理机可调度执行的进程有两种: 新创建的进程

或换入一个以前挂起的进程

通常为避免增加系统负载,系统会换入一个以前挂起的进程执行。 41 挂起 接纳 激活

就绪/挂起

图2.12 具有挂起状态的进程模型 挂起 时间片完 新建 就绪 执行 阻塞 终止

分派/调度 事件发生 事件等待 完成 激活

阻塞/挂起 事件发生 42

具有挂起状态的进程状态转换

阻塞 阻塞/挂起:OS通常将阻塞进程换出,以腾出内存空间

阻塞/挂起就绪/挂起:当阻塞/挂起进程等待的事件发生时,可以将其转换为就绪/挂起 就绪/挂起 就绪:OS需要调入一个进程执行

就绪就绪/挂起:一般,OS挂起阻塞进程。但有时也会挂起就绪进程,释放足够的内存空间 新 就绪/挂起(新 就绪):新进程创建后,可以插入到就绪队列或就绪,挂起队列。若无足够的内存分配给新进程,则需要新就绪/挂起