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

上传人:b****1 文档编号:1758460 上传时间:2022-10-23 格式:PPT 页数:14 大小:293.50KB
下载 相关 举报
操作系统第2章习题课.ppt_第1页
第1页 / 共14页
操作系统第2章习题课.ppt_第2页
第2页 / 共14页
操作系统第2章习题课.ppt_第3页
第3页 / 共14页
操作系统第2章习题课.ppt_第4页
第4页 / 共14页
操作系统第2章习题课.ppt_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

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

《操作系统第2章习题课.ppt》由会员分享,可在线阅读,更多相关《操作系统第2章习题课.ppt(14页珍藏版)》请在冰豆网上搜索。

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

OperatingSystemConcepts,例1.试比较进程和程序的异同,

(1)每个进程实体中包含了程序段、数据段这两个部分,因此说进程和程序是紧密相关的。

但从结构上看,进程实体中除了程序段和数据段外,还必须包含一个数据结构,即进程控制块PCB。

(2)进程是程序的一次执行过程,因此是动态的;动态性还表现在进程由创建产生、由调度而执行、由撤销而消亡,即它具有一定的生命周期。

而程序则只是一组指令的有序集合,并可永久地存放在某种介质上,其本身不具有动态的含义,因此是静态的。

(3)多个进程实体可同时存放在内存中并发执行,其实这正是引入进程的目的。

而程序的并发执行具有不可再现性,因此程序不能正确地并发执行。

OperatingSystemConcepts,(4)进程是一个能够独立运行、独立分配资源和独立接受调度的基本单位。

而因程序不具有PCB,所以它是不可能在多道程序环境下独立运行的。

(5)进程和程序不一一对应。

同一个程序的多次运行,将形成多个不同的进程;同一个程序的一次执行也可以产生多个进程;而一个进程也可以执行多个程序。

OperatingSystemConcepts,例2.试比较进程和线程的异同,

(1)线程是进程的一个组成部分。

一个进程可以有多个线程,而且至少有一个可执行线程。

(2)进程是资源分配的基本单位,它拥有自己的地址空间和各种资源。

线程是处理机调度的基本单位,它只能和其他线程共享进程的资源,而本身并不具有任何资源。

(3)进程的多个线程都在进程的地址空间内活动。

这样,在以线程为单位进行处理机调用和切换时,由于不发生资源变化特别是地址空间的变化,因此切换时间较短。

而以进程为单位进行处理机调用和切换时,由于涉及到资源转移及现场保护等问题,将导致切换时间变长和资源利用率降低。

OperatingSystemConcepts,(4)线程和进程一样,都有自己的状态和相应的同步机制。

但是,由于线程没有自己单独的程序和数据空间,因而不能像进程的程序和数据那样交换到外存去。

(5)进程的调度和控制大多由操作系统的内核完成,而线程的控制即可以由操作系统的内核完成,也可以由用户控制完成。

OperatingSystemConcepts,例3:

a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:

当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。

请用信号量为工具,对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。

OperatingSystemConcepts,SemaphoreS1=1,S2=1,Sab=1;intab=ba=0;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);,OperatingSystemConcepts,voidPba()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()cobeginPab();Pba();,OperatingSystemConcepts,例4:

桌子上有一只盘子,每次只能放一只水果。

爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。

用PV操作实现他们之间的同步机制。

OperatingSystemConcepts,SemaphoreS=1,S1=S2=0;voidfather()while

(1)准备苹果;wait(S);将苹果放在盘子内;signal(S1);,OperatingSystemConcepts,voidmother()while

(1)准备橘子;wait(S);将橘子放在盘子内;signal(S2);,OperatingSystemConcepts,voiddaughter()while

(1)wait(Sl);从盘子里拿走苹果;signal(S);吃苹果;,OperatingSystemConcepts,voidson()while

(1)wait(S2);从盘子里拿走橘子;signal(S);吃橘子;,OperatingSystemConcepts,main()cobeginfather();mother();daughter();son();,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1