操作系统第二章习题课.ppt_第1页
操作系统第二章习题课.ppt_第2页
操作系统第二章习题课.ppt_第3页
操作系统第二章习题课.ppt_第4页
操作系统第二章习题课.ppt_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

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

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

4、的内核完成,也可以由用户控制完成。,Operating System Concepts,例3: a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。请用信号量为工具,对ab段实现正确管理以保证行驶安全。,Operating System Concepts,解析: 读者写着问题的变形。我们设置

5、3个信号量S1、S2和Sab,分别用于从a点进入的车互斥访问共享变量ab(用于记录当前ab段上由a点进入的车辆的数量),从b点进入的车互斥访问共享变量ba(用于记录当前ab段上由b点进入的车辆的数量)和a、b点的车辆互斥进入ab段。3个信号量的初值分别为1、1和1,两个共享变量ab和ba的初值分别为0、0。,Operating System Concepts,Semaphore S1=1,S2=1,Sab=1; int ab=ba=0; void Pab () while(1) wait(S1); if(ab=0) wait(Sab); ab=ab+1; signal(S1); 车辆从a点驶向

6、b点; wait(S1); ab=ab-1; if(ab=0) signal(Sab); signal(S1); ,Operating System Concepts,void Pba () 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(S2); main() cobegin Pab (); Pba (); ,Operating System Concepts,例4: 桌子上有一只盘子,每次只能放一只水果

7、。爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。用PV操作实现他们之间的同步机制。,Operating System Concepts,Semaphore S=1,S1=S2=0; void father() while(1) 准备苹果; wait(S); 将苹果放在盘子内; signal(S1); ,Operating System Concepts,void mother() while(1) 准备橘子; wait(S); 将橘子放在盘子内; signal(S2); ,Operating System Concepts,void daughter() while(1) wait(Sl); 从盘子里拿走苹果; signal(S); 吃苹果; ,Operating System Concepts,void son() while(1) wai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论