OS_作业5
第一题
(1)
先来先服务:
P1 -> P2 -> P3 -> P4 -> P5
短作业优先:
P2 -> P4 -> P3 -> P5 -> P1
非抢占式的优先数(最高响应比优先FRRF):
P1 -> P2 -> P4 -> P3 -> P5
10 1 1 2 5
轮转法:
P1 -> P2 -> P3 -> P4 -> P5 -> P1 -> P5 -> P1 -> P5 -> P1
P1:2 P2:1 P3:2 P4:1 P5:2 P1:2 P5:2 P1:2 P5:1 P1:4
(2)
先来先服务:
- P1:周转时间 10,等待时间 0
- P2:周转时间 11,等待时间 10
- P3:周转时间 13,等待时间 11
- P4:周转时间 14,等待时间 13
- P5:周转时间 19,等待时间 14
- 平均周转时间:
短作业优先:
- P1:周转时间 19,等待时间 9
- P2:周转时间 1,等待时间 0
- P3:周转时间 4,等待时间 2
- P4:周转时间 2,等待时间 1
- P5:周转时间 9,等待时间 4
- 平均周转时间:
非抢占式的优先数(最高响应比优先FRRF):
- P1:周转时间 10,等待时间 0
- P2:周转时间 11,等待时间 10
- P3:周转时间 14,等待时间 12
- P4:周转时间 12,等待时间 11
- P5:周转时间 19,等待时间 14
- 平均周转时间:
轮转法:
- P1:周转时间 19,等待时间 9
- P2:周转时间 3,等待时间 2
- P3:周转时间 5,等待时间 3
- P4:周转时间 6,等待时间 5
- P5:周转时间 15,等待时间 10
- 平均周转时间:
第二题
2. 死锁产生的四个必要条件是什么?
- 互斥条件
- 请求且占有条件
- 不可剥夺条件
- 环路等待条件
第三题
3. 某系统中有n个进程和m台打印机,系统约定:打印机只能一台一台地申请、一台一台地释放,每个进程需要同时使用的打印机台数不超过m。如果n个进程同时需要使用打印机的总数小于m+n,试讨论,该系统可能发生死锁吗?并简述理由。
不可能。
理由:设每个进程需要同时使用的打印机台数分别为$a_i$,由题意$\sum^{n}_{k=1}a_{k}<m+n$,设每个进程已申请正在使用的打印机台数分别为$b_i$,假设每个进程均处于恰好未申请到全部需要使用的打印机的情况,$\forall 1 <= i \&\& i <= n,a_i = b_i + 1$,所以$\sum^{n}_{k=1}b_{k} = \sum^{n}_{k=1}a_{k} - n < m$,因共有m台打印机,故每个进程均可被调配一台打印机得到申请的全部的资源,不会处于死锁的情况。
第四题
4. 什么是进程之间的同步关系?什么是进程之间的互斥关系?
- 进程互斥(间接制约关系):
- 两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥。
- 进程互斥是进程间发生的一种间接性作用,一般是程序不希望的。
- 进程同步(直接制约关系):
- 系统中各进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性的过程称为进程同步。进程同步是进程间的一种刻意安排的直接制约关系。
- 即为完成同一个任务的各进程之间,因需要协调它们的工作而相互等待、相互交换信息所产生的制约关系。
第五题
(1)
处于安全状态
(2)
不安全。
原因:进程P0,P3,P4完成后,可利用资源变为(0,6,8),但其余进程由于$Available < Need$导致无法继续进行
Need:P1(0,7,5) P2 (1,0,0)