02326操作系统第4章课后思考题
《操作系统》第4章教材习题解答

第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。
内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。
由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。
由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。
程序和数据装入内存时,需对目标程序中的地址进行修改。
这种把逻辑地址转变为内存物理地址的过程称作重定位。
静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。
动态重定位是在程序执行期间,每次访问内存之前进行重定位。
这种变换是靠硬件地址转换机构实现的。
内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。
为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。
这种技术称为紧缩(或叫拼凑)。
虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。
若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。
此时,系统好像很忙,但实际效率却很低。
这种现象称为“抖动”。
2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。
CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。
(完整版)自考02326操作系统(2018版)课后习题答案

第一章操作系统概论1.什么是操作系统?请说明操作系统在计算机系统中的作用和地位。
操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合:它们能够有效地组织和管理计算机中的硬件和软件资源,合理地控制计算机工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活、方便、有效地使用计算机,并使整个计算机系统能高效地运行。
2.操作系统管理计算机系统的哪些资源?硬件和软件资源。
3.请从资源管理角度说明操作系统的主要功能。
进程管理(处理器管理)、存储管理、文件管理、作业管理、设备管理4.操作系统有哪些基本特征?并发性:计算机系统中同时存在若干个正在运行着的程序;共享性:操作系统程序和多个用户程序共享系统中的各种资源随机性:操作系统的运行是在一种随机的环境下进行的5.比较Windows、UNIX、Linux操作系统的体系结构,有什么异同?Windows体系结构是分成的模块系统,主要层次有硬件抽象层HAL、内核、执行体和大量的子系统集合;UNIX操作系统的系统架构图,其最里层是硬件,作为整个系统的基础;其次是操作系统内核,包括进程管理、存储器管理、设备管理和文件管理四个资源管理功能;往外一层是系统调用接口,及操作系统与用户的接口shell以及编译程序等;最外层是应用程序Linux系统有四个主要部分,及内核、shell、文件系统和用户程序。
6.Android操作系统有什么特点?Android操作系统分为四层,从高层到低层分别是应用程序层、应用框架层、系统运行库层和Linux内核层。
以Linux为核心的手机操作平台,是一款开放式操作系统7.手机操作系统通常提供哪些功能?8.请叙述各种类型操作系统的工作方式及特点。
一般把操作系统分为三种基本类型,即批处理操作系统、分时系统和实时系统(1)批处理操作系统批处理操作系统分为简单批处理系统和多道批处理系统两种类型。
用户将作业交给系统操作员,系统操作员在收到作业后并不立即将作业输入计算机,而是在收到一定数量的作业后,组成一批作业,再把这批作业输入到计算机中。
计算机操作系统1-4章课后经典习题参考答案

课后习题第一章1.设计现代OS的主要目标是什么?答:(1)有效性(2)方便性(3)可扩充性(4)开放性2.OS的作用可表现在哪几个方面?答:(1)OS作为用户与计算机硬件系统之间的接口(2)OS作为计算机系统资源的管理者(3)OS实现了对计算机资源的抽象3.为什么说OS实现了对计算机资源的抽象?答:OS首先在裸机上覆盖一层I/O设备管理软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。
OS 通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由它们共同实现了对计算机资源的抽象。
7.实现分时系统的关键问题是什么?应如何解决?答:关键问题是当用户在自己的终端上键入命令时,系统应能及时接收并及时处理该命令,在用户能接受的时延内将结果返回给用户。
解决方法:针对及时接收问题,可以在系统中设置多路卡,使主机能同时接收用户从各个终端上输入的数据;为每个终端配置缓冲区,暂存用户键入的命令或数据。
针对及时处理问题,应使所有的用户作业都直接进入内存,并且为每个作业分配一个时间片,允许作业只在自己的时间片内运行,这样在不长的时间内,能使每个作业都运行一次。
10.试从交互性、及时性以及可靠性方面,将分时系统与实时系统进行比较。
答:(1)及时性:实时信息处理系统对实时性的要求与分时系统类似,都是以人所能接受的等待时间来确定;而实时控制系统的及时性,是以控制对象所要求的开始截止时间或完成截止时间来确定的,一般为秒级到毫秒级,甚至有的要低于100微妙。
(2)交互性:实时信息处理系统具有交互性,但人与系统的交互仅限于访问系统中某些特定的专用服务程序。
不像分时系统那样能向终端用户提供数据和资源共享等服务。
(3)可靠性:分时系统也要求系统可靠,但相比之下,实时系统则要求系统具有高度的可靠性。
因为任何差错都可能带来巨大的经济损失,甚至是灾难性后果,所以在实时系统中,往往都采取了多级容错措施保障系统的安全性及数据的安全性。
操作系统课后习题总结(清华大学出版社)

