操作系统学习笔记——进程控制

三  进程控制

1.    两种执行模式

l 系统模式(系统态,控制模式,内核模式):

n 具有较高的特权。

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

n 内核模式下的处理机及其指令、寄存器和内存收受到完全控制和保护

l 用户模式(或用户态):

n 具有较低的特权。

n 用户程序一般运行在用户模式。

 

2.    模式切换

l 用户模式 → 系统模式:用户程序执行到一条系统调用,进程操作系统内核执行。

l 系统模式 → 用户模式:执行完系统调用的功能,返回到用户程序。

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

 

3.    进程创建

3.1进程创建原因:(p84 表3.1)

l  提交新的批处理作业

l  交互登录:终端用户登录到系统

l  操作系统提供服务

l  父进程创建子进程

3.2  进程创建:步骤

1)       为进程分配一个唯一的进程标识号:主进程表中增加一个新项目。

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

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

4)       建立链接:若调度队列是链表,则将新进程插入到就绪或就绪/挂起链表。

5)       建立或扩展其他数据结构

 

4     进程终止。

4.1   终止原因(p85)

4.2   步骤

1)       根据被终止进程的标识符ID,找到其PCB,读出该进程状态

2)       若该进程为执行状态,则终止其执行,调度新进程执行;

3)       若该进程有子孙进程,则立即终止其所有子孙进程;

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

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

 

5     进程阻塞与唤醒

l  阻塞原因:请求系统服务;启动某种操作,如I/O;新数据尚未到达,暂时无新工作可做等;

l  当出现阻塞事件,进程调用阻塞原语将自己阻塞。并将其状态变为“阻塞状态”,并进入相应事件的阻塞队列;

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

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

 

6   进程挂起与激活

l  当出现挂起事件,系统里利用挂起原语将指定进程或一个阻塞进程挂起。

l  当激活事件发生,系统利用激活原语将指定进程激活。

 

7.      进程切换(从正在运行的进程中收回处理器,然后再使待运行进程来占用处理器

7.1  切换原因

l  时钟中断

n  进程执行完一个时间片

l  I/O中断

l  内存访问出错

l  陷阱

n  执行遇到错误

7.2  进程切换vs模式切换

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

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

l  进程切换一定引发模式切换(比如从用户进程切换到下一个进程或系统进程,要切换一定要执行调度程序,调度程序需要内核处理)。反之则不然。

 

你可能感兴趣的:(数据结构,工作,存储,扩展,终端,作业)