PCB进程控制块
独立运行基本单位的标志:创建进程时创建PCB,进程结束时回PCB,进程随之消亡。系统是通过PCB,感知进程的存在。PCB已成为,进程存在于系统中的唯一标志。
实现间断性运行方式:进程暂停运行时,必须保留,运行时的CPU等相关信息。进程被再次运行时,需恢复CPU等相关信息。
提供进程管理需要的信息:当进程开始运行时,根据该进程PCB中,记录的程序和数据,在内存或外存中起始地址指针,找到相应的程序和数据。
提供进程调度需要的信息:只有处于就绪状态的进程,才能被调度。而进程的状态就记录在PCB中、以及优先级、等待时间、已执行时间等其他信息。
实现与其他进程的同步与通信:进程同步机制,用于实现多进程协调运行。在PCB中,具有实现进程通信的区域或通信队列指针等。
PCB进程控制块中的信息:PCB中的信息大致上可分为4类,分别是:进程标识符、CPU状态、调度信息、控制信息。
进程标识符:分外部标识符和内部标识符,外部标识符即进程名称,可由父进程指定,通常包括字符和数字的组成。内部标识符,由操作系统提供的,具有唯一性的进程ID。
CPU状态:主要由各种寄存器中内容组成,如通用寄存器、指令计数器(下一条指令的地址)、程序状态(状态信息、条件码、执行方式、屏蔽中断等标志)和栈指针(指向用于存放过程和系统调用参数及调用地址的系统栈的栈顶)构成。
调度信息:包含进程状态、进程优先级、其他信息、事件(阻塞原因)。
进程状态,是进程调度和对换时的依据,优先级高的进程,应优先获得CPU执行。
控制进程所必须的信息,包括程序和数据的存储地址,以便调度该进程执行时,能从PCB中找到其程序和数据,进程同步和通信机制,如消息队列、信号量等。
进程的创建和终止过程
创建进程过程:向操作系统申请空白PCB及进程ID、分配运行所需的资源、初始化PCB、等待插入进程调度就绪队列。
相关资源或从操作系统或从父进程获得,资源需求需提前告知,操作系统或父进程好为其分配资源。
PCB至少有2种信息需要初始化
1.标识信息,即将本进程ID和父进程ID填入PCB控制块中
2.状态信息,指令计数器指向程序的入口地址、栈指针指向栈顶控制信息。
进程的终止分为:读取进程状态、终止进程、终止子孙进程、释放资源、移出PCB队列。
操作系统通过进程ID从PCB集合中检索出该进程的PCB,从中读出该进程的状态。
如果该进程状态为执行态,则终止进程的执行,并重置调度标志位真。
如果该进程拥有子孙进程,则一并将所有子孙进程终止,防止子孙进程成为僵尸进程等不可控的进程。
接着释放资源,将资源归还给操作系统或父进程。最后就是移出PCB队列了,等待其他进程搜集信息。
进程阻塞和唤醒的事件
1.请求系统服务而得不到满足时,如问系统请求打印。
2.启动的操作需同步时:如该操作和请求该操作的进程需同步运行。
3.新数据尚未到达:如进程A写,进程B读,则A未写,完B不能读。
4.无新工作可做。
进程的挂起和激活
1.进程的挂起过程,由进程自己,或其父进程suspend原语完成。将该进程PCB移到指定区域,注意状态的改变,有可能要重新调度。
-
操作系统
+关注
关注
37文章
6734浏览量
123184 -
进程
+关注
关注
0文章
201浏览量
13947 -
系统
+关注
关注
1文章
1006浏览量
21310 -
PCB
+关注
关注
1文章
1777浏览量
13204
发布评论请先 登录
相关推荐
评论