操作系统第二章习题课.ppt

操作系统第二章习题课.ppt

ID:52312734

大小:279.01 KB

页数:14页

时间:2020-04-04

操作系统第二章习题课.ppt_第1页
操作系统第二章习题课.ppt_第2页
操作系统第二章习题课.ppt_第3页
操作系统第二章习题课.ppt_第4页
操作系统第二章习题课.ppt_第5页
资源描述:

《操作系统第二章习题课.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、例1.试比较进程和程序的异同(1)每个进程实体中包含了程序段、数据段这两个部分,因此说进程和程序是紧密相关的。但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。(2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建产生、由调度而执行、由撤销而消亡,即它具有一定的生命周期。而程序则只是一组指令的有序集合,并可永久地存放在某种介质上,其本身不具有动态的含义,因此是静态的。(3)多个进程实体可同时存放在内存中并发执行,其实这正是引入进程的目的。而程序的并发执行具有不可再现性,因此程序不能

2、正确地并发执行。OperatingSystemConcepts(4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。(5)进程和程序不一一对应。同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。OperatingSystemConcepts例2.试比较进程和线程的异同(1)线程是进程的一个组成部分。一个进程可以有多个线程,而且至少有一个可执行线程。(2)进程是资源分配的基本单位,它拥有自己的地址空

3、间和各种资源。线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。(3)进程的多个线程都在进程的地址空间内活动。这样,在以线程为单位进行处理机调用和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。而以进程为单位进行处理机调用和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。OperatingSystemConcepts(4)线程和进程一样,都有自己的状态和相应的同步机制。但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去

4、。(5)进程的调度和控制大多由操作系统的内核完成,而线程的控制即可以由操作系统的内核完成,也可以由用户控制完成。OperatingSystemConcepts例3:a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。请用信号量为工具,

5、对ab段实现正确管理以保证行驶安全。OperatingSystemConcepts解析:读者-写着问题的变形。我们设置3个信号量S1、S2和Sab,分别用于从a点进入的车互斥访问共享变量ab(用于记录当前ab段上由a点进入的车辆的数量),从b点进入的车互斥访问共享变量ba(用于记录当前ab段上由b点进入的车辆的数量)和a、b点的车辆互斥进入ab段。3个信号量的初值分别为1、1和1,两个共享变量ab和ba的初值分别为0、0。OperatingSystemConceptsSemaphoreS1=1,S2=1,Sab=1;intab=ba=0

6、;voidPab(){while(1){wait(S1);if(ab==0)wait(Sab);ab=ab+1;signal(S1);车辆从a点驶向b点;wait(S1);ab=ab-1;if(ab==0)signal(Sab);signal(S1);}}OperatingSystemConceptsvoidPba(){while(1){wait(S2);if(ba==0)wait(Sab);ba=ba+1;signal(S2);车辆从b点驶向a点;wait(S2);ba=ba-1;if(ba==0)signal(Sab);signal

7、(S2);}}main(){cobegin{Pab();Pba();}}OperatingSystemConcepts例4:桌子上有一只盘子,每次只能放一只水果。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用PV操作实现他们之间的同步机制。OperatingSystemConceptsSemaphoreS=1,S1=S2=0;voidfather(){while(1){准备苹果;wait(S);将苹果放在盘子内;signal(S1);}}OperatingSystemConcept

8、svoidmother(){while(1){准备橘子;wait(S);将橘子放在盘子内;signal(S2);}}OperatingSystemConceptsvoiddaughter(){while(1

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。