计算机操作系统原理期末总复习

第1章 操作系统简介

1、现代操作系统的四个特征是什么?(4分)

并发、共享、虚拟、异步
并发 :两个或多个事件在同一时间间隔内发生。
共享 :内存中多个并发执行的进程共同使用系统中的资源。

2、操作系统内核的四个主要功能是什么?(4分)

内存管理、进程管理、设备管理、文件管理

3、为什么多道程序系统的平均周转时间比单道程序系统的平均周转时间长?(1分)

存在CPU等待的时间

4、分时系统与人机交互相关的一个重要性能指标是什么?(1分)

响应时间

5、衡量实时系统是否满足时间性能要求的两个主要指标是什么?(2分)

开始时间、截止时间

6、将文件的逻辑地址转换为文件在外存中的物理地址的功能由哪部分程序完成?(1分)

磁盘驱动程序

7、指令执行的操作主要包括哪几类?(3分)

1、处理器存储器之间的指令或数据传送操作
2、处理器I/O设备之间的指令或数据传送操作
3、算术运算操作与逻辑运算操作
4、控制操作,即修改指令执行顺序操作

第2章 进程的描述与控制

1.进程由哪三个部分构成?执行态进程在什么情况下变为就绪态?阻塞进程的操作最后一步要调用什么程序进行CPU的重新分配?

程序、用户数据、进程控制块

CPU时间片用完

进程调度程序

2.若两个进程并发执行下列程序,x初值为3,当两个进程各执行完一次下列代码后,x的可能值是什么?
load R1, x // 取x的值到寄存器R1中
dec R1 //将R1的值减1
store x, R1 // 将R1的内容存入x

1 或 2

3.简述操作系统引导的过程。

只读存储器ROM中的BIOS程序执行后,将Boot程序加载至内存,然后Boot程序执行,到外存中找到loader程序并加载到内存,接着loader程序执行,将内核程序从外存加载到内存,最后内核开始执行。

4.外部中断信号的产生部件是什么?中断向量由哪个部件产生?中断响应开始后哪些操作由硬件完成?中断响应开始后哪些操作由操作系统内核完成?中断向量表表项中存放什么内容?若中断向量表的起始地址为addr,表项长度为8字节,中断向量表的n号表项的起始地址是什么?

CPU外的硬件电路
中断控制器
硬件:关中断、保存程序断点、中断处理程序地址—》pc
内核:保护现场、执行中断服务程序、恢复现场、开中断、中断返回
中断或异常处理服务程序入口地址相关的信息
addr+8n

5.可编程间隔定时器的功能是什么?例举几种时钟中断处理程序需要完成的功能。如何保证RTC时间与OS时间的同步?

功能:按指定时间间隔产生时钟中断,测量逝去的时间,并触发与时间有关的操作。

举例:
1、维护时间日期;
2、对CPU使用情况记账;
3、递减报警计时器;
4、递减当前进程在一个时间片内的剩余时间,并检查是否为0,防止进程运行超时。

第3章 进程同步与进程通信

1.同步机制由操作系统还是应用程序实现?操作系统还是应用程序需要调用实现同步操作的函数?

操作系统或应用程序;
操作系统或应用程序;

2.请写出记录型信号量机制中 wait(s)和signal(s)操作的伪代码,并说明信号量的类型。

Type semaphore=record
value:integer;
L:list of process;
end

在这里插入图片描述

3.若使用记录型信号量机制解决生产者-消费者的同步问题,生产者进程会在什么情况下被阻塞?阻塞的生产者进程会被插入哪个阻塞队列?

缓冲区已满
生产者进程阻塞队列

4. 请写出读者-写者问题中读进程在进入共享数据区执行读操作之前的代码片段。

wait(rmutex);
if readcount = 0 then wait(wmutex);
readcount++;
signal(rmutex);

5.同步机制应遵循的四条准则中的“让权等待”是什么含义?实现让权等待有什么好处?

含义:当进程申请不到共享资源的访问权时,应立即释放处理器
好处:以免进程陷入“忙等”状态,浪费CPU资源

6.信号量是全局变量还是局部变量?

全局变量

第4章 进程调度

1.支持多任务的操作系统为什么需要实现进程调度(CPU调度)的功能?

因为CPU是共享资源

2.在发生哪些事件时操作系统会执行进程调度程序?

1、进程运行结束(包括正常结束和异常结束)
2、进程阻塞
3、中断返回
4、支持抢占式调度的系统中有比当前运行进程优先级更高的进程到来
5、当前运行进程的时间片用完