习题二参考答案4、答:在生产者—消费者问题中,Producer进程中P(empty)和P(mutex)互换先后次序。
先执行P(mutex),假设成功,生产者进程获得对缓冲区的访问权,但如果此时缓冲池已满,没有空缓冲区可供其使用,后续的P(empty)原语没有通过,Producer阻塞在信号量empty 上,而此时mutex已被改为0,没有恢复成初值1。
切换到消费者进程后,Consumer进程执行P(full)成功,但其执行P(mutex)时由于Producer正在访问缓冲区,所以不成功,阻塞在信号量mutex上。
生产者进程和消费者进程两者均无法继续执行,相互等待对方释放资源,会产生死锁。
在生产者和消费者进程中,V操作的次序无关紧要,不会出现死锁现象。
5、答:6、答:设信号量sp用于控制对盘子的互斥操作,信号量sg1用于计数,表示盘子中的苹果数目,信号量sg2用于计数,表示盘子中的桔子数目。
Semaphore sp=1,sg1=0,sg2=0dad(){while(1){ prepare an apple;p(sp);put an apple on the plate;v(sg2);}}mom(){while(1){prepare an orange;p(sp);put an orange on the plate;v(sg1);}}son(){while(1){p(sg1);take an orange from the plate;v(sg);eat the orange;}}daughter(){while(1){p(sg2);take an apple from the plate;v(sg);eat the apple;}}7、答:为了使写者优先,在原来的读优先算法基础上增加一个初值为1的信号量S,使得当至少有一个写者准备访问共享对象时,它可使后续的读者进程等待写完成;初值为0的整型变量writecount,用来对写者进行计数;初值为1的互斥信号量wmutex,用来实现多个写者对writecount的互斥访问。
《操作系统)(中国铁道出版社)习题答案第四章

⒈计算机系统中存储器一般分为哪两级?各有什么特点?答:计算机系统中存储器一般分为主存储器和辅助存储器两级。
主存储器简称主存,又称为内存,它由自然数顺序编址的单元(通常为字或字节)所组成,是处理机直接存取指令和数据的存储器,它速度快,但容量有限。
辅助存储器简称辅存,又称为外存,它由顺序编址的“块”所组成,每块包含若干个单元,寻址与交换以块为单位进行,处理机不能直接访问它,它须经过专门的启动入出过程与内存交换信息,它存取速度较慢,但容量远大于内存,实际上,现代计算机系统中用户的数据(或信息)都是保存在外存中。
⒉存储管理的目的是什么?答:存储管理要实现的目的是:为用户提供方便、安全和充分大的存储空间。
所谓方便是指将逻辑地址和物理地址分开,用户只在各自逻辑地址空间编写程序,不必过问物理空间和物理地址的细节,地址的转换由操作系统自动完成;安全则是指同时驻留在内存的多道用户程序相互之间不会发生干扰,也不会访问操作系统所占有的空间。
充分大的存储空间是指利用虚拟存储技术,从逻辑上对内存空间进行扩充,从而可以使用户在较小内存里运行较大程序。
⒊存储管理的任务是什么?答:存储管理是计算机操作系统软件的一部分,它负责完成对主存储器的地址转换,对主存储器进行分配与去配,解决多用户对主存储器的共享和保护,通过软件手段,实现对主存储器容量的扩充。
⒋地址转换可分为哪三种方式?比较这三种方式的优缺点。
答:由逻辑地址转化为物理地址的地址转换过程,按照转换的时间不同,可以分为3种方式:①绝对装入方式②静态重定位方式③动态重定位方式(第二问略)⒌可变分区常用的分区算法有哪几种?它们各自的特点是什么?答:首次适应算法、循环首次适应算法、最佳适应算法、最差适应算法(第二问略)⒍试用类C语言写首次适应算法的分配过程。
答:firstmatch(n){p=Free;while(p!=NULL){if(p->size>=n){if(p->size-n>=size)p->size=p->size-n;a=p;p=p+n;elsea=p;remove(Free,p);}elsep=p->next}return a}⒎什么叫紧凑?为什么要进行紧凑?答:为了解决碎片问题,可采用的一种方法是,将内存中的所有作业进行移动,使它们相邻接。
操作系统第4章习题带答案

