1 / 22
文档名称:

操作系统.操作系统练习.ppt

格式:ppt   页数:22页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

操作系统.操作系统练习.ppt

上传人:gd433 2015/9/14 文件大小:0 KB

下载得到文件列表

操作系统.操作系统练习.ppt

文档介绍

文档介绍:操作系统练****br/>车站售票厅,最多可容纳20名购票者。当售票厅中少于20人时,厅外的购票者可立即进入,否则需在外面等待。把每个购票者看作一个进程。1)写进程同步;2)若所有购票者共n人,则信号量可能的变化范围是什么?
复印室里有一个操作员为顾客复印资料,有5把椅子供顾客休息等待复印。如果没有顾客,则操作员休息。当顾客来到复印室时,如果有空椅子则坐下来,并唤醒操作员;如果没有空椅子则必须离开复印室。
1、售票厅
Semaphore space=20;
Process pi(i=1,2,…)
{
wait(space);
进入售票厅;
购票;
退出售票厅;
signal(space);
}
Main()
{
cobegin
{
pi();
}
}
2、复印室打印
信号量说明:
Customers表示正在等待复印的顾客数量(不包括正在复印的顾客)
Operator记录正在等待顾客的操作员数,只有1和0
Mutex用于对waiting的访问
变量说明:
Waiting表示等待的顾客数量,与customers的值相等,为了解决不能读取信号量当前值的问题
Semaphore customers=0, operator=0, mutex=1;
Waiting=0;
Process operator() //操作员进程
{
while(1)
{
wait(customers); //等待顾客到来
复印;
signal(operator); //通知顾客已复印
}
}
Process customeri() //顾客进程i
{
进入复印室;
wait(mutex);
if (waiting<5)
{
waiting++;
signal(customers);
signal(mutex);
wait(operator);
wait(mutex);
waiting--;
signal(mutex);
}
else
signal(mutex);
离开复印室;
}
Main()
{
cobegin
{
operator();
customeri();
}
}
做饭可以使用电饭煲或者普通的锅,使用操作系统的观点解释为什么使用电饭煲做饭比较好。
为什么文件在同一个分区内移动比不同分区间移动快?
哪些情况下会出现I/O通道繁忙?
举一个多进程能加快程序运行的例子并说明原因
做饭可以使用电饭煲或者普通的锅,使用操作系统的观点解释为什么使用电饭煲做饭比较好。
思路:类似DMA的优点
为什么文件在同一个分区内移动比不同分区间移动快?
改变文件目录/磁盘IO
哪些情况下会出现I/O通道繁忙?
复制文件、内存不足、高速下载、病毒、程序读写文件
举一个多进程能加快程序运行的例子并说明原因
输入计算打印\矩阵计算
进程A、B、C、D、E需要的执行时间为10、6、20、7、3分钟,其中进程A要求必须在20分钟内完成,求5个进程的最短平均等待时间
使用段式存储管理配合伙伴系统最多可能产生多少空间浪费?