第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)

2023-08-30
| 16页
| 144人阅读
| 0人下载
普通

内容正文:

操作系统原理(第2版) 2.3 进程控制 2.进程切换的时机 进程切换是中断驱动的,引起进程切换的中断可分为以下三种: (1)中断。中断发生时,操作系统保存当前运行进程(称为旧进程)的现场信息,调度新进程运行。 (2)异常。CPU在一条指令执行时,检查到有一个或多个预定义的条件或错误产生时就会产生异常,这时,终止当前运行进程的执行,CPU转去执行异常处理程序。 (3)系统调用。系统调用是对操作系统服务的一种显式请求。阻塞型系统调用发生时,则当前运行进程被阻塞,此时CPU转去执行进程调度程序。 进程切换 3. 进程上下文切换 (1)当前运行进程(旧进程)被中断时保存其CPU现场信息。 (2)对被中断的当前运行进程进行PCB更新,包括改变进程状态和其他 相关信息。 (3)将被中断的当前运行进程的PCB移入适当的队列(时间片到则移入就绪队列,因某事件阻塞则移入相应的阻塞队列)。 (4)由进程调度程序调度选中另一个就绪进程(新进程),为其设置执行的上下文环境并对其PCB进行更新。 (5)修改新进程的地址空间,更新新进程的内存管理信息。 (6)恢复被选中的新进程最后一次进程上下文切换(上次中断运行)时所保存的CPU现场信息。 进程切换 2.3.2 进程控制原语 1. 原语 一个操作可以依次分成几个具体实施的动作,如果这几个动作的执行不会被分割或中断,且这些动作要么全部执行,要么一个都不执行,则称这个操作具有原子性。 一个特殊的程序段称为原语,意味着这段程序的执行具有原子性,即这段程序的所有指令要么全部执行,要么一个都不执行。 注意:如果原语中某一条指令的执行没有成功,那么该原语中之前已经执行的指令操作要全部废除,并恢复到未执行该原语前的状态。原语的主要作用是保证系统运行的一致性。 2.3 进程控制 2.进程创建原语 int Creat(int n,int k, List *s,List *r) //创建原语 { lock out interrups; //关中断 Get(NewPCB,FreeQueue); //从空闲FreeQueue队列申请一个空闲PCB NewPCB->id=n; //为新进程分配唯一的进程标识符n NewPCB->priority=k; //置新进程的优先级为k GetMemory(NewPCB); //为新进程申请分配内存资源 GetResouce(NewPCB,r); //按资源清单r为新进程分配其他资源 Init_PCB(NewPCB,s); //按初始化清单s初始化新进程的PCB NewPCB->status="ready"; //新进程的状态置为“就绪” NewPCB->parents=EP(); //新进程的父进程为当前执行进程 NewPCB->children=NULL; //新进程的子进程初始为空 Insert(ReadyQueue,NewPCB); //新进程PCB插入ReadyQueue队列 unlock interrupts; //开中断 return(n); //新进程的标识符n返回给当前执行进程 } 3. 进程撤销原语 void Destroy(string name) //撤销原语 { lock out interrups; //关中断 int i=0,dispatch=0; //置重新调度标志dispatch的初值为假 i=Search(PCB_List,name); //根据进程名name在PCB链查找进程标识符 if(i==0) Unusual_Stop(); // i等于0则未找到要撤销进程转异常处理 else //找到要撤销进程的PCB if(i.status=="excute") //被撤销的进程i是运行进程 { dispatch=1; stop(i); } //置重新调度标志为真,终止进程i的执行 else { Destroy(Progeny(i)); //撤销进程i的所有子孙进程 free(i.

资源预览图

第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
1
第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
2
第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
3
第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
4
第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
5
第2章 处理器管理 第3课时 进程控制《操作系统原理课件(第2版)》 同步教学(电子工业出版社)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。