作业系统L3-行程

作业系统L3-行程

行程(Process)–正在执行的程式

行程(Process) VS 程式(Program)

行程(Process):执行中的程式,主动个体程式(Program):储存在硬碟中的可执行档,被动一个程式可能有数个行程

行程记忆体结构

文本区(text):程式码,包含PC计数器和暂存器资料

资料区间:包含全域变数

堆积(Heap):动态配置的记忆体

堆叠(stack):区域变数,函式参数

行程状态

new: Process已被建立,取得PCB空间,未载入记忆体ready:Process已在记忆体,等待CPUwaiting:Process邓带IO中running:Process取得CPU执行中terminated:完成工作,準备回收PCB

行程控制表(PCB)

    又称任务控制表(task control block)
行程ID:唯一行程状态︰running或waiting等程式计数器︰指向下一个要执行指令的位址CPU暂存器:记录在暂存器的值CPU排班相关的资讯:记忆体管理资讯:会计资讯I/O资讯

行程排班

伫列

工作伫列(Job queue) –所有行程的集合

就绪伫列(Ready queue)–位于主记忆体中且就绪等待执行的行程

装置伫列(Device queues)–等待某I/O装置的行程

  伫列图(Queuing diagram)

排班伫列

长程排班程式(Long-term scheduler,job scheduler):放入Ready queue,控制多元规划程度

短程排班程式(Short-term scheduler,PU scheduler):并将CPU分配给它

中程排班程式(Medium-term scheduler)

行程描述:

I/O倾向行程(I/O-bound process):IO花费时间多CPU倾向行程(CPU-bound process):CPU花费多

置换(swapping):从记忆体移除行程,储存到磁碟OR从磁碟回存到记忆体继续执行


Context Switching

CPU要从旧行程转到新行程时,在储存装置载入和储存状态Context Switching的转换时间是负担,OS和PCB影响时间

行程产生/结束

fork():呼叫新行程exec():新行程取代记忆体空间exit():新行程执行完后,删除自身abort():父行程可以结束子行程的执行wait():子行程输出资料到父行程

行程通讯

合作行程

行能够影响其它行程,或是受到其它行程所影响好处:(1)资讯共享、(2)加速运算、(3)模组化、(4)方便性行程间通讯(Inter-Process Communication, IPC)讯息传递(Message passing)共用记忆体(Shared memory)无限缓冲区(unbounded-buffer)对于缓冲区的大小没有限制有限缓冲区(bounded buffer)假设缓冲区的大小固定

独立行程

无法影响其它行程的执行且不受其它的行程影响

通讯鍊

构成send(P, message) –传送讯息给行程P
*** receive(Q, message) –从行程Q接收讯息**port(信箱埠):传送与接收讯息,两个行程共用信箱埠时,它们才可互相联繫操作产生一个新的信箱埠经由信箱埠传送并接收讯息删除一个信箱埠同步等待(blocking),同步(synchronous)等待传送(blocking send)︰传送行程等待,直到讯息被接收等待接收(blockingreceive)︰接收者等待,直到有讯息出现非等待(non-blocking)被视为非同步(asynchronous)非等待传送(non-blocking send)︰传送行程送出讯息后继续执行非等待接收(non-blocking receive)︰接收者取回有效讯息或无效资料

缓冲器(Buffer)

1.零容量(Zero capacity)–零讯息传送者必须等候接收者(约会)2.有限容量(Bounded capacity)–有限长度n 的讯息如果链已经填满,那么传送者必须等待3.无限制容量(Unbounded capacity)–无限长度传送者不需要等待

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章