3-进程管理.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 进 程 管 理 作业管理的功能 作业调度从预先存放在辅助存储设备中的一批用户作业中,按照某种方法选取若干作业,为它们分配必要的资源,决定调入内存的顺序。 建立相应的用户作业进程和为其服务的其他系统进程。 然后再把这些进程提交给进程调度程序处理。 作业管理是宏观的高级管理,进程管理是微观的低级管理。 作业的状态变迁 (1)后备状态 作业的提交后,操作系统要对作业进行登记,建立并填写一些与作业有关的表格。建立一个作业控制块(JCB)。 (2)执行状态 它分配必要的资源,提交给进程管理模块 (3)完成状态 从作业队列中去掉,回收作业所占用的资源 作业调度算法 (1)先来先服务(FCFS) 有利于长作业而不利于短作业。 (2)短作业优先(SJF) 较短的作业平均等待时间 ,较大的系统吞吐率。 (3)响应比高优先(HRN) 求等待时间与执行时间两者时间之比。相对等待时间长优先。 (4)优先级调度 作业的紧急程度、资源要求、类别等。 选择调度算法考虑的因素:最高的吞吐率,最高的资源利用率,合理的作业调度,使各类用户都满意。 3.1 进 程 概 述 进程的定义: 进程是程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。 “进程”与“程序”的关系 进程是程序的一次动态执行活动,而程序是进程运行的静态描述文本。 一个进程可以执行一个或多个程序。 同一程序也可被多个进程同时执行。 程序是一种软件资源,它可以长期保存,而进程是一次执行过程,它是暂时存在的,动态地产生和中止的。 3.1.2 进程的组成 进程是在一个上下文的执行环境中执行的,这个执行环境称为进程的映像,或称图像。 包括处理机中各通用寄存器的值,进程的内存映像,打开文件的状态和进程占用资源的信息等。进程映像的关键部分是存储器映像。 进程存储器映像由以下几部分组成: 进程控制块(PCB)、 进程执行的程序(code)、 进程执行时所用的数据、 进程执行时使用的工作区。 进程的基本组成图 1. 进程控制块 PCB是系统用于查询和控制进程运行的档案,它描述进程的特征,记载进程的历史,决定进程的命运。 PCB可分为两部分: 一部分是进程基本控制块。基本控制块要常驻内存。 另一部分是进程扩充控制块。当进程不处于执行状态时,操作系统就不会访问这部分信息。扩充控制块可以在盘交换区与内存之间换入换出。 2. 共享正文段 共享正文段是可以被多个进程并发地执行的代码,由不可修改的代码和常数部分组成,例如:编辑程序vi。 用户用C语言所编的程序,经编译后产生的代码也是作为共享正文段装入内存的。 4. 工作区 核心栈——进程在核心态运行时的工作区。 用户栈——进程在用户态下运行时的工作区。 在调用核心的函数或用户的函数时,两种栈分别用于传递参数、存放返回地址、保护现场以及为局部动态变量提供存储空间。 3.1.3 进程的状态及其变化 进程具有生存期,它有一个创建、活动及消亡的过程。 进程在其整个生存期间可处于不同的状态,有一些不同的特征,其中最基本的状态有以下三种。 执行(Running)状态 就绪(Ready)状态 阻塞(Blocked)状态 进程状态的转换图 3.2 进程控制块 进程的标识信息 进程的特征 现场保护区 资源信息 运行管理信息 进程的状态 进程的位置和大小 进程通信信息 进程间联系 1. proc结构 UNIX中常驻内存的PCB部分称为proc结构。 struct proc { char p_stat; /* 进程状态 */ char p_flag; /* 进程标志 */ char p_pri; /* 进程运行的优先数 */ char p_time; /* 进程驻留时间 */ char p_cpu; /* 进程使用CPU的量 */ char p_nice; /* 进程优先数偏置值 */ ushort p_uid; /* 实际用户标识数 */ ushort p_suid; /* 有效用户标识数 */ short p_pgrp; /* 所在进程组的首进程标识数 */ struct proc (续) short p_pid; /* 进程标识数 */ short p_ppid; /* 父进程标识数 */ short p_addr; /* 相应user结构的起始页面号 */ short p_size; /* 可交换存储映像的大小*/ short p_swaddr; /* 交换区的磁盘地址 */ short p_sig; /* 进程收到的软中断信号 */ caddr_

文档评论(0)

ea238982 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档