- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
操作系统是方便用户、管理和控制计算机软硬件资源的系统软件(或程序集合)。 从用户角度看,操作系统可以看成是对计算机硬件的扩充;从人机交互方式来看,操作系统是用户与机器的接口;从计算机的系统结构看,操作系统是一种层次、模块结构的程序集合,属于有序分层法,是无序模块的有序层次调用。操作系统在设计方面体现了计算机技术和管理技术的结合。
??
windows7操作系统
??
windows xp操作系统
操作系统在计算机系统中的地位:
操作系统是软件,而且是系统软件。它在计算机系统中的作用,大致可以从两方面体会:对内,操作系统管理计算机系统的各种资源,扩充硬件的功能;对外,操作系统提供良好的人机界面,方便用户使用计算机。它在整个计算机系统中具有承上启下的地位R,M,P,它们共享了一个可循环使用的缓冲区B,缓冲区B共有N个单元。进程R负责从输入设备读信息,每读一个字符后,把它存放在缓冲区B的一个单元中;进程M负责处理读入的字符,若发现读入的字符中有空格符,则把它改成“,”;进程P负责把处理后的字符取出并打印输出。当缓冲区单元中的字符被进程P取出后,则又可用来存放下一次读入的字符。请用PV操作为同步机制写出它们能正确并发执行的程序。 (10分)
解:(10分)
begin
Var mutex,input,calculate,output:semaphore:=1,n,0,0;
buffer:array[0,…,n-1] of item;
in,mid,out:integer := 0,0,0;
proR() { do {
wait (input);
wait (mutex);
buffer(in):=input data;
in := (in+1) mod n ;
signal (calculate);
signal (mutex);
while true ; }
proM() { do {
wait (calculate);
wait (mutex);
buffer(middle):=calculate data ;
mid := (mid+1) mod n ;
signal (output);
signal (mutex);
} while true ; }
proP() { do {
wait (output);
wait (mutex);
buffer(out):=calculate data ;
out := (out+1) mod n ;
signal (input);
signal (mutex);
} while true ; }
22.理发店里有一位理发师、一把理发椅子和五把供等候理发的顾客坐的椅子。如果没有顾客,理发师便在理发椅上睡觉。当一个顾客到来时,他必须先叫醒理发师,如果理发师正在理发时又有顾客来到,而如果有空椅子可坐,他们就坐下来等,如果没有空椅子,他就离开。这里的问题是为理发师和顾客各编写一段程序来描述他们行为,并用wait和signal原语操作实现其同步。(10分)
解:理发师问题
#define CHAIRS 5 /*为等候的顾客准备椅子数*/
typedef int semaphore; /* 运用你的想像力*/
semphore customers=0; /*等候服务的顾客数*/
semaphore barbers=0 /*等候服务的理发师数*/
semaphore mutex=1; /*用于互斥*/
int waiting=0; /*还没理发的等候顾客*/
void barber (void) {
while(TRUE) {
wait(customers); /*如果顾客数是0,则睡觉*/
wait(mutex); /*要求进程等候*/
waiting=waiting-1; /*等候顾客数减1*/
signal(barbers); /*一个理发师现在开始理发*/
signal(mutex);
文档评论(0)