第1章引论
一、单项选择题
1.A 2. C 3. D 4. A 5.A 6. C 7. C 8. D 9. C 10.C
11. D 12.A 13.C 14.D 15.D 16.C 17.D 18.C 19.B 20.C
21.D 22.D 23.C 24.B 25.C 26.B

二、判断题
1.错误 2. 错误 3.错误 4. 错误 5.错误 6.错误 7.正确 8.错误 9.错误 10.错误
11.正确 12.错误 13.正确 14.错误 15.错误 16.正确 17.错误 18.错误 19.正确
20.正确 21.正确

第2章处理器管理
一、单项选择题
1.D 2. A 3.A 4. C 5.C 6. C 7. A 8. C 9. B 10.C
11. C 12.D 13.A 14.A 15.D 16.A 17.B 18.B 19.B 20.A
21.A 22.B 23.D 24.B 25.C 26.C 27.C 28.C 29.D 30.B
31.D 32.B 33.C 34.C D 35.B 36.A
二、判断题
1.错误 2. 错误 3.错误 4. 错误 5.错误 6.错误 7. 错误8.正确 9.错误 10.错误
11. 错误12.正确13. 错误14.错误 15.错误 16. 错误 17. 正确 18.错误 19.错误 20.错误
四、应用题
2. 由于短作业优先调度算法使得系统平均响应时间最短:
(1)当0<x<=3时应采用的运算次序为x,3,5,6,9
(2)当3<x<=5时应采用的运算次序为3,x, 5,6,9
(3)当5<x<=6时应采用的运算次序为3,5,x,6,9
(4)当6<x<=9时应采用的运算次序为3,5,6,x,9
(5)当9<x时应采用的运算次序为3,5,6, 9 ,x
3.
(1)采用先来先服务调度算法的作业运行情况:
作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间
1 8.0 1.0 0 8.0 9.0 1.0 1.0
2 8.5 0.5 0.5 9.0 9.5 1.0 2.0
3 9.0 0.2 0.5 9.5 9.7 0.7 3.5
4 9.1 0.1 0.6 9.7 9.8 0.7 7.0
作业平均周转时间 T=(1.0+1.0+0.7+0.7)/4=0.85
作业平均带权周转时间 W=(1.0+2.0+3.5+7.0)/4=3.375

(2)采用短作业优先调度算法的作业运行情况:
作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间
1 8.0 1.0 0 8.0 9.0 1.0 1.0
2 9.0 0.2 0 9.0 9.2 0.2 1.0
3 9.1 0.1 0.1 9.2 9.3 0.2 2.0
4 8.5 0.5 0.8 9.3 9.8 1.3 2.6
作业平均周转时间 T=(1.0+0.2+0.2+1.3)/4=0.675
作业平均带权周转时间 W=(1.0+1.0+2.0+2.6)/4=1.65

(3)采用高相应比优先算法的作业运行情况:
作业执行次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间 带权周转时间
1 8.0 1.0 0 8.0 9.0 1.0 1.0
2 8.5 0.5 0.5 9.0 9.5 1.0 2.0
3 9.1 0.1 0.4 9.5 9.6 0.5 5.0
4 9.0 0.2 0.6 9.6 9.8 0.8 4.6
作业平均周转时间 T=(1.0+1.0+0.5+0.8)/4=0.825
作业平均带权周转时间 W=(1.0+2.0+5.0+4.0)/4=3

采用先来先服务调度算法作业运行情况
作业次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间
1 0.0 8.0 0.0 0.0 8.0 8.0
2 0.4 4.0 7.6 8.0 12.0 11.6
3 1.0 1.0 11.0 12.0 13.0 12.0
作业平均周转时间 (8.0+11.6+12.0)/3=10.53

采用短作业优先调度算法作业运行情况
作业次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间
1 0.0 8.0 0.0 0.0 8.0 8.0
2 1.0 1.0 7.0 8.0 9.0 8.0
3 0.4 4.0 8.6 9.0 13.0 12.6
作业平均周转时间 (8.0+8.0+12.6)/3=9.53

作业1达到后暂不投入运行,待3个作业到齐后再按短作业优先算法调度执行。
推迟的短作业优先调度算法作业运行情况
作业次序 提交时间 运行时间 等待时间 开始时间 完成时间 周转时间
3 1.0 1.0 0.0 1.0 2.0 1.0
2 0.4 4.0 1.6 2.0 6.0 5.6
1 0.0 8.0 6.0 6.0 14.0 14.0
作业平均周转时间 (1.0+5.6+14.0)/3=6.87


1)J1从开始到运行完成需要80ms,J2从开始到运行完成需要90ms,J3从开始到运行完成需要90ms.
(2)CPU利用率=CPU有效工作时间/(CPU有效工作时间+CPU空闲时间)
     =70/(70+20)=77.78%
(3)IO1利用率= IO1有效工作时间/(IO1有效工作时间+IO1空闲时间)
=70/(70+20)=77.78%

