第一题

image-20240518103614811

(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. 什么是进程之间的同步关系?什么是进程之间的互斥关系?

  • 进程互斥(间接制约关系):
    • 两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥。
    • 进程互斥是进程间发生的一种间接性作用,一般是程序不希望的。
  • 进程同步(直接制约关系):
    • 系统中各进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性的过程称为进程同步。进程同步是进程间的一种刻意安排的直接制约关系。
    • 即为完成同一个任务的各进程之间,因需要协调它们的工作而相互等待、相互交换信息所产生的制约关系。

第五题

image-20240518165648067

(1)

处于安全状态

(2)

不安全。

原因:进程P0,P3,P4完成后,可利用资源变为(0,6,8),但其余进程由于$Available < Need$导致无法继续进行

Need:P1(0,7,5) P2 (1,0,0)