6 进程和作业管理

合集下载

第六章 作业管理

第六章 作业管理

6.3.1 批处理作业输入(2) 批处理作业输入(2)
2.作业控制块 作业控制块(JCB,Job Control Block)是批处理作业存在的标志,其中存有 系统对于作业进行管理所需要的全部信息,它们被保存于辅存存储区域 中。作业控制块中所包含的信息数量及内容因系统而异,但一般应包含: 作业名、作业状态、作业类别、作业优先级、作业控制方式、资源需求量、 进入系统时间、开始运行时间、运行时间、作业完成时间和所需主存地 址及外设种类及台数等。 (1)作业控制块的建立 当作业开始由输入设备输入到辅存的输入井时,系统输入程序即为其建立一 个作业控制块,并对其进行初始化。初始化的大部分信息取自作业控制 说明书,其它的部分信息如作业进入系统时间和作业开始运行时间等则 由资源管理器给出。 (2)作业控制块的使用 需要访问作业控制块的程序主要有系统输入程序、作业调度程序、作业 控制程序和系统输出程序等。 (3)作业控制块的撤销 当作业完成后,其作业控制块由系统输出程序撤销,作业控制块被撤销后其 作业也不复存在。
6.2.2 程序接口(1) 程序接口(1)
程序接口是由提供给编程人员使用的系统调用命令组成。编程人员允许在运 行程序中,利用系统调用在程序这一级提出资源申请和功能服务,从而 获得操作系统的底层服务,使用或访问系统的各种软硬件资源。 操作系统提供的系统功能调用从低级的汇编语言级的接口,发展到高级语言 中提供的操作系统服务。用户在用高级语言编程时,可以利用操作系统 提供的丰富的系统功能调用来请求系统资源,进行进程控制和通信,完 成信息的处理等工作。 1.系统调用 操作系统的基本服务是通过系统功能调用来实现的,系统调用是操作系统为 用户程序提供的一种服务,由若干不同功能的子程序组成,用户程序在 执行中可以调用这些子程序。由操作系统提供的这些子程序称“系统功 能调用”程序,或简称“系统调用”。 “系统调用”是在管态下执行的 程序。 系统调用是用户所需要的功能,有些是比较复杂的,硬件不能直接提供,只 能通过软件的程序来实现;而有些功能可由硬件完成,并设有相应的指 令,如启动外设工作,就有用于输入/输出的硬指令。但配置了操作系统 后,对系统资源的分配、控制不能由用户干预,而必须由操作系统统一 管理。所以,对于这样一类功能,也需有相应的控制程序来实现。

操作系统原理考题与答案

操作系统原理考题与答案

《操作系统原理》期末考试题班级学号姓名1.操作系统是一种( )。

A. 系统软件B. 系统硬件C. 应用软件D. 支援软件2.分布式操作系统与网络操作系统本质上的不同在于()。

A.实现各台计算机这间的通信B.共享网络中的资源C.满足较在规模的应用D.系统中多台计算机协作完成同一任务3.下面对进程的描述中,错误的是()。

A.进程是动态的概念B. 进程执行需要处理机C.进程是指令的集合D. 进程是有生命期的4.临界区是指并发进程中访问共享变量的()段。

A.管理信息B.信息存储C.数据D.程序5.要求进程一次性申请所需的全部资源,是破坏了死锁必要条件中的哪一条()。

A.互斥B.请求与保持C.不剥夺D.循环等待6.以下哪种存储管理不可用于多道程序系统中()。

A.单一连续区存储管理B.固定式区存储管理C.可变分区存储管理D.段式存储管理7.在可变式分区存储管理中,某作业完成后要收回其主存空间,该空间可能与相邻空闲区合并,修改空闲区表,使空闲区数不变且空闲区起始地址不变的情况是()。

A.无上邻空闲区也无下邻空闲区B.有上邻空闲区但无下邻空闲区C.有下邻空闲区但无上邻空闲区D.有上邻空闲区也有下邻空闲区8.系统“抖动”现象的发生不是由()引起的。

A.置换算法选择不当B.交换的信息量过大C.主存容量不足D.请求页式管理方案9.在进程获得所需全部资源,唯却CPU时,进程处于()状态。

A.运行B.阻塞C.就绪D.新建10.要页式存储管理系统中,将主存等分成()。