(1)每道作业的运行经历两级调度:作业调度和进程调度。作业调度采用短作业优先调度算法,进程调度采用基于优先数的抢占式调度算法,即高优先级进程可以抢占低优先级进程所占用的CPU。只有在作业调度程序将作业装入内存后才能参与进程调度,本题的批处理系统为两道作业系统,即内存中最多允许有两道作业。
10:00时,作业A到达并且投入运行;
10:20时,作业B达到且优先级高于作业A,所以进程调度程序调度作业B投入运行,作业A进入就绪队列;
10:30时,作业C到达,内存中已有两道作业,所以作业C进入作业后备队列中等待;
10:50时,作业B运行结束且作业D到达。按短作业优先调度策略,作业D被调入内存并进入就绪队列,而就绪队列中作业A的优先级高于作业D,所以进程调度程序调度作业A运行;
11:10时,作业A运行结束,作业C被调入内存进入就绪队列,因作业C的优先级高于作业D,所以进程调度程序调度作业C运行;
12:00时,作业C运行结束,进程调度程序调度作业D运行;
12:20时,作业D运行结束,此时就绪队列中无可调度执行的作业,即全部作业都运行结束。
(2)各作业执行的周转时间:
作业A:70分钟; 作业B:30分钟; 作业C:90分钟; 作业D:90分钟
作业的平均周转时间为:(70+30+90+90)/4=70分钟

第3章进程同步与通信
一、单项选择题

  1. D 2. D 3. D 4. C 5.D 6. D 7. C 8. C 9. C 10.D
  2. B 12.C 13.D 14.C 15.B 16.C 17.C 18.D 19.A 20.C
    21.C 22.D 23.C 24.C 25.C 26.B 27.A 28.D 29.B 30.D

二、判断题

  1. 正确 2. 错误 3.错误 4. 错误 5.正确6.错误 7.正确 8. 正确9. 正确10.错误
  2. 错误12.错误 13.正确 14.错误 15.错误 16.正确 17.错误

Semaphore mutex;
Mutex.value=100;
cobegin
process reader_i() / /i=1,2,3……
{
P(mutex);
进入阅览室;
阅读;
退出阅览室;
V(mutex);
}
Coend

进程P1 进程P2

P(S1) P(S2)

捡一白子 捡一黑子

V(S1) V(S2)

先让进程P1捡白子,则信号量S1.value 和S2.value的初值分别为1和0:
Semaphore S1,S2;
S1.value=1; S2.value=0;
cobegin
process P1( )
{
while(白子不空)
{
P(S1);
捡白子;
V(S2);
}
}
process P2( )
{
while(黑子不空)
{
P(S2);
捡黑子;
V(S1);
}
}
coend

  1. R M P的同步关系用并发程序实现如下:
    Semaphore a,b,c;
    a.value=b.value=c.value=1;
    cobegin
    process R()
    {
    while (1)
    { P©;
    从输入设备读一个记录到缓冲区;
    V(a);
    }
    }

process M()
{
while (1)
{ P(a);
在缓冲区中加工读入的记录;
V(b);
}
}

process P()
{
while (1)
{ P(b);
打印加工后的记录;
V©;
}
}
coend

Semaphore fork1,fork2,knife1,knife2;
fork1.value=fork2.value=knife1.value=knife2lvalue=1;
cobegin
process P_i( ) //i=0,1,2,3
{
while(1)
{
讨论问题;
if (i0||i3) P(knife1)
else P(knife2);
if (i0||i1) P(fork1)
else P(fork2);
进餐;
if (i0||i3) V(knife1)
else V(knife2);
if (i0||i1) V(fork1)
else V(fork2);
}
}
coend

Semaphore keyboard,disk,mutex;
Keyboard.value=0, disk.value=0, mutex.value=1;
cobegin
process R1()
{
while (1)
{
P(mutex);
从键盘读数到缓冲区B;
V(keyboard);
}
}

process R2()
{
while (1)
{
P(mutex);
从键盘读数到缓冲区B;
V(disk);
}
}

process W1()
{
while (1)
{
P(keyboard);
从缓冲区B取出数据打印;
V(mutex);
}
}
process W2()
{
while (1)
{
P(disk);
从缓冲区B取出数据打印;
V(mutex);
}
}
Coend

Semaphore mutex, empty, apple,orange;
mutex.value=1, empty.value=2, apple.value=orange.value=0;
cobegin
process father()
{
while(1)
{
P(empty);
P(mutex);
向盘中放苹果;
V(mutex);
V(apple);
}
}

process mother()
{
……
}

process daughter_i()
{
while(1)
{
P(apple);
P(mutex);
取盘中苹果;
V(mutex);
V(empty);
吃苹果;
}
}

process son_i()
{
……
}

Coend