操作系统第4章习题带答案第四章⼀、问答题1、同步机制应遵循的准则是什么?2、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?3、简述死锁的定义和死锁产⽣的原因。
4、简述死锁定理和解除死锁的⽅法。
5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产⽣的4个必要条件是什么?它们是彼此独⽴的吗?⼆、计算题(共20分)1、当前系统中出现下述资源分配情况:利⽤银⾏家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满⾜<=work系统处于不安全状态,系统拒绝此次资源分配。
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所⽰。
回答:问:采⽤死锁避免的⽅法进⾏资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满⾜?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满⾜。
3、⼀个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发⽣死锁?并说明理由答:n=2理由同第4题(进程资源最⼤需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执⾏过程中动态申请该类资源,但在该系统上运⾏的每⼀个进程对该资源的占有量任何时刻都不会超过m+1个。
操作系统 第四章课后部分答案

6、为什么要引进动态重定位?如何实现?为了能够在程序执行过程中,每当要访问指令或数据时,将要访问的存储单元的逻辑地址转换成物理地址,引入了动态重定位。
使用动态地址重定位,一个作业可以占用非连续存储空间;能实现虚拟存储;有利于程序段的共享。
可在系统中增加一个重定位寄存器,用它来存放程序在内存中的起始地址。
基本的地址变换计算方法是将内存单元的逻辑地址与重定位寄存器的值相加,得到单元的物理地址。
在可重定位分区式存储管理、分页式存储管理、分段式存储管理方法中,都有不同的地址变换位方法:P128,P135,P138 9、分区存储管理常用哪些分配策略?比较它们的优缺点。
分区存储管理中常采用的分配策略有:首次适应算法、循环首次适应算法、最佳适应算法、最坏适应算法。
a.首次适应算法的优缺点:保留了高址部分的大空闲区,有利于后到来的大型作业的分配;低址部分不断被划分,留下许多难以利用的、小的空闲区,且每次分区分配查找时都是从低址部分开始,会增加查找时的系统开销。
b.循环首次适应算法的优缺点:使内存中的空闲分区分布得更为均匀,减少了查找时的系统开销;缺乏大的空闲分区,从而导致不能装入大型作业。
c.最佳适应算法的优缺点:每次分配给文件的都是最适合该文件大小的分区;内存中留下许多难以利用的小的空闲区。
d.最坏适应算法的优缺点:给文件分配分区后剩下的的空闲区不至于太小,产生碎片的几率最小,对中小型文件分配分区操作有利;使存储器中缺乏大的空闲区,对大型文件的分区分配不利。
14、较详细的说明引入分段存储管理方式是为了满足用户哪几个方面的需求。
方便编程、信息共享、信息保护、动态增长、动态链接。
P13617、分页和分段存储管理有何区别?(1) 页是信息的物理(存储)单位,分页是为实现离散分配方式,以消减内存的零头,提高内存的利用率。
或者说,分页仅仅是由于系统管理的需要而不是用户的需要。
段则是信息的逻辑单位,它含有一组其意义相对完整的信息。
操作系统第四章习题及答案

操作系统第四章习题及答案第四章进程管理1、⼀个由3个页⾯每页有2048个字节组成的程序,将它装⼊⼀个8个物理块组成的存储器中,装⼊的情况如下表所⽰:给出下列逻辑地址,请计算出2617对应的物理地址:2、某请求页式存储管理,允许⽤户编程空间为32个页⾯(每页1KB),主存为16KB, 如有⼀个⽤户程序有10页长,且某时刻该⽤户页⾯映射表如表所⽰。
如果程序执⾏时遇到以下的虚地址:0AC5H ,1AC5H 试计算对应的物理地址。
3、假设某分页系统中,主存储器的容量为1MB ,被分为256块,回答:1)主存地址应该⽤位来表⽰。
2)作业每⼀页的长度为;逻辑地址中的页内地址应该为位。
4、在段式管理系统中,段表为求下⾯逻辑地址对应的物理地址。
12 7 1 4 0 块号页号 95 1938 4 590 13503 90 100 220 2350 1 500 210 0 段长内存起始地址段号(1,10);(2,500);(3,400);(5,32)5、在⼀分页存储管理系统中,逻辑地址长度为16位,页⾯⼤⼩为4096字节,分别计算逻辑地址14AAH,235BH,3B4CH,78DDH所对应的物理地址,并指出可能发⽣何种中断?(8分)注:1表⽰可寻址,0表⽰在外存。
6、在⼀个请求分页系统中,假定系统分配给作业的物理块数为3,并且此作业的页⾯⾛向为2、3、2、1、5、2、4、5、3、2、5、2。
试⽤LRU算法计算出程序访问过程所发⽣的缺页次数和被替换的页⾯序列。
答案:1、P=int(2617/2048)=1 d=569物理地址=4*2048+569=87612、0AC5H的页号是2,对应的物理页号是4,所以物理地址应该为12C5H,1AC5H的页号是6,超过了页表的范围,所以该地址⾮法,产⽣越界中断3、假设某分页系统中,主存储器的容量为1MB,被分为256块,回答:1)主存地址应该⽤ 20 位来表⽰。
2)作业每⼀页的长度为 2048 ;逻辑地址中的页内地址应该为 12 位。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1、何谓之与时间有关的错误?举例说明之。
并发进程执行时一定会产生与时间有关的错误吗?为什么。
与时间有关的错误是指两个程序都以各自的速度交叉着运行,同时访问共享信息导致的错误。
比如程序A对共享变量p执行+1操作后,休眠一秒输出变量p,程序B对共享变量p执行减1操作后,休眠一秒输出变量p。
导致的结果就会和想象中的不相同。
并发程序不一定都导致时间相关的错误,我们可以对共享变量加锁来解决这个问题
2、什么是临界区,什么是相关临界区,对相关临界区的使用规则?系统中某些资源一次只允许一个进程使用,则这类资源被称为临界资源,而在进程中访问临界资源的程序被称为临界区。
多个进程涉及到同一个临界资源的临界区被称为相关临界区。
使用规则:(1)只能选择一个进程进入临界区,其他进程必须等待。
(2)不能强迫一个进程无限的等待进入他的临界区
(3)任何一个进程在进入临界区后都要在有限的时间内退出临界区。
3、若使用P、V操作管理某一组相关临界区,其信号量S的值在【-1,1】之间变化,当S=-1,s=0,S=1时,他们各自的物理含义是什么?当S=-1,临界区已满,且有一个进程正在等待
当S=0,临界区已满
当S=1, 临界区为空
4、两个并发执行的进程A和B的程序如下:
进程A:
While(true){
N = N+5;
};
进程B:
While(true){
打印N的值;
N = 0;
};
其中,N为整数,初值为4,若进程A先执行3次循环后,进程A 和进程B又并发执行了一个循环,请写出可能出现的打印值。
答:可能出现的打印值:19,0,24。
因为N初值为4,若进程A先执行了三个循环,此时N的值为19。
当进程A和进程B并发执行时可能会有如下两种执行次序,即进程A先执行一次循环,然后再进程B执行一次循环,此时打印的是正确值24,执行后N中的值为0。
但若进程B先执行一次循环,然后再进程A执行一次循环,则打印的值是19,执行后N中的值是0。
这是错误的,即发生了与时间有关的错误。
用P、操作进行管理,使进程A和B并发时不会出现与时间有关的错误的程序如下:(S为互斥信号量,初值为1),
进程A 进程B
while(1){ while(1){
P(S); P(S);
N=N+5; 打印N的值;
V(S); N=0;
} V(S);
};
5、a,b两点之间有一段单行车道,现在设计一个自动管理系统,管理规则如下:允许同方向的车同时驶入ab段,但另一方向的车必须在ab段外等待,当ab之间无车辆在行驶时,到达a点(或者b点)的车辆可以进入ab段,但不能从a点或者b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且同方向无车辆进入ab段的时候,应让另一方等待的车辆进入ab段行驶,请编写程序,使用PV操作实现对ab段的正确管理以保证行驶安全。
a() //a点
{
While(true)
{
//准备驶入
P(ab)
P(empty)
//驶出
V(empty)
V(ab)
}
}
b() //b点
{
While(true)
{
//准备驶入
P(ab)
P(empty)
//驶出
V(empty)
V(ab)
}
}
6. 今有三个进程R、M、P,它们共享一个缓冲区B。
R负责从输入设备读信息,每次读出一个记录并把它存放在缓冲区B中:M在缓冲区加工读入的记录;P把加工后的记录打印输出。
输入的记录经加工输出后,缓冲区中又可存放下一个记录。
请用P、V操作为同步机构写出他们并发执行时能正确工作的程序。
答:三个进程共用一个缓冲区B,他们必须同步工作,可定义三个信号量:
S1:表示是否可把读人的记录放到缓冲区,初始值为1.
S2:表示是否可对缓冲区中的记录加工,初始值为0.
S3:表示记录是否加工好,可以输出,初始值也为0.
三个进程可如下设计:
While(1){ //读记录;
P(S1);
记录存入缓冲区;
V(S2);
};
While(1){ //加工记录;
P(S2);;
P(S3)
加工记录;
V(S3);
V(S1);
};
While(1){ //取记录;
P(S3)
输出加工后的记录;
V(S1);
};
7.
要求:当发车时间到,售票员关好车门后,司机才能启动车辆,售票员开始售票;当到站后,司机停车后,售票员才能打开车门,乘客下车,站牌乘客上车。
设置两个信号量:
S1:判断是否到站
S2:判断是否可以离站
司机:售票员:
While(1){ while(1){
正常行驶到站,P(S1);
停车开车门
V(S1); 售票、关车门
P(S2); V(S2);
离开车站};
};
9.
10、设有两个优先级相同的进程P1,P2,如下所示,信号量S1,S2的初值都为0,试问P1,P2并发执行后,X,Y,Z的值各是多少?
进程P1:
Y =1;
Y = y+2;
V(S1);
Z = y+1;
P(s2);
Y = z+y;
进程P2:
X=1;
X = x+1;
P(s1);
X = x+y;
V(s2);
Z = x+z;
x=5,y=7,z=9;
12.
读者的动作有两个,一是填表进入阅览室,这时要考虑阅览室里是否有座位;一是读者阅读完毕,离开阅览室,这时的操作要考虑阅览室里是否有读者。
读者在阅览室读书时,由于没有引起资源的变动,不算动作变化。
算法的信号量有三个:
seats——表示阅览室是否有座位(初值为100,代表阅览室的空座位数);
readers——表示阅览室里的读者数,初值为0;用于互斥的mutex,
初值为1。
读者进入阅览室的动作描述getin:while(TRUE){
P (seats); /*没有座位则离开*/
P(mutex)/*进入临界区*/
填写登记表;
进入阅览室读书;
V(mutex)/*离开临界区*/
V(readers)
}
读者离开阅览室的动作描述getout:while(TRUE){
P(readers)/*阅览室是否有人读书*/ P(mutex)/*进入临界区*/
消掉登记;
离开阅览室;
V(mutex)/*离开临界区*/
V(seats)/*释放一个座位资源*/ };
13.
为了控制两个进程依次使用输入设备进行输入,需分别设置三个信号量S1、S2,其中S1的初值为1,S2初值为0。
使用上述信号量后,两个进程不会同时使用输入设备,故不必再为输入设备设置互斥信号量。
另外,还需设置信号量Sb、Sy、来分别表示数据b是否已经输入,以及y是否已计算完成,它们的初值均为0。
三个进程的动作可描述为:P1:
P(S1);
从输入设备输入数据a;
V(S2);
P(Sb);
x=a+b;
P(Sy);
使用打印机打印出x、y的结果;
P2:
P(S2);
从输入设备输入数据b;
V(Sb);
y=a*b;
V(Sy);
14. 进程间有哪几种通信方式?各有什么特点?各种方式分别适用于那些情况?
解决进程间的大量信息通信的问题有三类方案:共享内存、消息机
制、以及通过共享文件进行通信,及管道通信。
共享内存:在互相通讯的进程之间设有一个公共内存区,一组进程向该公共内存中写,另一组进程从公共内存中读,通过这种方式实现两组进程间的信息交换。
消息机制:是用于进程间通信的高级通信原语之一。
(1) 消息缓冲通信:利用内存中公共消息缓冲区实现进程之间的信息交换。
消息缓冲区是由:消息长度、消息正文、发送者、消息队列指针组成的数据结构。
(2) 信箱通信:为了实现进程间的通信,可以设立一个通信机构——信箱,以发送信件以及接受回答信件为进程间通信的进本方式。
一个信箱的接口可以由信箱说明和信箱体两部分组成。
信箱说明有如下的数据结构:可存信件数,已有信件数。
管道通信:所谓管道,就是连接两个进程之间的一个打开的共享文件,专用于进程之间进行数据通信。
管道通信的基础是文件系统。