执行顺序: SF算法: 作业 A B C D 执行顺序: A、B、C、D 平均周转时间: 3.25 到达时间 8:00 8:01 8:03 8:04 A、C、D、B 所需CPU时间 3 2 1 1 平均周转时间: 周转时间 3 6 1 1 2.75 2、设有以下三个作业,它们的到达时间和所需CUP时间如下表所示,若采作响应比高者优先调度算法,它们的调度顺序、每个作业周转时间以及平均周转时间为多少? 作业 到达时间 所需CPU时间 周转时间 A B C D 8:00 8:02 8:03 8:04 5 2 3 1 5 5 8 4 执行顺序: A、B、D、C 平均周转时间: 5.5 3.在某多道程序系统中,供用户使用的内存空间有100k,磁带机2台,打印机1台。系统采用可变分区分配方式管理内存,对磁带机和打印机采用静态分配方式,并假设输入/输出操作时间忽略不计。现有一作业序列如下表所示。 作业号 到达时间 要求计算时要求内存量 申请磁带机申请打印机1 8:00 15k 2 8:20 30k 3 8:20 60k 4 8:30 20k 5 8:35 10k
假设作业调度采用先来先服务算法,优先分配内存的低地址区域且不准移动已在内存中的作业,在内存中的作业平分cpu时间,试问: 1) 作业调度选中的次序是什么?
2) 如果把一个作业的周转时间定义为到达系统至计算完成的时间,则最大和最小的周转时间是多少?
3) 作业全部执行结束的时间是多少? 分析:
8:00,作业1到达,内存和外设空,且均被满足。 0
作业1 15k 100k-1 间 25 10 20 20 15 数 1 1 1 1 数 1 1 1 8:20,作业2到达,打印机不能满足,作业2等待。同时,作业3到达,系统能满足其需求,则作业3进入内存运行。此时,作业1已运行20分钟,还需要5分钟运行,但这时内存中已有两道作业,则它们要平分cup时间,即作业1至少还要运行10分钟才能运行完毕。 0
作业1 15k
作业3 75k 100k-1
8:30作业1运行完毕,释放资源。此时,系统中有1台磁带机和1台打印机空闲,还有一个大小为15k和大小为25k的空闲分区。与此同时,作业4到达,与正在等待的作业2一起竞争内存和外设。因作业2所要求的内存空间无法满足,因此作业2继续等待。作业4只申请20k内存并要1台磁带机,可被满足,所以作业4进入内存并运行。这时,作业3已经运行5分钟,它还需要运行15分钟,内存中有两道作业,则它们要平分cup时间,即作业3至少还要运行30分钟才能运行完毕。
0 15k
作业3 75k
作业4 95k 100k-1
8:35,作业5到达,这时已没有空闲磁带机,作业5等待。
9:00,作业3运行完毕,释放占用资源。此时,系统有有1台磁带机和1台打印机空闲,还有一个大小为75k和一个大小为5k的空闲区。因作业2比作业5先到,且作业2的资源申请能被满足,所以,作业2被调入内存,作业5等待。
0 作业2 30k
75k
作业4 95k 100k-1
9:10,作业4运行完毕,释放资源。此时,系统有2台磁带机,还有一个70k的空闲区,但作业5申请打印机不能满足,等待。
9:15,作业2运行完毕,释放打印机,和内存,此时,系统所有资源空闲。这时,作业5进入运行,独自使用cpu,15分钟后完成。 解:
1) 调度执行次序:1-3-4-2-5 2) 作业1:T=8:30-8:00=30 作业2:T=9:15-8:20=55 作业3:T=9:00-8:20=40 作业4:T=9:10-8:30=40 作业5:T=9:30-8:35=55
4) 作业全部执行完的时间是9:30
4.已知某某系统中所有资源是相同的,系统中的进程严格按照一次一个的方式申请或释放资源。在此系统中,没有进程所需要的资源数量超过系统的总拥有数量,试对下表所列出的各种情况说明是否会发生死锁。 情况序号 系统中进程数 资源总量 a 1 2 b 2 1 c 2 2 d 2 3 答:
情况a:因系统中不仅存在1个进程,且系统中的资源总数为2,由题目所给条件可知,该进程的最大资源需求量不超2,显然情况a不会出现死锁。 情况b:因系统中存在2个进程,且系统中资源总数为1,由题目所给条件可知,每个进程的最大资源需求量不超1。不妨设两个进程的最大资源需求量为1。若系统将资源分配给其中一个进程,则此进程已获得它所需要的所有资源并运行完毕,从而可将分配给他的资源归还给系统,使另一个进程也能顺利执行完成,故不会发生死锁。
情况c:因系统中存在2个进程,且系统中资源总数为2,由题目所给条件可知,该进程的最大资源需求量不超2。假设两个进程的最大需求量为2,若系统将资源分配给其中的一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给它的资源归还给系统,使另一个进程也能顺利执行完成,以这种方式分配资源不会发生死锁;若系统将资源分配给每个进程1个,在此情况下,每个进程均获得1个资源且系统中已没有空闲资源,当其中的一个进程再次申请1个资源时,因系统中无空闲资源而使其等待,另一个进程的情况也如此,因此这种方式分配资源会发生死锁。
情况d:因系统中存在2个进程,且系统中资源总数为3,由题目所给条件可知,该进程的最大资源需求量不超3,假设两个进程的最大资源需求量为3,若系统将资源分配给其中一个进程,则此进程已获得它所需要的所有资源并将运行完毕,从而可将分配给他的资源归还系统,使另一个进程也能顺利执行完成,以这种方式分配资源不会发生死锁;若系统将资源分配给其中一个进程1个,另一个进程2个,在此情况下,因系统中无空闲资源而使其等待,另一个进程的情况也是如此,因此这种方式分配资源会发生死锁。
相关推荐: