前言
- 课本: 操作系统原理(第五版)[费翔林,骆斌编著]
- 习题: 主要习题内容是第一章到第六章,具体内容如下表
章节 | 内容 | 链接 |
---|---|---|
第一章 | 思考题1,3,7、应用题7,12(1)~(4) | null |
第二章 | 思考题1,3,10, 20, 26, 32, 38, 68、应用题7,8,12, 16, 25 | null |
第三章 | 课后习题1(4)、5、9 | null |
第四章 | 课后习题1、2、3 | null |
第五章 | 课后习题1、4 | null |
第六章 | 课后习题11、15 | null |
第七章 | 课后习题2 | null |
第八章 | 课后习题1 | null |
习题二思考题
1、什么是 PSW?它有何作用?
PSW 的全称是(Program Status Word),也就是程序状态字, 它的作用是指示程序运行状态、控制指令执行顺序、保留和指示与运 行的有关的各种信息,可以实现程序的状态的保护和恢复。
3、为什么要把机器指令分成特权指令和非特权指令?
分成特权指令和非特权指令的最重要的原因是保护系统处于 一个稳定、完整的状态。用户能随意调用非特权指令,因为这些 指令操作不会更改操作系统的资源,若是不分特权指令和非特权 指令,用户则可以任意调用一些核心指令,从而可能会造成操作 系统的混乱、影响其他运行的程序,以及破坏操作系统的完整性、用户信息的完整性。
10、试述中断在操作系统中的重要性及其主要作用
操作系统是由"中断驱动"的,每当应用程序执行系统调求获 得操作系统服务、I/0 设备报告传输情况或者产生形形色色的内部和外部事件时都要通过中断机制产生中断信号并启动操作系统 内核工作。
中断能够使得操作系统可以解决主机和设备的并行性问题、能 够处理突发时间、满足实时要求。中断系统让应用程序放弃对 CPU 资源的占有或者掌握 CPU 资源的控制权上有更大的灵活性,同样使得操作系统具有很大的灵活性。
20、程最基本的状态有哪些?哪些事件可能引起不同状态间的 转换?
进程最基本的状态就是三态模型,即运行态、就绪态、等待 态。很多操作系统新增了两个状态:新建态和终止态,然后还引 入了挂起的概念,所有有了挂起就绪态、挂起等待态,从而形成 了七态模型。以下几种情况事件可能引起不同状态的转化:
- 一个新的进程产生:NULL -> NEW
- 进程创建、初始化成功准备运行:NEW- > START
- 就绪态的进行被进程调度程序选中开始运行: START -> RUNNING
- 运行的进程结束任务:RUNNING -> EXIT
- 运行的进程用完进程调度程序给它分配的时间片: RUNNING -> READY
- 运行的进程需要请求某样东西而等待: RUNNING - > BLOCKED
- 阻塞的进行所等待的某个事件到来时: BLOCKED -> READY
26、何谓进程控制块(PCB)?它包含哪些基本信息?
进程控制块的全程是(Process Control Block),它是进程存在的唯一标识,是操作系统用来记录和刻画进程状态及环境信息的 数据结构,是进程动态特征的汇集,也是操作系统掌握进程的唯一资 料结构和管理进程的主要依据。PCB 应该包含下面三类信息:
① 标识信息:标识信息用于唯一地标识一个进程,常用的标识信息包括进程标识 ID、进程组标识 ID、用户进程名、用户组名等。
② 现场信息:保留进程在运行时存放在处理器现场中的各种信息,进程退场让出 CPU 的时候保存现场信息到它的 PCB 中,后续在进场占有 CPU 的时候在加载先前保留的 PCB。现场信息包括通用寄存器内容、控制寄存器内容、栈指针、程序状态字等。
③ 控制信息:控制信息用于管理和进程调度。包括有进程调度信息、进程组成信息、进程间族系信息、CPU 的占用和使用信息、进程特权信息、文件传输和 I/O 信息
32、什么是模式转换?它与进程切换之间有何差别?
模式转化是指处理器状态从一个状态转换成另一个状态,比如 用户态(目态)->内核态(管态)或者 内核态-> 用户态。转换的具体步骤为:先保存中断进程的处理器现场信息,然后处理器发生状态 改变,若在之间发生中断,则根据中断级别设置中断屏蔽位,最后从 系统调用表中或中断入口地址表中找到系统服务或中断处理程序地址。
它与进程的切换之间的差别主要在于模式切换不一定引起进程的切换,换句话说就是处理器在处理一个进程的时候需要请求系统 调用,会从用户态转为核心态,但不一定会发现进程的切换,从而跳到另一个进程去执行。原本的进程仍在自己的进程上下文中执行,只有处理器的状态改变了。
38、试从调度性、并发性、拥有资源和系统开销等 4 个方面对传统进程和多线程进程进行比较。
- 调度性:在传统进程中,进程是调度和分派的基本单位,每次 调度都需要切换进程上下文,开销较大;在多线程进程中调度的基本 单位是线程,而线程的切换只需要更改很小一部分的寄存器内容,并 且这种切换是在同一进程中,不会发生进程的切换。
- 并发性:在传统进程中,多个进程可以共存于内存中,由此可 以实现进程的并发;在多线程进程中,不仅进程可以并发执行,在每 个进程中的线程也可以并发执行。
- 拥有资源:进程是分配资源的基本单位,操作系统会为每一个 进程分配独立的 CPU、内存资源,而线程则没有,它们会共享这部分资源,除此之外线程拥有各自的用户栈和核心栈。
- 系统开销:在进行进程切换时,涉及整个当前进程 CPU 环境的保存以及新调度到进程的 CPU 环境的设置;而线程切换时,只需要保存和设置少量寄存器内容。因此线程切换开销很少。另外,由于同一 进程内的多个线程共享进程的地址空间,因此,多线程之间的同步与 通信非常容易实现,甚至无需操作系统干预。
68、为什么说操作系统是由中断驱动的?
每当应用程序执行系统调用要求获得操作系统服务、I/0 设备报告传输情况或者产生形形色色的内部和外部事件时,都要通过中断 机制产生中断信号并启动操作系统内核工作。所以说操作系统是由中 断驱动的。
习题二应用题
7、假定执行作业 Job1 - Job5 ,作业号即为其到达顺序,依次在时刻0 按照序号 1、2、3、4、5 进入单处理器系统。作业号及执行时间、优先权为
A: 计算(20ms),I/0(30ms),计算(10 ms)
B:计算(40ms),I/0(20ms),计算(10ms)
C:计算(10ms),I/0(30ms),计算(20ms)
完成下列计算:
(1)分别采用先来先服务调度算法、时间片轮转算法、短作业优先算 法及非抢占优先权调度算法计算出各作业的执行次序(注意优先权越 高其数值越小):
(2)计算每种情况下作业的平均周转时间和平均带权周转时间。
下面将用 1、2、3、4、5 指代 Jobi 其中 i ∈ {1,2,3,4,5}
(1)下面是四个调度算法中各作业的执行次序
- 先来先服务作业执行次序:1,2,3,4,5;
- 时间片轮转作业执行次序(每个时间片为 1): 1,2,3,4,5,1,3,5,1,5,1,5,1,5,1,1,1,1,
- 短作业作业执行次序: 2,4,3,5,1;
- 非抢占优先权作业执行次序: 2,5,1,3,4
(2)下面是每种情况下作业的平均周转时间和平均带权周转时间。
- 先来先服务:(T = 13.4; W = 7.26)
- 时间片轮转:(T = 9.2; W = 2.84)
- 短作业作业:(T = 7; W = 1.74)
- 非抢占优先权:(T = 12; W = 6.36)
8、在道数不受限制的多道程序系统中,作业进入系统的后备队列时 立即进行作业调度。现有 4 个作业进入系统.有关信息为下图,作业调度和进程调度均采用高优先级算法(规定数值越大则优先级越 高)。试填充下表
12、有 5 个批处理作业 A~E 均已到达计算中心,其运行时间分别为 10 min、6 min、2 min、4 min 和 8 min;各自的优先级分别规定为 3、5、2、1 和 4,其中 5 是最高级。若不考虑系统切换开销,试计算出平均作业周转时间。
(1)FCFS(按照作业 ABCDE 的顺序):
(2)优先级调度算法;
(3)时间片轮转法。
下面是每种情况下作业的平均周转时间
- FCFS:(T = 19.2)
- 优先级调度算法:(T = 20)
- 时间片轮转法:(T = 20.4)
16、若有 4 个作业进入系统其提交时刻和估计运行时间为下图,分别计算在 FCFS、SJF 和 HRRF 算法下的平均周转时间和平均带权周转时间
下面是每种情况下作业的平均周转时间和平均带权周转时间
- FCFS:(T = 112.5, W = 4.975)
- SJF:(T = 85, W = 3.625)
- HRRF:(T = 72.5, W = 1.2175)
25、有一个具有两道作业的批处理系统,作业调度采用短作业优先 调度算法,进程调度采用以优先数为基础的抢占式调度算法。在下表所示的作业序列中。作业优先数即为进程优先数,优先数越小则优先级越高。
(1)列出所有作业进入内存的时刻及结束时刻
(2)计算作业的平均周转时间
下面将会列出所有作业的进入内存时刻和结束时刻
(1)
(2) 作业平均周转时间为: ( 70 + 30 + 50 + 90 ) / 4 = 60 (70+30+50+90)/ 4 = 60 (70+30+50+90)/4=60 (min)
结束语
如果有疑问欢迎大家留言讨论,你如果觉得这篇文章对你有帮助可以给我一个免费的赞吗?我们之间的交流是我最大的动力!