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

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

43

具有挂起状态的进程状态转换(续)

阻塞/挂起阻塞:当阻塞/挂起队列中有一个进程的阻塞事件可能会很快发生,则可将一个阻塞/挂起进程换入内存,变为阻塞

执行就绪/挂起:当执行进程的时间片用完时,会转换为就绪。或,一个高优先级的阻塞/挂起进程正好变为非阻塞状态,OS可以将执行进程转换为就绪/挂起状态

所有状态终止:通常,执行终止。但某些OS中,父进程可以终止其子进程,使任何状态的进程都可转换为退出状态 44

2.3 进程的控制 45

两种执行模式

系统模式(又称为系统态)、控制模式或内核模式: - 具有较高的特权

- 运行系统特定的指令,包括读/写控制寄存器的指令、基本I/O指令以及与存储器管理有关的指令,及一些特定的内存区

- 内核模式下的处理机及其指令、寄存器和内存都受到完全控制和保护 用户模式(或用户态) - 具有较低的特权

- 用户程序一般运行在用户模式 46

模式切换

用户模式系统模式:用户程序执行到一条系统调用,进入操作系统内核执行 系统模式用户模式:执行完系统调用的功能,返回到用户程序

特殊情况:程序执行到结束语句时,切换到系统模式,不再返回到用户程序 47

操作系统内核(Kernel)

操作系统的核心,是基于硬件的第一层软件扩充,提供操作系统最基本的功能,是操作系统工作的基础。

现代操作系统设计中,为减少系统本身的开销,往往将一些与硬件紧密相关的(如中断处理程序、设备驱动程序等)、基本的、公共的、运行频率较高的模块(如时钟管理、进程调度等)以及关键性数据结构独立开来,使之常驻内存,并对它们进行特殊保护。通常把这一部分称为操作系统的内核。 48

用户通过系统调用访问操作系统的功能,这些功能最终都通过操作系统内核实现。 不同的操作系统对内核的定义和功能范围的设定是不同的。

一般地,操作系统内核的功能可以概括地划分为资源管理功能和支撑功能。 - 资源管理:进程管理、存储管理和I/O设备管理

- 支撑功能:中断处理、统计、监测、时钟管理、原语操作等。 49

资源管理功能

进程管理:进程创建和终止、调度、状态转换、同步和通信、管理PCB 存储管理:为进程分配地址空间、对换、段/页管理 I/O 设备管理:缓存管理、为进程分配I/O通道和设备

50

支撑功能 中断处理 时钟管理

原语( Primitive ): 原子操作 统计 监测 51

进程控制原语 进程切换 创建与终止 阻塞与唤醒 挂起与激活 52

进程创建: 原因

提交新的批处理作业 交互式用户注册 操作系统提供服务 父进程创建子进程 53

进程创建: 步骤

为进程分配一个唯一标识号ID 主进程表中增加一个新的表项

为进程分配空间 : 用户地址空间、用户栈空间、PCB空间。若共享已有空间,则应建立相应的链接。

初始化PCB:进程标识、处理机状态信息、进程状态

建立链接 :若调度队列是链表,则将新进程插入到就绪或就绪/挂起链表 建立或扩展其他数据结构 54

进程终止: 原因

批处理作业执行到“结束”语句 交互式用户“注销”

停止进程(应用程序)的执行 遇到错误或故障 55

进程终止: 具体原因 正常结束

超时终止,执行时间超过预计时间

内存不足,无法为进程分配所需的内存空间 越界访问

企图使用未允许用的数据,或操作方式错

计算错,如除零,或企图存储硬件允许的最大数 超时等待某事件发生 56

进程终止: 具体原因

I/O 失败, 如找不到文件或多次重试仍无法读写文件,或无效操作 无效指令,企图执行不存在的指令 特权指令,企图执行特权指令 数据类型不符,或未初始化

操作员或OS干预,如发生死锁的时候 父进程终止 父进程请求 57

进程终止: 步骤

根据被终止进程的标识符ID,找到其PCB,读出该进程的状态; 若该进程为执行状态,则终止其执行,调度新进程执行; 若该进程有子孙进程,则立即终止其所有子孙进程

将该进程的全部资源,或归还给其父进程,或归还给系统

将被终止进程(的PCB)从所在的队列中移出,等待其它程序来搜集信息 58

进程的阻塞与唤醒

阻塞原因:请求系统服务;启动某种操作,如I/O;新数据尚未到达;暂时无新工作可做等 当出现阻塞事件,进程调用阻塞原语将自己阻塞。并将其状态变为“阻塞状态”,并进入相应事件的阻塞队列;

当阻塞进程期待的事件发生,有关进程调用唤醒原语,将等待该事件的进程唤醒。并将其状态变为“就绪状态”,插入就绪队列。

一般,进程可以自己阻塞自己;而唤醒操作则由操作系统,或其它相关进程来完成,进程无法自己唤醒自己。 59

进程的挂起与激活 当出现挂起事件,系统利用挂起原语将指定进程或一个阻塞进程挂起。进程从内存换出到外存,其状态转换:就绪就绪/挂起 或阻塞阻塞/挂起

当激活事件发生,系统利用激活原语将指定进程激活。将相应进程从外存换入到内存,可能的状态转换:就绪/挂起就绪,或 阻塞/挂起阻塞 60

进程切换 时钟中断

进程执行完一个时间片 I/O 中断

内存访问出错

- 虚拟存储中,需要的指令或数据不在内存 陷阱

执行遇到错误

可能使进程转换到终止状态 61

进程A切换到进程B 的步骤

首先,保护进程A的现场将进程A的当前运行信息,如程序执行到的当前位置,程序状态字,所有的寄存器值等保存到进程A的PCB中。

然后,恢复进程B的现场从进程B的PCB中获取其执行信息,将这些信息写入相应的寄存器中,程序计数器指向进程B将执行的下一条指令。进程 B可能第一次开始执行,也可能是被中断过的进程,恢复执行。不论是哪一种情况,进程B的执行信息都能在其PCB中找到。 62

进程切换 vs. 模式切换

进程切换,作用于进程之间的一种操作。当分派程序收回当前进程的CPU并准备把它分派给某个就绪进程时,该操作将被引用。

模式切换,是进程内部所引用的一种操作。当用户程序转入系统调用,或相反时,该操作将被引用。

进程切换一定引发模式切换,反之则不然。 63

2.4 进程调度 64

什么是调度?

调度是指,在一个队列中,按照某种方法(算法),选择一个合适的个体的过程。 调度的关键是需要某种方法或算法,好的调度算法有利于选择到合适的个体。 如何判断、设计一个好的调度算法呢? 65

调度实例 66

调度目标

公平性,防止进程长期不能获得调度而饥饿; 处理机利用率,尽量提高处理机的利用率; 提高系统吞吐量;

尽量减少进程的响应时间 67

调度原则

满足用户的要求:响应时间、周转时间、截止时间

满足系统的需求:系统吞吐量、处理机利用率、各类资源的平衡使用、公平性及优先级 68

面向用户的原则:响应时间

是指,从用户通过键盘提交一个请求开始,直到系统首次产生响应为止的时间。 输入的请求传送到处理机的时间

+ 处理机对请求信息进行处理的时间 + 将响应结果发送到输出终端的时间 响应时间

调度算法则应考虑尽可能使绝大多数用户的请求能在响应时间内完成。 常用于评价分时系统的性能。