- 1、本文档共27页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch2_2详解
* 进程控制块的内容 进程标识符: 进程标识符(process ID)(内部标识符):唯一,通常是一个整数; 进程名(外部标识符) :不唯一,由字母数字组成; 位置信息:指出进程的程序和数据在内存和外存中的物理位置 现场信息:寄存器值(通用、程序计数器PC、状态PSW,地址包括栈指针) 状态信息:进程现行状态 进程优先级:进程使用CPU的优先级别 资源清单:已分配到的资源等 同步与互斥机构 进程通讯机制 队列指针 家族联系 资源占用信息:虚拟地址空间的现状、打开文件列表 内核本身并非一个进程,而是硬件的首次延伸,即它是加到硬件上的第一层软件。 内核是通过执行各种原语操作来实现各种控制和管理功能的。 内核本身并非一个进程,而是硬件的首次延伸,即它是加到硬件上的第一层软件。 内核是通过执行各种原语操作来实现各种控制和管理功能的。 各系统的建立进程原语就是供进程调用的用以建立子进程使用的。该原语的主要工作是为被建立进程建立起一个进程控制块PCB,并填入相应的初始值。其主要操作过程是先向系统的PCB空间申请分给一个空闲的PCB,而后根据父进程所提供的参数,将子进程的PCB表目初始化,最后返回一个进程内部名。参数为:进程名(外部标识符)n;处理机的初始状态(或进程运行现场的初始值,主要指名寄存器和程序状态字初始值)S0;优先数k0;父进程分给子进程的初始主存区M0和其它资源清单(多种资源表)R0等。 程序中的第?语句是调用查找进程名过程“ Get Internal Name ”,参数为进程外部名n。该过程查找PCB集合,如已有此同样外部名进程则返回出错消息,否则返回一个空闲的PCB内部标识号i。 第?语句是把进程外部名n登记到第i个PCB的相应外部名表目中。 语句?是往PCB中登记优先数。 语句?登记现场状态初始值 S0到相应的现场保留区中或Cpustate中。 ?,?分别记入主存和资源的初始占有情况,这是由父进程将自己的一部分资源分给子进程的。 ?是把进程初始状态置为“ 挂起就绪 ”。 语句?中CALLER代表调用本过程的父进程之内部标识号,将它记入子进程PCB的父进程名这一栏。 语句?也是调用插入过程Insert,其中RL表示就绪队列,即把进程i插入就绪队列。 各系统的建立进程原语就是供进程调用的用以建立子进程使用的。该原语的主要工作是为被建立进程建立起一个进程控制块PCB,并填入相应的初始值。其主要操作过程是先向系统的PCB空间申请分给一个空闲的PCB,而后根据父进程所提供的参数,将子进程的PCB表目初始化,最后返回一个进程内部名。参数为:进程名(外部标识符)n;处理机的初始状态(或进程运行现场的初始值,主要指名寄存器和程序状态字初始值)S0;优先数k0;父进程分给子进程的初始主存区M0和其它资源清单(多种资源表)R0等。 程序中的第?语句是调用查找进程名过程“ Get Internal Name ”,参数为进程外部名n。该过程查找PCB集合,如已有此同样外部名进程则返回出错消息,否则返回一个空闲的PCB内部标识号i。 第?语句是把进程外部名n登记到第i个PCB的相应外部名表目中。 语句?是往PCB中登记优先数。 语句?登记现场状态初始值 S0到相应的现场保留区中或Cpustate中。 ?,?分别记入主存和资源的初始占有情况,这是由父进程将自己的一部分资源分给子进程的。 ?是把进程初始状态置为“ 挂起就绪 ”。 语句?中CALLER代表调用本过程的父进程之内部标识号,将它记入子进程PCB的父进程名这一栏。 语句?也是调用插入过程Insert,其中RL表示就绪队列,即把进程i插入就绪队列。 当出现了引起进程挂起的事件时,比如,用户进程请求将自己挂起,或父进程请求将自己的某个子进程挂起, 系统将利用挂起原语suspend( )将指定进程或处于阻塞状态的进程挂起。挂起原语的执行过程是:首先检查被挂起进程的状态,若处于活动就绪状态,便将其改为静止就绪;对于活动阻塞状态的进程,则将之改为静止阻塞。 为了方便用户或父进程考查该进程的运行情况而把该进程的PCB复制到某指定的内存区域。最后,若被挂起的进程正在执行,则转向调度程序重新调度。 当发生激活进程的事件时,例如,父进程或用户进程请求激活指定进程,若该进程驻留在外存而内存中已有足够的空间时,则可将在外存上处于静止就绪状态的进程换入内存。这时,系统将利用激活原语active( )将指定进程激活。 激活原语先将进程从外存调入内存,检查该进程的现行状态,若是静止就绪,便将之改为活动就绪;若为静止阻塞便将之改为活动阻塞。假如采用的是抢占调度策略,则每当有新进程进入就绪队列时,应检查是否要进行重新调度,即由调度程序将被激活进程与当前进程进行优先级的比较,如果被激活进程的优先级更
文档评论(0)