@蕾蕾老师 补交作业,以前忘记提交了
一、B B D D B FB D B C D B B B C C D D A D D
二、F F F F T F T F F T
三、
1.
操作系统:是直接控制和管理计算机硬件软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合。
操作系统的五大功能:处理机管理功能、存储器管理功能、设备管理功能、文件管理功能、向用户提供方便接口功能。
2.
进程:程序关于某个数据集合的一次执行。
临界资源:是一次仅允许一个进程使用的共享资源。
3.
4.
Semaphore S=1,So=0, Sa=0; // S表示 盘子是否为空,初值为1; //So --- 盘中是否有桔子,初值为0; //Sa --- 盘中是否有苹果,初值为0; Cobegin{ Father() { While(1) { Wait(S); 将水果放入盘中; If (放入的是桔子) Signal(So); Else Signal(Sa); } } Son() { While(1) { Wait(So); 从盘中取出桔子; Signal(S); 吃桔子; } } Daughter() { While(1) { Wait(Sa); 从盘中取出苹果; Signal(S); 吃苹果; } } }Coend
5.
Semaphore run=1,stop=0,open=0,close=0 stop()//停车 { Wait(run); 停车; Signal(stop); } Opendoor()//开门 { Wait(stop); 售票员打开门,乘客上车; Signal(open); } Closedoor()//关门 { Wait(open); 关门,售票员开始售票; Signal(close) } Running()//发车 { Wait(close); 开车; Signal(run); } Void main() { Cobegin Runnning() Stop(); Opendoor(); Closedoor(); Coend }
6.
Semaphore: mutex1=1, mutex2=1,counter=0;// mutex1顾客互斥使用取号机取号 //mutex2柜员叫号时候互斥/访问 //counter表示等待队列中的顾客人数 Cobegin{ Customer() { wait(mutex1); 取号码,进入队列; signal(mutex1); signal(counter); } Server() { wait(counter); wait(mutex2); 从队列中取下一个号码; signal(mutex2); 为该号码持有者服务; } }Coend
7.
semaphore mutex=1, empty=10, full=0, service=0; // mutex表示互斥使用取号机 // empty表示空座位的数量 // full表示已占座位的数量 // service表示柜员是否空闲 cobegin { process顾客i { wait(empty); wait(mutex); 从取号机获得一个号; signal(mutex); signal(full); wait(service); //等待叫号 获得服务; } process营业员 { while(TRUE) { wait(full); signal(empty); signal(service); //叫号 为顾客服务; } } } coend