第4章-进程

合集下载

4.2 进程同步习题

4.2 进程同步习题

【例】现有4个进程R1,R2,W1,W2。它们共享 可以存放一个数据的缓冲器B。进程R1每次把磁 盘上读出的一个数据存到缓冲器B中,供进程W1 打印输出;进程R2每次从键盘上读一个数据存放 到缓冲器B,供W2打印输出。当一个进程把数据 存放到缓冲器后,在该数据还没有打印输出之前 不准任何进程再想缓冲器中存数据。当一个进程 已把缓冲器中的数据打印输出后,在缓冲器中还 没有存如新数据之前不准任何进程再从缓冲器中 取数打印。问怎样用PV操作使这4个进程并发执 行时能相互协作地工作?
• Semaphore Customers = 0; • Semaphore Barber = 0; • Mutex accessSeats = 1; • int NumberOfFreeSeats = N; //total number of seats
Customer() { while(true) Barbers() { { P(accessSeats); //lock while(true) if(NumberOfFreeSeats >0) { { P(customers); NumberOfFreeSeats--; //等待顾客,睡眠 V(customers);//通知理发师 P(accessSeats); //lock V(accessSeats);//unlock NumberOfFreeSeats++; P(barbers);//等待理发师 V(accessSeats); //unlock 顾客理发 理发中… } V(barbers) ; else }//while V(accessSeats); } }//while }
3 两个进程可以改为 semaphore S1=1 semaphore S2=0 Process X L1:P(S1) 使用资源r V(S2) goto L1

精品课件-Linux操作系统原理与应用(张玲)-第4章

精品课件-Linux操作系统原理与应用(张玲)-第4章

第4章 进 程 管 理
2. 进程的特性 进程与程序的不同主要体现在进程有一些程序所没有的特 性。要真正理解进程,首先应了解它的基本性质。进程具有以 下几个基本特性: (1) 动态性:进程由“创建”而产生,由“撤销”而消 亡,因“调度”而运行,因“等待”而停顿。进程从创建到消 失的全过程称为进程的生命周期。 (2) 并发性:在同一时间段内有多个进程在系统中活动。 它们宏观上是在并发运行,而微观上是在交替运行。
第4章 进 程 管 理
(3) 独立性:进程是可以独立运行的基本单位,是操作 系统分配资源和调度管理的基本对象。因此,每个进程都独立 地拥有各种必要的资源,独立地占有CPU并独立地运行。
(4) 异步性:每个进程都独立地执行,各自按照不可预 知的速度向前推进。进程之间的协调运行由操作系统负责。
第4章 进 程 管 理
第4章 进 程 管 理
4) 现场信息 现场信息一般包括CPU的内部寄存器和系统堆栈等,它们 的值刻画了进程的运行状态。退出CPU的进程必须保存好这些 现场状态,以便在下次被调度时继续运行。当一个进程被重新 调度运行时,要用PCB中的现场信息来恢复CPU的运行现场。 现场一旦切换,下一个指令周期CPU将精确地接着上次运行的 断点处继续执行下去。
第4章 进 程 管 理
4.1.1 程序的顺序执行与并发执行 1. 程序的顺序执行 如果程序的各操作步骤之间是依序执行的,程序与程序之
间是串行执行的,这种执行程序的方式就称为顺序执行。顺序 执行是单道程序系统中的程序的运行方式。
程序的顺序执行具有如下特点: (1) 顺序性:CPU严格按照程序规定的顺序执行,仅当一 个操作结束后,下一个操作才能开始执行。多个程序要运行时, 仅当一个程序全部执行结束后另一个程序才能开始。

第4章 进程代数

第4章 进程代数
12
coin-- 将一枚硬币投入自动售货机的硬币槽 choc —由机器的发货器送出一块巧克力 toffee --由机器的发货器送出一块太妃糖
13
4.1.2 事件迹及其操作
进程行为就是进程执行所发生的事件序列 事件迹是一个进程所执行事件的历史行为的符号记 录,简称为迹。 迹表示为用尖括号“<”和“>”括起来的用逗点“,” 分开的事件符号序列。 用traces(P)表示进程P的所有可能迹的集合,并称 为进程P的迹。
16
• 迹的运算
迹的首/尾-- 设迹s是一个非空Байду номын сангаас件序列,s中的第 一个事件称为s的首,记为s;s中删除第一个事件 剩余的部分符号称为s的尾,记为s。
符号“”和“” 分别称为首运算和尾运算
星运算-- 事件集A上所有有限事件符号形成的迹 (包括< >)组成的集合,记为A*。
符号“*”称为星运算。A*可递归定义为 A* = {t | t = < > (t A t A)}
17
• 迹的运算
迹函数--迹到迹的映射,又称迹映射。
迹函数f,如果f(<>)=<>,则称f是严格的 s,t,若f(s^t) = f(s)^f(t),则称f满足分 配律。
迹长度--迹s中事件符号的出现个数,称为 迹s的长度,记为#s。符号“#”称为迹的长 度运算。
对于迹s和事件x,x在s中的出现次数为 #(s{x})
15
• 迹的投影
对于迹s和事件集合A,保留迹s中所有属于A中的 事件符号后所得到符号串,称为s在A 中的投影, 记为(sA)。符号“”称为投影运算或投影算子。 投影运算性质:

第四章进程调度与死锁习题及答案

第四章进程调度与死锁习题及答案

第四章一.选择题1.预防死锁不可以去掉以下__A__条件。

A.互斥 B.请求与保持 C.不可剥夺 D.环路2.资源分配图是否可以完全简化是判断死锁的_C__。

A.充分条件 B.必要条件 C.充分必要条件 D.什么也不是3.设有4个作业同时到达,每个作业的执行时间是2min,它们在一台处理机上按单道方式运行,则平均周转时间为_B__。

A.1min B.5min C.2.5min D.8min4.若系统中有8台绘图仪,有多个进程均需要使用两台,规定每个进程一次仅允许申请一台,则至多允许_C__各进程参与竞争,而不会发生死锁。

A.5 B .6 C .7 D .85.响应比高者优先作业调度算法除了考虑进程在CPU上的运行时间,还考虑以下__D_因素。

A.输入时间B.完成时间C.周转时间D.等待时间6.产生系统死锁的原因可能是_B__。

A.一个进程进入死循环B.多个进程竞争资源出现了循环等待C.进程释放资源D.多个进程竞争共享型设备7.以下_B__方法可以解除死锁。

A.挂起进程B.剥夺资源C.提高进程优先级D.降低进程优先级8.采用有序分配资源的策略可以破坏产生死锁的__D_。

A.互斥条件B.请求与保持条件C.不可剥夺条件D.环路条件9.连个进程争夺同一个资源_B__。

A.一定死锁B.不一定死锁C.不死锁D.以上说法都不对10.以下解决死锁的方法中,属于预防策略的是_C__。

A.化简资源分配图B.银行家算法C.资源的有序分配D.死锁检测法11.下面__D_说法是对可剥夺系统的正确描述。

A.时间片轮转法是一种可剥夺式调度B.进程因等待某一事件而引起系统调度是一种可剥夺式调度C.实时系统采用可剥夺式调度D.优先级低的进程放弃CPU,让优先级高的进程运行12.以下关于调度的说法__A__正确。

A.进程通过调度得到CPUB.优先级是进程调度的主要依据,一旦确定就不能改变C.在单CPU的系统中,任何时刻都有一个进程处于运行状态D.进程申请CPU得不到时,其状态为阻塞13.既考虑进程的等待时间,又考虑进程的执行时间的调度算法是__A__。

操作系统第4章答案(上)

操作系统第4章答案(上)

赵盈盈 93 第四章作业上1. 解释名词:程序的顺序执行;程序的并发执行。

答:程序的顺序执行:一个具有独立功能的程序独占cpu直到得到最终结果的进程。

程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。

2. 什么是进程进程与程序的主要区别是什么答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。

进程和程序的区别:●程序是静态的,进程是动态的●进程有程序和数据两部分组成●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的●进程能更真实的描述并发,而程序不行。

●一个进程可以对应多个程序。

一个程序可以对应多个进程●进程可以创建其他进程,程序不能3. 图1所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。

请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)。

图1 改进后的誊抄过程答:4. 进程有哪几种基本状态试画出进程状态变迁图,并标明发生变迁的可能原因。

答:进程基本状态:运行、就绪、等待就绪到运行:调度程序选择一个新的进程运行 运行到就绪:运行进程用完了时间片或运行进程被中断,因为一个高优先级的进程处于就绪状态 运行到等待:OS 尚未完成服务 或对一资源的访问尚不能进行或初始化I/O 且必须等待结果 或等待某一进程提供输入(IPC ) 等待到就绪:当所有的事件发生时5. 什么是进程控制块它有什么作用答:PCB :为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。

作用:系统用PCB 来控制和管理进程的调用,PCB 也是系统感知进程存在的唯一标志GCGPCP G…CP6. n 个并发进程共用一个公共变量Q ,写出用信号灯的p 、v 操作实现n 个进程互斥时的程序描述,并说明信号灯值的取值范围。

《计算机科学导论》第4章操作系统精品PPT课件

《计算机科学导论》第4章操作系统精品PPT课件
பைடு நூலகம்
4.3 操作系统的功能
3.网络操作系统的功能
常用的网络操作系统有Windows NT、UNIX、Linux、 NetWare等。网络操作系统除具有一般操作系统的功能外,还 应该具有以下功能:
• 网络通信 • 网络资源管理 • 网络服务 • 网络管理 • 互操作
4.4 操作系统的分类
1.批处理操作系统
来描述一个进程 。
(2) 进程的状态 :三个最基本的状态:运行态、就绪态、阻塞
态。
运行态
就绪态
阻塞态
4.5 一些基本概念及组成
(3) 进程调度 :不同的系统会采用不同的调度算法 。
(4) 进程通信 :包括进程的同步与互斥、管道通信、
共享内存、消息队列 、网络通信。
4.5 一些基本概念及组成
• 存储管理 (1) 单一分区:整个内存除了操作系统外,另外的内存空间只分
(1) 文件: 可以长期保存在外存中的、被赋名了的、信息单元的 集合
(2) 目录:目录是一些目录项的列表,每个目录项一般含有文件 名,以及文件控制说明信息(或文件的索引节点号)。
4.5 一些基本概念及组成
2.操作系统的基本组成
操作系统
用户接口
存储管理 进程管理 设备管理 文件系统
4.5 一些基本概念及组成
• 地址空间
(1) 物理空间:物理内存的连续的物理单元隔成物理地址,物理
(2)
地址的集合即为物理空间 。
(2) 逻辑空间:进程的逻辑地址的集合,这个地址的开始值通常
为0,一直到某个最大值。
4.5 一些基本概念及组成
• I/O设备 (1) 字符设备 :以字符为单位发送或接收一个字符流。 (2) 块设备 :信息存放在固定大小的块中,这些块有自己的地址 。 • 文件

第4章 进程控制


通信信息
进程间进行通信时所记录的有关信息
家族联系
指明本进程与家族的联系 占有资源清单
进程的特征
结构特征:进程除了程序段、数据段还 包括PCB 动态性:进程是一个程序的执行,是动 态的,是有生命周期的。 并发性:多个进程实体能同存于内存中, 且在一段时间内同时运行。 独立性:独立运行,独立申请资源,独 立接受调度。 异步性:进程按各自独立的、不可预知 的速度向前前进。 动态性和并发性是进程的最基本特征。
进程等待原语的实现
入口
保护进程的CPU现场到PCB结构中
置该进程为”等待”状态
将该进程PCB结构插入到等待队列中
转进程调度
5. 进程唤醒 进程唤醒原语的形式 当处于等待状态的进程所期待的事件来到时, 由发现者进程使用唤醒原语叫唤醒它。 wakeup(chan) 入口参数chan:进程等待的原因。 进程唤醒原语的功能 当进程等待的事件发生时,唤醒等待该事件的 进程。
响了程序速度。
程序的并发执行使得程序失去了顺序 性,封闭性和可再现性,用“程序” 无法描述这些特征,因此引入了“进 程这个概念”。
4.2 进程的概念 4.2.1进程的定义
1. 进程定义
什么是进程 所谓进程,就是一个程序在给定活动空间和初始环 境下, 在一个处理机上的执行过程。
进程与程序的区别
程序是静态的概念;进程是动态的概念
进程是一个独立运行的活动单位
进程是竞争系统资源的基本单位
一个程序可以对应多个进程;一个进程至少包含一
个程序。
2. 进程的状态
进程的基本状态
运行状态(running)
该进程已获得运行所必需的资源,它的程序正在处理机 上执行。
等待状态(wait)

第4章习题参考解答

}
p3()
{
P(s);

}
参考解答:
因p1和p2进程是p3进程开始执行的先决条件,即当p1和p2进程均执行完毕时,p3才能执行,则p3需有两个信号量,分别表示p1进程执行完毕的信号量s1,以及p2进程执行完毕的信号量s2。则同步算法描述如下:
main()
{
int s1=0,s2=0;
cobegin
p1();
p4();
coend
}
p1()
{
p1 execute;
V(s12);
V(s13);
V(s14);
}
p2()
{
P(s12);
p2 execute;
}
p3()
{
P(s13);
p3 execute;
}
p4()
{
P(s14);
p4 execute;
}
4-15
解:
main()
{
int sa=1,sb=0;// sa表示缓冲区S是否为空,sb表示是否为满。
(3)设a、b两并发进程,它们共享一临界资源。其执行临界区的算法框图如下图,
进程A和进程B为互斥进程,则需一个互斥信号量s,初值为1,表示临界资源初始情况下无进程使用。
main()
{
int s=1;
cobegin
pa();
pb();
coend
}
pa()
{
P(s);
进入csa…
V(s);
}
pb()
{
P(s);
进入csb…
V(s);
}
4-21
答:线程有时也称为轻量级进程,它是比进程更小的活动单位,它是进程中的一个执行路径。一个进程可以有多个执行路径即线程。

习题解答第4章概要

习题解答第四章并发进程的同步与互斥1、进程间同步和互斥的含义是什么?答:同步:并发进程之间存在的相互制约和相互依赖的关系。

互斥:若干进程共享一资源时,任何时刻只允许一个进程使用。

2、用文字描述银行家算法的基本思想?答:银行家算法的基本思想是:将系统中的所有资源比做银行家的资金,每进行一次资源的分配,银行家都要从当前的资源分配情况出发,计算这种分配方案的安全性,如果是安全的,则进行分配,否则选择其它可能的分配方案。

这样,每次分配都计算安全性,从而可以避免死锁的发生。

3、简述死锁的防止与死锁的避免的区别。

答:死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配,从而防止死锁的发生。

而死锁的避免是当进程提出资源申请时系统测试资源分配,仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。

4、试说明资源的静态分配策略能防止死锁的原因。

答:资源静态分配策略要求每个进程在开始执行前申请所需的全部资源,仅在系统为之分配了所需的全部资源后,该进程才开始执行。

这样,进程在执行过程中不再申请资源,从而破坏了死锁的四个必要条件之一“占有并等待条件”,从而防止死锁的发生。

5、有三个进程P1,P2和P3并发工作。

进程P1需用资源S3和S1;进程P2需用资源S1和S2;进程P3需用资源S2和S3。

回答:(1)若对资源分配不加限制,会发生什么情况?为什么?(2)为保证进程正确工作,应采用怎样的资源分配策略?为什么?答:.(1)可能会发生死锁例如:进程P1,P2和P3分别获得资源S3,S1和S2后再继续申请资源时都要等待(2分),这是循环等待。

(或进程在等待新源时均不释放已占资源)(2)可有几种答案:A.采用静态分配由于执行前已获得所需的全部资源,故不会出现占有资源又等待别的资源的现象(或不会出现循环等待资源现象)。

或B.采用按序分配不会出现循环等待资源现象。

或C.采用银行家算法因为在分配时,保证了系统处于安全状态。

第4章进程同步与进程通信

第4章进程同步与进程通信第4章进程同步与进程通信⼀、填空1.信号量的物理意义是当信号量值⼤于零时表⽰可⽤资源个数;当信号量值⼩于零时,其绝对值为等待进程个数。

2.所谓临界区是指进程程序中。

3.⽤P、V操作管理临界区时,⼀个进程在进⼊临界区前应对信号量执⾏p 操作,退出临界区时应对信号量执⾏v 操作。

4.有m个进程共享⼀个临界资源。

若使⽤信号量机制实现对临界资源的互斥访问,则该信号量取值最⼤为 1 ,最⼩为1-m 。

5.对信号量S的P操作原语中,使进程进⼊相应信号量队列等待的条件是s<0 。

6.信箱在逻辑上被分为信箱头和信箱体两部分。

7.在操作系统中进程间的通信可以分为⾼级通信与低级通信两种。

⼆、选择1.P、V操作是。

A.两条低级进程通信原语B.两条⾼级进程通信原语C.两条系统调⽤命令D.两条特权指令2.进程的并发执⾏是指若⼲个进程。

A.共享系统资源B.在执⾏的时间上是重叠的C.顺序执⾏D.相互制约3.若信号量S初值为2,当前值为?1,则表⽰有个进程在与S相关的队列上等待。

A.0 B.1 C.2 D.34.⽤P、V操作管理相关进程的临界区时,信号量的初值应定义为。

A.?1 B.0 C.1D.随意5.⽤V操作唤醒⼀个等待进程时,被唤醒进程的状态变为。

A.等待B.就绪C.运⾏D.完成6.若两个并发进程相关临界区的互斥信号量MUTEX现在取值为0,则正确的描述应该是。

A.没有进程进⼊临界区(MUTEX=1)B.有⼀个进程进⼊临界区(MUTEX=0)C.有⼀个进程进⼊临界区,另⼀个在等待进⼊临界区(MUTEX=-1)D.不定7.信箱通信是进程间的⼀种通信⽅式。

A.直接B.间接C.低级D.信号量三、问答1.进程A 和B 共享⼀个变量,因此在各⾃的程序⾥都有⾃⼰的临界区。

现在进程A 在临界区⾥。

试问进程A 的执⾏能够被别的进程打断吗(可以)?能够被进程B 打断吗(这⾥,“打断”的含义是调度新进程运⾏,使进程A 暂停执⾏)(不可以)?2.信号量上的P 、V 操作只是对信号量的值进⾏加1或减1操作吗(否)?在信号量上还能够执⾏除P 、V 操作外的其他操作吗?(不能)3. 进程在运⾏时存在哪两种形式的制约?并举例说明之。

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



介绍进程概念 介绍进程的特点,包括调度、创建、删除和通信。 介绍客户机-服务器间的通信。
第4章 进程
4.1

进程概念
如何称呼CPU的活动?
批处理系统——作业 分系统需要支持程序活动,所有这些活动在许 多方面都相似,因此称它们为进程。
第4章 进程
4.1
第4章 进程
4.2

进程调度
4.2.2 调度程序
调度程序负责进程在各个队列之间迁移。

批处理系统作业池。 调度程序分长期调度程序(作业调度程序)和短期调 度程序(CPU调度程序)。 长期调度程序从作业池里选择进程,并装入内存以准 备执行。短期调度程序从准备执行的进程中选择进程, 并为之分配CPU。
进程在其执行过程中,能调用创建进程系统调用创
建多个新进程。 创建进程的进程称为父进程,新创建的进程称为子 进程。 每个新进程可以再创建其他进程,从而形成进程树。
第4章 进程
4.3

进程操作
4.3.1 进程创建
第4章 进程
4.3

进程操作
4.3.1 进程创建
进程需要系统资源来完成任务。 在一个进程创建子进程时,子进程可能从操作系统
第4章 进程
4.4

进程间通信
4.4.1 共享内存系统
共享内存模型的经典问题(生产者——消费者)
生产者进程
第4章 进程
4.4

进程间通信
4.4.1 共享内存系统
共享内存模型的经典问题(生产者——消费者)
第4章 进程
4.3

进程操作
4.3.2 进程终止
进程执行完毕后调用exit()系统调用请求操作系统
删除自身,随后进程终止。 Windows中,可以调用TerminateProcess()系统 调用终止另一进程。 通常,只有被终止进程的父进程才能终止该进程。 因此,当父进程创建子进程时,子进程会将进程标 识符传递给父进程。
第4章 进程
4.1

进程概念
4.1.3 进程控制块
每个进程在操作系统内用进程控制块(process
control block,PCB)来表示。 每个进程块包含许多与一个特定进程相关的信息:

进程状态:新的、就绪、运行、等待、终止 程序计数器:表示进程要执行的下个指令。 CPU寄存器:累加器、索引寄存器、堆栈指针等 CPU调度信息:进程优先级、调度队列的指针 内存管理信息:内存基址、页表或段表等 记账信息:CPU时间、实际使用时间、时间界限等 I/O状态信息:I/O设备列表、打开的文件列表等
第4章 进程
4.4

进程间通信
协作系统加大了操作系统的实现难度,但在现代 操作系统中,协作进程必不可少,因为:
信息共享:多个用户可能对同样的数据感兴趣,所
以必须提供允许并发访问的机制。 提高运算速度:将一个任务分成若干子任务,子任 务并行执行。 模块化:可以按模块化方式构造系统,可将系统功 能分成独立的进程。 方便:单个用户可以同时执行许多任务。例如,可 以并行编辑、打印工作。
第4章 进程
4.4

进程间通信
4.4.1 共享内存系统
共享内存模型的经典问题(生产者——消费者)

共享缓冲通过循环数组和两个指针来实现 指针in指向缓冲区第一个空位 指针out指向缓冲区第一个满位 当in == out时,缓冲为空 当 (in + 1) % BUFFER_SIZE == out时,缓冲已满
第4章 进程
4.2

进程调度
4.2.1 调度队列
队列图
第4章 进程
4.2

进程调度
4.2.1 调度队列
新进程开始时处于就绪队列 当分配到CPU开始执行时,进入上面的队列图

发出一个I/O请求,进入I/O设备队列中 创建一个新进程,并等待其结束 由于中断释放CPU,回到就绪队列中
第4章 进程
4.4

进程间通信
操作系统需要有完备的进程通信机制来允许进程 相互交换数据与信息。 目前普遍存在的进程通信模式有两种:
共享内存
消息传递。
第4章 进程
4.4
进程间通信
共享内存进程通信模型
第4章 进程
4.4
进程间通信
消息传递进程通信模型
第4章 进程
4.4

第4章 进程
4.3

进程操作
4.3.1 进程创建
第4章 进程
4.3

进程操作
main()
4.3.1 进程创建
int {

}
fork(); fork(); return 0;
第4章 进程
4.3

进程操作
4.3.1 进程创建
第4章 进程
4.3

进程操作
4.3.1 进程创建
进程间通信

消息传递模型在交换少量数据上有明显的优势, 因为不需要避免冲突。另外,对于计算机之间的 通信,消息传递也比共享内存更容易实现。 共享内存模式具有速度上的优势,同时与消息传 递模式相比,共享内存消耗系统资源更少。
消息传递模型每次传递消息时都需要执行系统调用,
共享内存模型仅在建立共享内存时需要执行系统调 用。
第4章 进程
4.3

进程操作
4.3.1 进程创建
在fork()系统调用之后,新进程通常使用exec()系
统调用,以用新程序来取代进程的内存空间。 系统调用exec()将当前进程执行的程序替换为一个 新的指定的程序。 exec()系统调用并不创建新进程,所以前后的进程 ID并未改变。
第4章 进程
4.4

进程间通信
4.4.1 共享内存系统
采用共享内存的进程间通信需要通信进程建立共享
内存区域。 共享内存模型取消了操作系统不允许一个进程访问 其他进程的地址空间限制。 各个互相通信的进程通过读写该共享内存区域来实 现进程间通信。
第4章 进程
4.4

进程间通信
4.4.1 共享内存系统
4.2.1 调度队列
操作系统还有其他队列。 每个设备都维护自己的设备队列。 I/O设备队列、终端设备队列。
第4章 进程
4.2

进程调度
4.2.1 调度队列
第4章 进程
4.2

进程调度
4.2.1 调度队列
队列图

长方形表示一个队列:就绪队列和设备队列 圆形表示为队列服务的资源 箭头表示系统内进程的流向
操作系统
北京大学计算中心 付中南 fuzhongnan@
第4章 进程
4.1
进程概念 4.2 进程调度 4.3 进程操作 4.4 进程间通信 4.5 客户机-服务器系统通信
第4章 进程
早期计算机系统采用单道程序设计,一次只允
许一个程序执行。 现代计算机采用多道程序设计,允许多个程序 并发执行。 操作系统需要对各种程序提供更严格的控制和 更好的划分,因此产生了进程的概念。 本章目标
进程概念
4.1.1 进程
程序本身并不是进程; 程序是被动实体 进程是活动实体,它有一个程序计数器用来表示下
一个要执行的命令和相关资源集合。 当一个可执行文件被装入内存时,一个程序才能成 为进程。
第4章 进程
4.1

进程概念
4.1.2 进程状态
进程在执行时会改变状态。 进程状态是由当前活动所定义的:
那里获得资源,也可能只从其父进程那里获得资源。 在进程创建时,除了得到各种物理和逻辑资源外, 初始化数据由父进程给子进程。

例:父进程获得要打开的文件名,然后创建一个新进 程并由子进程打开该文件。
第4章 进程
4.3

进程操作
4.3.1 进程创建
进程创建新进程后,有两种执行可能:

父进程与子进程并发执行。 父进程等待,直到某个或全部子进程执行完。 子进程是父进程的复制品(具有与父进程相同的程序 和数据)。 子进程运行另一个新程序。
4.2.1 调度队列
进程进入系统时,会被加入到作业队列中。作业队
列包括系统中的所有进程。 就绪状态的进程被保存在就绪队列中。 就绪队列使用链表来实现,其头节点指向链表的第 一个和最后一个PCB块的指针。每个PCB包括一个 指向就绪队列的下一个PCB的指针域。
第4章 进程
4.2

进程调度

进程概念
4.1.1 进程
进程是执行中的程序。 进程不只是程序代码 进程还包括当前活动,通过程序计数器的值和处理
器的内容来表示。 此外,进程还可能包括进程栈段、数据段以及堆段。
第4章 进程
4.1

进程概念
最大
4.1.1 进程

堆 数据
0
文本
内存中的进程
第4章 进程
4.1


新的:进程正在被创建。 运行:指令正在被执行。 等待:进程等待某个事件的发生(如I/O完成等)。 就绪:进程等待分配处理器。 终止:进程完成执行。
第4章 进程
4.1

进程概念
终止
4.1.2 进程状态
新的 允许 中断 退出
就绪
调度算法分派 I/O操作或事件完成 等待
运行
I/O操作或事件等待
新进程的地址空间也有两种可能:

第4章 进程
4.3

进程操作
4.3.1 进程创建
相关文档
最新文档