操作系统原理1-3章答案 黑新宏 胡元义主编相关推荐

  1. 操作系统课后答案 第四--六章 黑新宏 胡元义主编

    第4章存储管理 一.单项选择题 1.C 2. D 3. C 4. C 5.B 6. B 7. A 8. A 9. C 10.A 11. D 12.C 13.B 14.A 15.C 16.B 17.B ...

  2. 操作系统原理第七章:死锁

    目录 1 死锁的基本概念 2 死锁的必要条件 3 死锁预防 3.1 抑制死锁发生的必要条件 4 死锁避免 4.1 资源分配图法 4.2 银行家算法 5 死锁的检测 5.1 每一种资源类型只有一个实例 ...

  3. 微型计算机原理中BX是什么,微型计算机原理第7章答案

    <微型计算机原理第7章答案>由会员分享,可在线阅读,更多相关<微型计算机原理第7章答案(5页珍藏版)>请在人人文库网上搜索. 1.7.3 设AX=1122,BX=3344H,C ...

  4. 计算机操作系统原理第四章习题

    计算机操作系统原理第四章习题 1.什么是静态链接.装入时动态链接和运行时的动态链接? 2.简述分页系统和分段系统的异同点 3.什么情况下需要重定位?为什么要引入重定位? 4.在具有快表的段页式存储管理 ...

  5. 操作系统原理——第2章 操作系统概述

    2.1 操作系统的目标和功能 操作系统是控制应用程序执行的程序, 并充当应用程序和计算机硬件之间的接口. 它有三个主要目标: 方便 有效 扩展能力 2.1.1 作为用户/计算机接口的操作系统 计算机接 ...

  6. 浙大远程教育离线作业计算机2,浙大远程教育操作系统原理离线作业参考答案.doc...

    文档介绍: 浙江大学远程教育学院 <操作系统原理>课程作业 姓名: 学号: 年级: 学****中心: ----------------------------- 一.单选题 进程P0和P1 ...

  7. 操作系统原理第十一章:大容量存储

    目录 1 磁盘结构 2 磁盘调度 2.1 先来先服务(FCFS) 2.2 最短寻道时间优先(SSTF) 2.3 扫描算法(SCAN) 1 磁盘结构 文件是放在磁盘上的,因此磁盘的性能是对操作文件有很大 ...

  8. 操作系统原理第六章:进程同步

    目录 1 进程同步背景 2 临界区 2.1 进程的互斥 3 信号量 4 哲学家问题 5 生产者消费者问题 6 读写问题 7 P,V操作总结 1 进程同步背景 对于之前所提到的生产者消费者问题,采用共享 ...

  9. 操作系统原理第五章:CPU调度

    目录 1 CPU调度基本概念 1.1 基本概念 1.2 CPU调度的时机 1.3 CPU调度方案 2 CPU调度算法 2.1 先来先服务(FCFS) 2.2 短作业优先(SJF) 2.3 优先级 2. ...

  10. 操作系统原理第三章:进程

    目录 1 进程概念 1.1 顺序执行环境 1.2 并发执行环境 1.3 进程的定义 2 进程状态 3 进程控制块PCB 3.1 进程控制块PCB中的内容 3.2 PCB的组织方式 4 操作系统调度 5 ...

最新文章

  1. .net core实践系列之短信服务-架构设计
  2. 07-狄克斯特拉算法
  3. [jQuery1.9]Cannot read property ‘msie’ of undefined错误的解决方法
  4. POJ2492A Bug's Life【并查集+根节点偏移】
  5. JAVA Excel下载学习
  6. 我的世界1.12.2java下载_我的世界1.12.2.2中文版下载 我的世界1.12.2.2中文版单机游戏下载...
  7. linux如何卸载oracle数据库实例,linux下删除oracle数据库实例
  8. 我心中的超短系统之人气、情绪、大局观、仓控
  9. 谈谈MATLAB数字滤波器频域响应
  10. android app报告,知乎APP用户体验报告
  11. 初等函数导数与泰勒展开
  12. pythony第三章:列表、元组、字典和集合(1)
  13. 知乎上这个程序员火了,竟是因为给老板修了一 次U盘...
  14. 【评测】无血清细胞冻存液
  15. python fft 归一化_基本的FFT归一化问题
  16. 喜马拉雅三战IPO: “声“意难做、4年累亏近30亿
  17. 登月源码开源登顶GitHub No.1!接而又被中国程序员“玩坏”了
  18. 2D激光SLAM-雷达的特征点提取
  19. 看看谁获得了CodeM编程大赛的10万奖金
  20. 特斯拉首款电动卡车发布;自媒体侵权美团点评被判赔10万;贾跃亭辞任酷派董事长丨价值早报

热门文章

  1. Java单例模式——线程安全的懒汉模式
  2. 数组与集合的区别(概况)
  3. Matlab之全局变量
  4. 2021抖音数据报告(完整版)
  5. struct termios
  6. 图像的数字化(以某化探异常图为例——地球物理)
  7. 【广东大学生网络攻防大赛-WriteUp(非官方)】Web | in
  8. vue项目引入iconfont图标
  9. 正交设计助手的使用教程(设计测试用例的工具)
  10. 线性查找与二分查找的平均查找次数的比较