专升本辅导-进程管理2

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

18
线程的定义
定义:线程是进程中的一个实体,是被系统独立调度
和分配的基本单位,故又称为轻权(轻型)进程,它由 线程控制表、存储线程上下文的用户栈以及核心栈组成。
传统的进程称为重型进程。
19
线程是进程中可独立执行的子任务,是系统独 立调度和分派的基本单位。
一个进程中至少有一个线程。线程继承所属进程的一切
为了协调双方的通信,管道机制必须提供以下三方面 的协调能力: ① 互斥,即当一个进程正在对pipe执行读/写操作时, 其它(另一)进程必须等待。
② 同步,指当写(输入)进程把一定数量(如4 KB)的数
据写入pipe,便去睡眠等待, 直到读(输出)进程取走数据
后,再把他唤醒。当读进程读一空pipe时,也应睡眠等待,
问题7 进程通信的三种类型,管道的 定义,消息缓冲队列的通信机制
1
§2.7 进程通信(communication)
进程之间的信息交换称为进程通信。合作进程 间所交换的信息量,少则是一个状态或数据,多则
成千上万字节的。
2
进程的同步与互斥=>低级通信
进程的同步与互斥是一种通信方式,一进程 可通过修改变量或信号量告知另一进程,它是 否可以继续执行下去. 生产者——消费者算法, P、V操作只能传递 信号,信号本身不包含任何数据,而进程不当 还容易导致进程死锁,因此,称这些同步机构 为低级通信机构.
信命令,高效地传送大量数据的一种通信方式。
4
高级进程通信方式的主要优点
效率高和使用方便。
操作系统隐藏了进程通信的实现细节,它给 用户提供了一组以发送和接收命令为主的通信原 语,用户直接使用这些通信原语一次就能发送成 千上万字节的信息,大大简化了通信程序的编制 工作。
5
三种基本的进程通信方式:
根据通信实施的方式和数据存取的方式,分为: 1)共享存储器系统 共享内存变量(如信号量机制)和共享内存区两 种通信方式。
2)消息传递系统
消息缓冲和信箱两种通信方式。
3)管道通信方式
6
发送原语(send(接收者进程名,发送区首地址)) 接收原语(receive(接收区首地址)) 系统提供给用户实现进程通信的最基本的原语,也是 构成一种具体的通信系统的主要内容,用户直接使用这些 通信原语一次就能发送成千上万字节的信息。
4.系统开销
由于在创建或撤消进程时,系统要为之分配或回收资 源,创建进程的开销远大于创建线程的开销。类
操作系统为进程切换付出的开销也远大于为同一进程 内的线程切换付出的开销。 进程内的多个线程具有相同的地址空间,致使它们之 间的同步与互斥的实现,也变得比较容易。 22
5.线程没有挂起状态
线程和进程一样,都有自己的状态,也有相应的同步 机制,不过线程没有单独的数据和程序空间,线程的数 据与程序不能交换到外存存储空间,从而线程没有挂起 状态。
资源,它自己只拥有运行所需的很少的一点资源,如几 个寄存器和一个堆栈等。
进程内的几个线程之间的切换的开销比进程间切换的开
销小得多,这是系统引入线程可以提高效率和并发性的
主要原因。
20
线程与进程的比较
1.拥有资源
进程都是拥有资源的一个独立单位,它可以拥有自己的资 源。线程几乎不拥有系统资源 ,但它可以访问其隶属进程的资 源
进程A
P C)
mq mu tex sm
rec eiv e (b )
第一 消息 缓冲区 se nd er :A a 发 送 区 a se nd er :A siz e:5 tex t:H ello siz e:5 tex t:H ello n ex t:0 b se nd er :A siz e:5 tex t:H ello 接 收 区 b
28
1、临界资源的概念是 界区是指 2.操作系统的4个基本特征 是 、 、 和
,而临
29
1. 四个进程A、B、C、D都要读一个共享文件 F,系统允许多个进程同时读文件F。但限制 是进程A和进程C不能同时读文件F,进程B和 进程D也不能同时读文件F。为了使这四个进 程并发执行时能按系统要求使用文件,现用 PV操作进行管理,请回答下面的问题: (1)请说明应定义的信号量及初值。 (2)在下列的程序中填上适当的P、V操作 ,以保证它们能正确并发工作:
25
3. 用PV操作实现相关临界区的管理,信号 量S的初值定义为5,在S上调用了10次P操 作和16次V操作,S的值应为( )。 A.0 B.10 C.11 D.-1
26
4.对进程的管理和控制使用( ) A.广义指令 B.信号量 C.原语 D.信箱 通信
27
1.进程的互斥和同步总是因相互制约 而 同时引起。 2.进程的互斥和同步的相互制约一般不 会同时发生。 3. 当进程间需要交换大量数据时,P,V操 作也能满足进程通信的要求。( ) 4. 在计算机系统中必须互斥地使用的资源 都是硬件资源。( )
32
答:用S1代表座位,初始SI~100,S2用于 实现对登记表的互斥操作,初始s2=1 进程n P(S1); P(S2) 登记: V(S2) 阅览, P(S2); 撤消, V(S2), V(S1);
33
用的数据结构是消息缓冲区。它可描述如下: type message buffer=record sender; 发送者进程标识符 size; 消息长度 text; 消息正文 next; 指向下一个消息缓冲区的指针
end
(2) PCB中有关通信的数据项。
在利用消息缓冲队列通信机制时,在设置消息缓冲队
列的同时,还应增加用于对消息队列进行操作和实现同步
的信号量,并将它们置入进程的PCB中。
2. 发送原语 发送进程在利用发送原语发送消息之前,应先在自己 的内存空间,设置一发送区a,把待发送的消息正文、发送 进程标识符、消息长度等信息填入其中,然后调用发送原
语,把消息发送给目标(接收)进程。
发送原语首先根据发送区a中所设置的消息长度a.size来 申请一缓冲区i,接着,把发送区a中的信息复制到缓冲区i 中。获得接收进程的内部标识符j,将i挂在j.mq上。
6. 进程的调度、同步等大多由OS内核完成, 线程的控制既可以由OS内核进行,也可以由用户控 制。
23
1. 在由9个生产者,6个消费者,共享容量 为8的缓冲器组成的生产者-消费者问题中 ,互斥使用缓冲器的信号量mutex的初值 应该为( )。 A.8 B.6 C.9 D.1
24
2.如果生产者消费者问题中共享的缓冲器 的容量为8,物品存入缓冲器的同步信号 量SP的初始值应为( ) A.0 B.1 C.8 D.-1
信箱一般由接收者向系统提出创建申请,由 系统创建,归接收者拥有。
14
3) 管道(Pipe)通信
“管道”是指用于连接一个读进程和一个写进程以
实现他们之间通信的一个共享文件,又名pipe文件。向
管道(共享文件)提供输入的发送进程(即写进程), 以字符 流形式将大量的数据送入管道;而接收管道输出的接收 进程(即读进程),则从管道中接收(读)数据。
图 2 - 12 消息缓冲通信
2) 信箱通信方式
指连接两进程之间的一个打开的共享文件, 以文件作为缓冲传输介质,一个进程向其写入消 息,另一个进程从中读取消息,好象是一个管道, 消息从一头流进,从另一头流出的通信方式。
13
信箱就是一个用来对一定数量的消息进行缓 冲的地方,通常是个有结构的文件,由存放信 箱控制信息的信箱头和带格子的信箱体组成。 信箱的标识地址作为消息的间接地址。
2.调度