3.关于时间片轮转调度算法,回答问题。时间片轮转调度算法与其他调度算法相比,需要哪些特殊硬件的支持?进程在CPU上执行的剩余时间在什么时候进行初始化?进程切换需要完成哪些主要操作?采用较短的时间片有什么缺点?

硬件:可编程间隔定时器、可编程中断控制器
进程在进程调度的时候初始化
主要操作: 栈帧切换和CPU上下文切换
缺点:增大系统开销和加长平均周转时间

4.若有三个进程p1、p2、p3 ,进入系统的时间分别为30ms、40ms、50ms,需要的CPU服务时间分别为5ms、10ms、4ms,优先级数分别为3、20、1(优先级数越小优先权越高)。若系统从35ms开始进行进程调度,采用非抢占式的优先权调度算法,请说明三个进程的调度顺序并计算三个进程的平均周转时间。
请添加图片描述

第5章 死锁

第6章 内存管理

在这里插入图片描述

(首先题目有问题,题目说给该进程分配了 3个页框,但是表格中只给了2个该进程的页框,在访问逻辑单元0x1F0A时,需要获得页号为1的页的页框号,按照题目要求的LRU置换算法,将最近最久未使用的页换出,这里进程所占的页为0号、2号以及没有给出的x号,2号刚刚访问过,但是不知道该换0号还是换x号。在课本P172页中非常相似的题目中有条件为“进程的驻留集大小固定为2”,该条件就能很好地表明需要换出哪一个。只能说这里的“为该进程分配3个页框”的条件有问题,而且没有其他引导的话语表示要换出0号页,只能靠猜)

(1)0x2356:页号为2,页内偏移为0x356,根据页表读出页号2的页框号为0x102,计算物理地址如下:
0x1020x1000+0x356=0x102356
0x1F0A:页号为1,页内偏移为0xF0A,根据页表发现1号页缺页(有效位为0),根据LRU置换算法将0号页换出,1号页装入0号页原来的页框中,故物理地址计算如下:0x6E
0x1000+0xF0A=0x6EF0A

(2)第一问:若TLB命中,则访问页框所需时间等于10ns,访问内存获取数据为100ns,共花费时间为110ns
第二问:访问逻辑单元0x1F0A时,首先CPU检索快表(耗时10ns),页表不在快表中,访问页表(耗时100ns),页不在内存中,即发生缺页异常,进行缺页异常处理(耗时20ms),将页装入页框后,重新请求访问0x1F0A,首先CPU检索快表(耗时10ns),页表不在快表中,再访问页表(耗时100ns),页在内存中,根据页框号和页内偏移计算得到物理地址,访问数据(耗时100ns),总共耗时(10ns+100ns+20ms+10ns+100ns+100ns=20.32ms)

第7章 文件系统

某文件系统,目录项结构如右图所示。
在这里插入图片描述
i节点中有2个直接地址项和1个一次间接地址项,1个二次间接地址项,1个三次间接地址项。若目录树如下图所示,各文件占用的 i节点号、簇号及顺序如下表所示。其中dir、dir1是目录,file1、file2是用户文件,目录项长度为32字节,磁盘块大小为4KB。请回答以下问题。
在这里插入图片描述

1.写出目录文件dir1的内容。

目录文件dir1的内容为在这里插入图片描述 (2分)

2.目录文件dir、dir1和用户文件file1共占用至少多少字节的磁盘空间?

文件系统以磁盘块为单位为文件分配空间,目录文件dir、dir1各需分配一个磁盘块,文件file1占用了6、8、10三个磁盘块,因此dir、dir1和用户文件file1共占用5个磁盘块,5*4KB=20KB大小的空间。(2分)

3.删除文件file2 之后哪些数据结构发生了变化?说明变化后的具体内容。

删除文件file2 之后 ,目录文件dir1的内容变为
在这里插入图片描述
文件file2占用的i节点被释放。
文件file2占用的12、13、16、23四个磁盘块的状态变为空闲状态。(3分)

4.简述按名访问文件file1的过程。

根据文件名dir1在dir目录文件中找到dir1所在的i节点号为2,在2号i节点中获取目录文件dir1的磁盘块号,从中读出dir1的内容。以文件名file1为索引检索目录文件dir1,从中可以得到file1的i节点号3,从3号i节点中可以获得文件file1所在的磁盘块号6、8、10,从中可以获得file1的内容。(3分)

第8章 I/O设备管理

猜你喜欢

转载自blog.csdn.net/weixin_52060913/article/details/131055098