A.块B.页C.段长D.段11.系统利用SPOOLING技术实现()。

A.对换手段B.虚拟设备C.系统调用D.虚拟存储12.设备从磁盘驱动器中读出一块数据的总时间为()。

A.等待时间+ 传输时间B.传输时间C.查找时间+ 传输时间D.延迟时间+ 查找时间+ 传输时间13.如果允许不同用户的文件可以具有相同的文件名,通常采用()来保证按名存取的安全。

A.重名翻译机构B.建立索引表C.多级目录结构D.建立指针二、多项选择题(每题3分,共24分)1.操作系统有多种类型,允许多个用户以交互方式使用的操作系统,称为()。

高二会考计算机题目

高二会考计算机题目

高二会考计算机题目一、用适当内容填空1.计算机系统是由(硬件)系统和(软件)系统两部分组成。

2.操作系统就是计算机的一种系统软件,它有效地管理和掌控计算机的(硬、硬件资源),合理非政府计算机工作流程,以并使整个计算机系统高效率地运转。

3.操作系统基本功能包括(进程管理)(作业管理)(存储管理)(文件管理)和(设备)管理五部分。

4.按内存中同时运转程序的数目,可以将批处理系统分成(单道批处理系统)和(多道批处理系统)两大类。

5.并发和(共享)是操作系统的两个基本特征,两者互为依存条件。

6.操作系统的异步性就是指(进程以不容预见的速度向前大力推进)、(程序顺利完成时间不容预见)。

7.多道程序设计技术能充分发挥( CPU )与(输入输出设备)并行工作的能力。

8.实时操作系统的主要特征就是(实时性)和(高可靠性)。

9.批处理系统主要解决的是(系统吞吐量)问题,分时系统主要解决的是(人机交互)问题。

10.在(批处理)系统中,用户无法随时干涉自己程序运行。

11.在主机控制下实现输入输出操作称为(联机)操作。

12.同时实现多道程序系统的计算机硬件基础就是(地下通道)和(中断机构)的导入。

13.在操作系统中,(进程)是资源分配最小单位。

14.留存进程状态、掌控进程切换,并且就是进程存有的惟一标志的就是(进程掌控块)。

15.进程的基本特征有(动态性)、(并发性)、独立性、异步性和结构性。

16.进程和程序显然区别就是:进程就是(动态的),程序就是(静态的)。

17.进程的三个基本状态是(就绪态)、(运行态)和(等待态)。

18.为并使操作系统更加安全可靠地工作,计算机系统中的程序存有两种相同的运转状态:(系统态或管态)和(用户态或目态),在(用户)态运转的程序无法继续执行特权指令。

19.存储管理的功能是(存储分配)、(存储保护)、(虚拟存储器管理)和(地址映射)。

20.虚拟存储管理的同时实现基于(程序局部性)原理。