以进程为单位进行处理机切换和调度时,处理机切换时间
长,资源利用率降低。以线程为单位进行进行处理机切换和调 度时,由于不发生资源变化,处理机切换时间较短,从而处理 机效率较高。
21
3.并发性
在引入线程的操作系统,不仅进程之间可以并发执行, 而且线程之间也可并发执行,使操作系统具有更好的并发 性,能更有效地利用系统资源,提高系统的吞吐量。

3
按通信交换的数据量多少划分
低级通信:在OS中数据交换量少的进程协调过程。
一般只传送一个和几个字节的信息,达到控制进程执 行速度的作用。(进程的同步和互斥) 信号量机制作为同步工具是卓有成效的,但作为通信 工具则不够理想。(效率低。通信对用户不透明。)
高级通信:用户可以直接利用操作系统所提供的一组通
30
A() { [1]; read F; [2]; }
B() {
[3]; read F; [4]; }
C() { [5]; read F; [6]; }
D() { [7]; read F; [8]; }
31
2-有——阅览室,读者进入时必须先在登 记表中进行登记,该表为每一座位列一表 目,包括座号和读者姓名,读者离开时要 消掉登记信息,阅览室中共有100个座位 ,试问:试用P,V操作写出这些进程间的 同步算法。
7
1)消息缓冲通信方式 消息(message):在计算机网络中又 叫报文,指进程之间相互传递的赖以发生 相互作用的有结构的数据。 在消息传递系统中,进程间的数据交 换,是以格式化的消息(message)为单位的.
8
1. 消息缓冲通信机制中的数据结构
(1) 消息缓冲区。在消息缓冲队列通信方式中,主要利
直至写进程将数据写入管道后,才将之唤醒。 ③ 确定对方是否存在,只有确定了对方已存在时,才 能进行通信。
问题8 . 线程的基本概念,线程的属 性,线程与进程的区别与联系。
17
进程的两个基本属性:
1. 进程是一个可拥有资源的独立单位;
2. 进程又是一个可独立调度和分配的基本单位。 合起来,进程便成为一个能独立运行的基本单位,从而 构成了程序并发执行的基础。 进程是一个资源的拥有者,在执行这些操作时会付 出较大的时间开销。因此在系统中所设的进程数目不宜 过多,切换不宜过于频繁,这就限制了系统的并发程度。
相关文档
最新文档