欢迎来到天天文库
浏览记录
ID:45633506
大小:568.00 KB
页数:84页
时间:2019-11-15
《中南大学数学院计算机操作系统第三章课件存储管理进程管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第三章进程管理2作业管理的功能作业调度从预先存放在辅助存储设备中的一批用户作业中,按照某种方法选取若干作业,为它们分配必要的资源,决定调入内存的顺序。建立相应的用户作业进程和为其服务的其他系统进程。然后再把这些进程提交给进程调度程序处理。作业管理是宏观的高级管理,进程管理是微观的低级管理。3作业的状态变迁(1)后备状态作业的提交后,操作系统要对作业进行登记,建立并填写一些与作业有关的表格。建立一个作业控制块(JCB)。(2)执行状态它分配必要的资源,提交给进程管理模块(3)完成状态从作业队列中去掉,回收作业所占用的资源4作业调度算法(1)先来先服务(FCFS)有利于长
2、作业而不利于短作业。(2)短作业优先(SJF)较短的作业平均等待时间,较大的系统吞吐率。(3)响应比高优先(HRN)求等待时间与执行时间两者时间之比。相对等待时间长优先。(4)优先级调度作业的紧急程度、资源要求、类别等。选择调度算法考虑的因素:最高的吞吐率,最高的资源利用率,合理的作业调度,使各类用户都满意。53.1进程概述进程的定义:进程是程序处于一个执行环境中在一个数据集上的运行过程,它是系统进行资源分配和调度的一个可并发执行的独立单位。3.1.1进程的概念6“进程”与“程序”的关系进程是程序的一次动态执行活动,而程序是进程运行的静态描述文本。一个进程可以执行一个
3、或多个程序。同一程序也可被多个进程同时执行。程序是一种软件资源,它可以长期保存,而进程是一次执行过程,它是暂时存在的,动态地产生和中止的。73.1.2进程的组成进程是在一个上下文的执行环境中执行的,这个执行环境称为进程的映像,或称图像。包括处理机中各通用寄存器的值,进程的内存映像,打开文件的状态和进程占用资源的信息等。进程映像的关键部分是存储器映像。进程存储器映像由以下几部分组成:进程控制块(PCB)、进程执行的程序(code)、进程执行时所用的数据、进程执行时使用的工作区。8共享正文段工作区数据区进程控制块进程的基本组成图91.进程控制块PCB是系统用于查询和控制进
4、程运行的档案,它描述进程的特征,记载进程的历史,决定进程的命运。PCB可分为两部分:一部分是进程基本控制块。基本控制块要常驻内存。另一部分是进程扩充控制块。当进程不处于执行状态时,操作系统就不会访问这部分信息。扩充控制块可以在盘交换区与内存之间换入换出。102.共享正文段共享正文段是可以被多个进程并发地执行的代码,由不可修改的代码和常数部分组成,例如:编辑程序vi。用户用C语言所编的程序,经编译后产生的代码也是作为共享正文段装入内存的。3.数据段进程执行时用到的数据,如C程序中的外部变量和静态变量。如进程执行的程序为非共享程序,则也可构成数据段的一部分。114.工作区
5、核心栈——进程在核心态运行时的工作区。用户栈——进程在用户态下运行时的工作区。在调用核心的函数或用户的函数时,两种栈分别用于传递参数、存放返回地址、保护现场以及为局部动态变量提供存储空间。123.1.3进程的状态及其变化进程具有生存期,它有一个创建、活动及消亡的过程。进程在其整个生存期间可处于不同的状态,有一些不同的特征,其中最基本的状态有以下三种。执行(Running)状态就绪(Ready)状态阻塞(Blocked)状态13进程状态的转换图执行就绪阻塞143.2进程控制块进程的标识信息进程的特征现场保护区资源信息运行管理信息进程的状态进程的位置和大小进程通信信息进程
6、间联系在PCB中一般包括以下的信息:151.proc结构UNIX中常驻内存的PCB部分称为proc结构。structproc{charp_stat;/*进程状态*/charp_flag;/*进程标志*/charp_pri;/*进程运行的优先数*/charp_time;/*进程驻留时间*/charp_cpu;/*进程使用CPU的量*/charp_nice;/*进程优先数偏置值*/ushortp_uid;/*实际用户标识数*/ushortp_suid;/*有效用户标识数*/shortp_pgrp;/*所在进程组的首进程标识数*/16structproc(续)shortp_
7、pid;/*进程标识数*/shortp_ppid;/*父进程标识数*/shortp_addr;/*相应user结构的起始页面号*/shortp_size;/*可交换存储映像的大小*/shortp_swaddr;/*交换区的磁盘地址*/shortp_sig;/*进程收到的软中断信号*/caddr_tp_wchan;/*进程睡眠原因*/structtext*p_textp;/*指向正文段控制结构的指针*/structproc*p_link;/*运行队列进程或各睡眠队列进程的链接指针*/……};17text结构系统分配一个控制块text结构,以便于多个进程
此文档下载收益归作者所有