21.在一般操作系统中,设备管理的`主要功能包括(缓冲管理)、(设备分配)、(设备处理)和(虚拟设备)。

6-作业管理

6-作业管理

CH6 作业管理作业管理的主要工作是:A> 对用户作业的合理调度, 以提高系统的吞吐量和减少作业周转时间.B> 提供用户与OS的接口, 以方便用户对作业的运用和控制.本章内容主要有:§1. 作业#1 概念#2 作业状态§2.作业管理的功能#1 作业调度#2 作业控制#3 用户与OS的接口§3. 作业流处理#1 JSP,作业流管理进程#2 JSP工作流程§4. 作业调度#1 作业调度的目标和应考虑的因素#2 作业调度算法#3 相关概念#4 周转时间的计算§1. 作业一、概念1. 在CH1的批处理技术中, 已讲到作业, 即:完成独立事件的程序+数据==>作业步; 如编辑, 编译, 连接, 运行等.作业步+相应的控制信息, 完成某种事务==>作业;作业的有序组合==>作业流2. 作业类型#1 从调度角度分: A> 计算型: 如科学计算作业B> I/O型: 如事务处理作业#2 从控制角度分:A> 脱机作业: 依据作业说明书控制作业运行, 常用于批处理系统, 也称为批量型作业.B> 联机作业: 用键盘命令直接控制作业运行, 常用于分时系统, 也称为终端型作业.二、作业状态一作业从进入到运行结束一般经历三个状态(教材增加了提交状态), 如下图:后备状态完成状态作业注册/提交作业调度( 图6-1 )1.后备态作业所需信息全部输入外存后, 由注册程序(JSP,作业流管理进程)为其建立作业控制块(JCB), 并输入到作业后备队列等待作业调度, 此时的状态即为后备态.2.运行态作业调度从作业后备队列中选择一作业进入内存, 建立相应的进程, 此时进入运行态, 可细分为就绪, 执行, 阻塞三基本状态.3. 终止态作业(此时是进程)正常或异常结束时, 自我终止/被迫终止, 便进入终止态. 此时系统回收作业控制块, 然后该作业消亡. 所以终止态存在时间很短暂.§2.作业管理的功能作业管理的功能主要是: 作业调度和作业控制两大块.一、作业调度1、是批处理系统中处理机分配的第一步, 按一定算法从后备作业队列中选择一作业, 分配资源(除处理机外), 创建进程并插入到就绪队列中.2、应指出, 只有批处理系统才有作业调度. 在分时系统中, 由于用户从终端输入的作业直接进入内存而人机交互, 因此不需从外存到内存的作业调度; 在实时系统中, 由于要求的响应时间更为严格, 也不需作业调度.二、作业控制用户通过OS的界面, 向系统发出各种命令, 管理自己作业和控制作业的运行, 一般把作业控制分成以下两类:1、脱机作业控制也称作业的自动控制方式/批处理作业控制. 即用户把其对作业运行的控制意图, 连同程序, 数据和发生故障时的处理方法一起输入到系统(用JCL编写),由系统自动按预定方案控制作业运行. 一般有:A> 作业控制卡: 控制命令穿孔在卡片上, 顺序执行.B> 作业说明书: 控制命令以类高级语言形式编写, 可转移执行.2、联机作业控制也称作业的直接控制方式/终端型作业控制. 即用户通过终端以人机回话的方式直接控制作业的运行, 而系统也可把运行情况通过终端设施随时告知用户, 以方便用户的控制.显然, 联机作业控制面向新手或调试程序; 而脱机作业控制面向作业的时间运行以提供速度.一般的, 批处理OS都提供显式命令, 使用户可在两种控制方式中随意切换.三、用户与OS的接口OS是计算机裸机与用户的中介, 为方便用户使用OS, OS又提供一个接口/界面, 完成用户与OS的信息交流. 因此, 这个接口是否功能强大, 是否亲切, 将直接影响该OS的受欢迎程度. 用户接口一般分为命令接口和程序接口两类.1. 命令接口通过终端, 命令接口在OS和用户之间提供一种人们易于理解的双向通信机制. 包括:#1 面向脱机作业控制的脱机命令接口, 用作业控制语言JCL编写作业控制命令使系统自动运行.#2 面向联机作业控制的联机命令接口, 用键盘操作命令, 交互地直接控制作业的运行, 这类交互命令可再细分为:A> 面向流的命令系统: 如DOS, UNIX中的SHELL等.B> 面向菜单的命令系统: 如DOSSHELL, NETW ARE中的许多实用程序等.C> 面向图形的命令系统: 如WINDOWS3.1, SYSTEM/MACOS等2. 程序接口这是OS为用户程序访问计算机作业而提供的接口, 由一组系统调用组成.如: DOS的DOS中断例程INT 21H, INT 13H, 16H等; WINDOWS3.1有API.程序员可用汇编直接调用或通过编译系统间接调用OS系统提供的各类服务, 如串/并口的使用, 内存申请/释放, 文件的R/W等等.3. 用户与(#1 命令接口是OS提供的一个更直观, 更友好的应用程序.#2 终端处理程序使脱机用户可直接控制作业运行而成联机用户, 当然其调度策略也相应地有变化.§3. 作业流处理一、JSP,作业流管理进程1、作业三态都是通过JSP来调用相应功能进程完成转换。

操作系统进程管理

操作系统进程管理
第三章 进程管理
Process Management
处理机管理是操作系统的基本管理功能之一,它所关心的是处理机的 分配问题。也就是说把CPU(中央处理机)的使用权分给某个程序。
通常把正准备进入内存的程序称为作业,当这个作业进入内 存后我们把它称为进程。处理机管理分为作业管理和进程管 理两个阶段去实现处理机的分配,常常又把直接实行处理机 时间分配的进程调度工作作为处理机管理的主要内容。
3、系统进程在管态下活动,而用户进程则在用户态 (目态)下活动。
另一种分类:计算进程,I/O进程等 注意:在UNIX系统中没有这样对进程进行分类。
动。 (4)在进程调度中,系统进程的优先级高于用
户进程。
2.5 进程的类型与区别
系统进程与用户进程的区别:
1、系统进程被分配一个初始的资源集合,这些资源 可以为它独占,也能以最高优先权的资格使用。用 户进程通过系统服务请求的手段竞争使用系统资源;
2、用户进程不能直接做I/O操作,而系统进程可以 做显示的、直接的I/O操作。
2.3进程的特征
5)结构特征:为能正确的执行并发,为每一个进程配置
了一个数据结构,称为进程控制块(PCB)。则一个进 程实体就由数据段、程序段、PCB三部分构成。
• 进程实体 = 数据段+程序段+PCB
PCB
私有 数据块
程 序 段
进程的结构
• 程序和进程不一定具有一一对应的关系。
2.4 与程序的区别
2、进程是一个独立的运行单位,能与其它进程并行(并 发)活动。而程序则不是。
3、进程是竞争计算机系统有限资源的基本单位,也是进 行处理机调度的基本单位。
4、一个程序可以作为多个进程的运行程序,一个进程也 可以运行多个程序。

进程与任务或作业管理

进程与任务或作业管理
可执行文件的setuid和setgid属性 可执行文件和目录的sticky属性 查询进程状态(ps) 按名称终止进程的执行(killall) 确定使用指定文件或文件系统的进程 (fuser) 让进程抗终止运行(nohup) 改变进程的优先级(nice) 进程挂起或作业的前/后运行切换
6.3.1 可执行文件的setuid和setgid属性
设置后的权限为drwxr-xr-t或1755
6.3.2 进程管理与调度命令
1. 查询进程状态(ps)
功能:
查询进程状态和信息,给出系统当前正在运 行进程信息的快照。
用法:
ps [ options ]
说明:
ps支持多种UNIX系统格式的个性化显示方式。 且参数较多; 可以配合kill命令结束系统三类进程
前台进程:
是指用户直接控制的用于完成某个任务的进程,因此也叫终 端交互式进程。它从标准输入读数据,向标准输出写数据, 将错误信息输出到标准错误。也可以是用户直接交互控制的 完成某种功能的程序。
后台进程
是指在系统后台运行的、不与用户交互进程。 前台的进程也可放在后台运行,这时可能要用到输入输出的 重定向。 守候进程也叫服务器或精灵进程,它是后台进程的一种。
6.1.1程序、进程、作业和任务
程序(program)是一个存储在存储介质上的 文件。 进程(proccess)是一个程序的执行过程。 作业(job)或任务(task)是用户需要计算机完成 某项任务时要求计算机所做工作的集合,一个 作业可能需要几个程序联合完成。 作业和进程主要的区别与关系如下:
作业是用户向计算机提交的任务实体; 一个进程是作业或任务的某个执行过程; 一个作业可由多个进程组成。
sticky权限管理
sticky位是对目录执行权来说的,它的 属性值为1000。sticky位也可用chmod命 令通过root用户来设置。 设有目录mydir的权限为drwxr-xrx(755),则可通过以下两种方法来设置 它的sticky位:

操作系统的功能

操作系统的功能

操作系统的功能通过内部命令和外部命令,操作系统可以为用户提供5种主要功能,即任务管理、存储管理、文件管理、设备管理和作业管理。

1. 任务管理操作系统提供的任务管理有进程管理、分时处理和并行处理3种不同的方式。

(1) 进程管理进程是操作系统调度的基本单位,它可反映程序的一次执行过程(包括启动、运行并在一定条件下中止或结束)。

进程管理主要是对处理机资源进行管理。

由于CPU是计算机系统中最宝贵的硬件资源,为了提高CPU的利用率,一般采用多进程技术。

如果一个进程因等待某一条件而不能运行下去时,就将处理机占用权转给另一个可运行进程。

或者,当出现了一个比当前运行进程优先权更高的可运行进程时,后者应能抢占CPU资源。

操作系统按照一定的调度策略,通过进程管理来协调多个程序之间的关系,解决CPU资源的分配和回收等问题,使CPU资源得到最充分的利用。

(2) 分时处理在较大型的计算机系统中,如有上百个远程的或本地的用户同时执行存取操作,操作系统可采用分时方式进行处理。

分时的基本思想是将CPU时间划分成许多小片,称为"时间片",轮流去为多个用户程序服务。

如果在时间片结束时该用户程序尚未完成,它就被中断,等待下一轮再处理,同时让另一个用户程序使用CPU下一个时间片。

由于CPU速度很快,用户程序的每次要求都能得到快速的响应。

因此,每个用户都感觉好像自己在"独占"计算机一样。

不难看出,这是操作系统使用户轮流"分时"共享了CPU。

(3) 并行处理配置较高的一些计算机系统,都有不止一个处理器。

并行处理操作系统可以充分利用计算机系统中提供的所有处理器,让多个处理器同时工作,一次执行几条指令,以提高计算机系统的效率。

很明显,实现并行处理需要操作系统作合理的调度,并行处理系统能够把多项任务分配给不同的CPU同时执行,且保持系统正常有效地工作。

例如,有一个作业含有3个计算。

计算x:A + B计算y:C + D计算z:x + y这时,操作系统就可以安排CPU 1执行计算x,CPU2同时执行计算y,然后由CPU2执行计算z,这样的并行调度将比按序执行3个计算快大约33%。

操作系统教程习题答案

操作系统教程习题答案

操作系统教程习题答案部门: xxx时间: xxx整理范文,仅供参考,可下载自行编辑《操作系统教程》习题答案习题11.单项选择题<1)大中小型计算机是以为中心的计算机系统。

A、CPUB、存储器C、系统总线D、通道<2)以下关于操作系统的说法正确的是。

A、批处理系统是实现人机交互的系统B、批处理系统具有批处理功能,但不具有交互能力C、分时系统是实现自动控制,无须人为干预的系统D、分时系统即具有分时交互能力,又具有批处理能力<3)操作系统的职能是管理软硬件资源、合理地组织计算机工作流程和。

A、为用户提供良好的工作环境和接口B、对用户的命令作出快速响应C、作为服务机构向其它站点提供优质服务D、防止有人以非法手段进入系统<4)设计实时操作系统时,首先应考虑系统的。

A、可靠性和灵活性B、实时性和可靠性C、优良性和分配性D、灵活性和分配性<5)多道程序设计是指。

A、在分布式系统中同一时刻运行多个程序B、在一台处理器上并行运行多个程序C、在实时系统中并发运行多个程序D、在一台处理器上并发运行多个程序<6)以下关于并发性和并行性的说法正确的是。

A、并发性是指两个及多个事件在同一时刻发生B、并发性是指两个及多个事件在同一时间间隔内发生C、并行性是指两个及多个事件在同一时间间隔内发生D、并发性是指进程,并行性是指程序<1)B <2)B <3)A <4)B <5)D <6)B2.填空题<1)微机是以总线为纽带构成的计算机系统。

<2)在批处理兼分时系统中,往往把由分时系统控制的作业称为前台作业,把由批处理系统控制的作业称为后台作业。

b5E2RGbCAP<3)在分时系统中,若时间片长度一定,则用户数越多,系统响应时间越慢。

<4)分布式操作系统能使系统中若干台计算机协同完成一个共同的任务,分解问题成为子计算并使之在系统中各台计算机上并行执行,以充分利用各计算机的优势。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

撤销进程的实质:撤销PCB 具体操作:

1)找到要撤销进程的PCB; 2)从队列中撤销该进程及其所有子孙 进程; 3)释放资源,并撤销其PCB。

6.3.3 进程的挂起与恢复

1、进程挂起

挂起原语 将进程置于挂起状态——静止状态 激活原语 将进程由静止状态变为活动状态

2、激活进程
注意

(1) 分析进程间的制约关系,确定信号 量种类 (2) 信号量的初值与相应资源的数量有 关,也与P、V操作在程序代码中出现 的位置有关 (3)同一信号量的P、V操作要“成对” 出现,但在同步关系中它们分别在不同 的进程代码中


4、生产者-消费者问题

一个有代表性的进程同步问题

一组生产者进程和一组消费者进程通 过缓冲区发生联系 生产者进程将生产的产品送入缓冲区, 消费者进程则从中取出产品 假定缓冲区共有N个,我们不妨把它们 设想成一个环形缓冲池

注意:

(1) 用于实现互斥的P(mutex)和 V(mutex),须成对出现,即先做P 操作,进临界区;后做V操作,出 临界区。 (2) 互斥信号量mutex的初值一般 为1。

3、用P、V原语实现进程间同步

示例1:
供者 … 000000 信息 (buf空 ) 缓冲区
用者 …… (buf满 )

1、进程互斥与临界区

由于资源共享关系而产生的进程之间 的制约关系 临界资源
一次只允许一个进程使用的资源 以互斥关系使用的共享资源



临界区

进程中访问临界资源的那段代码(程序)

临界资源的访问过程

(1) 进入区 (2) 临界区 (3) 退出区 (4) 剩余区
2、互斥的概念与要求

1) 顺序性 2) 唯一对应性 3) 封闭性:独占全机资源 4) 可再现性
2、程序的并发执行特征

程序的并发执行:是指一组在逻辑上相 互独立的程序或程序段在执行过程中其 执行时间在客观上互相重叠。
Ii+1 I2 C1 Ci Ci Ci+1 I3 C2 Pi Pi+1 I4 C3 C4 P3 P4

互斥:一次只允许一个进程使用临界资 源的进程之间的相互制约关系 同步机制遵循的原则


① 空闲让进:有效利用临界资源 ② 忙则等待:保证诸进程互斥访问临界 资源 ③ 有限等待:避免进程陷入“死等” ④ 让权等待:避免进程陷入“忙等”

6.4.2 进程同步

异步 进程的同步:是指进程之间直接的协 同工作关系,是一些进程相互合作, 共同完成一项任务。 例:(p146) 从广义上说,互斥也是一种同步关系

P1 P2 P4 P5 P3 P6

进程控制 运行方式 资源共享

6.2 进程的结构
6.2.1 进程的实体(组成)

进程实体通常由程序、数据集合和 进程控制块(PCB)这三部分组成 PCB 程序部分 数据集合
6.2.2 进程控制块

1、进程控制块(PCB)

记录型数据结构 是OS为了反映进程的动态特性,便 于系统控制和描述进程的活动过程 而专门定义的一种数据结构 PCB是进程存在的唯一标志
Pj1
Pj2
…… …
Pjn

创建进程的主要任务:为进程建立 一个进程控制块(PCB)。

具体步骤:

1) 申请一空闲PCB; 2) 在PCB中填入相关信息——初始 化; 3) 将该进程置为就绪状态——分配 除CPU以外的其它资源; 4) 将PCB插入到就绪队列中——等 待调度获得CPU。



2、进程撤销

2) 并发性 3) 独立性 4) 制约性 5) 结构性
4、进程的类型

1) 系统进程和用户进程

管态/系统态 目态/用户态 在管态下执行的进程称为系统进程 在目态下执行的进程称为用户进程 区别:系统资源;I/O操作;活动状 态

2) 父进程和子进程

系统或用户首先创建的进程称为父进程 在父进程下面的进程称为子进程 进程族 父、子进程的关系:

1、进程的基本状态

1) 运行态

正在处理机上执行时的状态 具备运行条件等待获得CPU 进程因等待某种事件发生而暂时不能 运行的状态

2) 就绪态


3) 阻塞态(等待态)

2、进程状态的转换
a.新—就绪 b.就绪—运行 c.运行—阻塞 d.运行—就绪 e.运行—终止 f.阻塞—就绪
6.3 进程的控制
6.2.3 进程队列

1、线性方式

预先确定整个系统中同时存在的 进程的最大数目 静态分配空间 问题:


限定了系统中同时存在的进程的最 大数目 降低了调度效率


2、链接方式

按照进程的不同状态分别放在不 同的队列中,通过PCB结构内部 的拉链指针把同一队列的PCB链 接起来
6.2.4 进程的状态
I1 Ii
Ii
P1 P2 Pi 程序段并发执行的有向图

程序并发执行的特征:

1) 并发性 2) 动态性 3) 开放性——不可再现 4) 相互制约性
“执行—暂停—执行” 例如:

Ii Ci
Ci-1
3、进程的定义及其特征

进程的定义:

进程是程序在并发环境中的执行 过程。 是系统进行资源分配和调度的一 个独立单位。

PCB的信息内容

1) 进程名 2) 标识码 3) 进程的优先数 4) 位置信息 5) 状态信息

6) 现场信息 7) 通信信息 8) 占用资源 9) 其他
2、PCB的作用

① 记录进程的各种信息; ② 是进程存在的唯一标识; ③ 使程序成为一个能独立运行的 基本单位。



4、唤醒进程

唤醒原语将进程从阻塞状态转换成 就绪状态。 具体操作:


1)在等待队列中找到该进程,置其当 前状态为就绪状态; 2)将进程从等待队列中撤消,并插入 到就绪队列中,等待调度。

说明

进程由执行状态到阻塞状态,是进 程自己调用阻塞原语完成; 进程由阻塞状态到就绪状态,是另 一个发现者进程调用唤醒原语实现 的; 一般这个发现者进程是与被唤醒进 程合作的共行进程。

设有4个信号量:S1,S2,S3,S4,其 中,S2、S3分别表示缓冲区Bufferl和 Buffer2是否装满数据;S1、S4分别表 示缓冲区Bufferl和Buffer2是否为空。

初值分别为:S1=1;S2=0;S3=0;S4=1
进程copy 进程put 进程get … … … P(S2); P(S3); P(S1); P(S4); 将Buffer2内 从输入设备读数 据存入Buffer1; 将Buffer1的内容 容打印输出; 复制到Buffer2; V(S4); V(S2); V(S1); … … V(S3); …


out
使用方向 N-2 N-1 … … 3 2 0 1 in 供应 方向

有斜线的部分表示该缓冲区放有产品,否 则为空。in表示生产者下次存入产品的单元, out表示消费者下次取出产品的单元

同步条件:

① 生产者存放产品的单元数不能超过缓 冲区的总容量(N); ② 消费者取出产品的总量不能超过生产 者生产产品的总量。


in和out分别是生产者进程和消费者进 程使用的指针,指向下面可用的缓冲 区,初值都是0。

设置三个信号量:两个计数信号量full和 empty,一个互斥信号量mutex。


(1) 信号量的值减1,即S=S-1; (2) 如果 S≥0 ,则该进程继续执行;若 S<0,则该进程被阻塞,并将其PCB插入 S信号量的队列中等待,直到有其它进程 在S上执行V操作为止。

V(S)顺序执行以下两个动作:

(1) S值加1,即S=S+1; (2) 如果 S > 0 ,则该进程继续运行; 若S≤0,释放S信号量队列上的一个 等待进程,使之进入就绪队列;然 后,执行本操作的进程继续执行。

设S1和S2的初值均为0 用者进程
L2:… … P(S2); 从缓冲区取出信息 V(S1); 加工并存盘 goto L2;
供者进程
L1:启动读卡机 … … 收到输入结束中断 V(S2); P(S1) goto L1;

示例2
get S1 S2 Buffer1
copy S4
put S3
Buffer2
说明

信号量S的值表示某类资源的数量。 S>0,表示尚有资源可以分配; S<0,其绝对值表示等待队列中进程 的数目。 每执行一次P操作,意味着要求分配 一个资源; 每执行一次V操作,意味着释放一个 资源。



公用信号量:通常用于实现进程之 间的互斥,初值为1,它所联系的一 组进程均可对其实施P、V操作。 私用信号量:一般用于进程间的同 步,初值为0或为某个正整数n,仅 允许拥有它的进程对其实施P、V操 作。 Biblioteka 3、进程睡眠(阻塞)
阻塞原语把进程从执行状态转换为 阻塞状态 引起阻塞的可能原因:


1)请求系统服务; 2)启动设备操作; 3)新数据尚未到达; 4)无新工作可做。

具体操作:

1)中断CPU执行; 2)把CPU的当前状态保存到PCB的现 场信息中; 3)把进程的当前状态置为等待/阻塞 状态; 4)将进程的PCB插入到该事件的等待 队列中。
相关文档
最新文档