操作系统考试复习要点

操作系统考试大纲

题型:

分析题:每题5分共20分 绪论,进程管理,调度与死锁,设备和磁盘
论述题:每题5分共20分 绪论,进程管理 ,进程管理,文件管理
计算题:每题10分共20分 设备和磁盘,虚拟内存
应用题:每题10分共40分 存储管理,进程管理,调度与死锁,文件管理

绪论 10分
进程管理 25分
调度与死锁 15分
存储管理和虚拟内存 20分
设备和磁盘管理 15分
文件管理 15分

知识点及其考试要求

第一章 操作系统引论(分析题5分、论述题5分)

在这里插入图片描述

1、理解操作系统的发展与分类。

  1. 人工操作方式:所有算题都要人工干预,包括程序装入、运行、结果输出。
    缺点:用户独占全机,CPU利用不充分。

  2. 单道批处理:一次允许运行一个程序
    特点:自动性、顺序性、单道性

  3. 多道批处理:并发运行多个程序
    优点:资源利用率高,系统吞吐量大
    缺点:用户响应时间长,不提供用户交互接口

  4. 分时系统:人机交互和共享主机
    特点:同时性、交互性、独立性、及时性

  5. 实时系统:要求响应时间极短
    特点:及时性、可靠性

2、熟练掌握操作系统的概念、特征、功能和提供的服务。

操作系统的概念是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充
操作系统的特征是并发、共享、虚拟、异步
操作系统的功能(看思维导图)

3、理解操作系统体系结构。

4、熟练掌握操作系统的运行环境:内核态与用户态;中断、异常;系统调用。

这里就是了解概念,没有大题要考,考研是要背的,按照图示看书的概念即可(亿图就是个垃圾,推荐大家用processOn
没有账号的可以帮我扩一下容,这个免费还好用:
好工具一定要分享给最好的朋友,ProcessOn助您和好友一起高效办公!

用户态->内核态:由中断引发,硬件自动完成,强行夺回CPU的使用权。
内核态->用户态:由操作系统完成
中断:来自CPU执行指令以外的时间的发生,中断是让操作系统内核夺回CPU使用权的唯一途径(如时钟中断,硬件故障)
异常:内中断,源自CPU执行指令内部的事件(地址越界,算术溢出,除0等)
系统调用:用户在程序中调用操作系统所提供的一些子功能,凡是与资源有关的操作(如存储分配)都必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。

第二章 进程的描述与控制

1、理解进程概念,进程组织

进程的定义:作为资源分配和独立运行的基本单位都是进程。
进程和程序的区别
程序:程序只是一个静态的实体,是存放在磁盘里的可执行文件。
进程的详细定义:进程是具有独立功能的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位

考点题型:在操作系统中为什么要引入进程概念?并说明进程在三个基本状态转换的典型原因

进程的系统进行资源分配的基本单位,又是独立运行的基本单位,为了描述多道程序环境下程序的并发执行而引入进程的概念。
典型原因:
就绪->执行:调度程序将PC分配给该就绪进程;
执行->就绪:正在执行的进程的时间片用完或被其他更重要的进程抢占CPU
执行->阻塞:进程需要等待某种事件(I/O操作)
阻塞->就绪:进程所等待的事件发生,被其他合作进程唤醒

2、熟练掌握进程的状态与转换。

在这里插入图片描述

3、理解进程控制,进程通信:共享存储系统;消息传递系统;管道通信。

4、理解线程概念与多线程模型。

5、理解进程同步的基本概念

实现临界区互斥访问的基本方法:
软件实现方法:
1、信号量机制
2、管道机制

硬件实现方法:
1、关中断
2、利用Test-and-Set指令实现互斥
3、利用Swap指令实现进程互斥

进程同步机制主要处理的是对多个相关进程在执行次序上进行协调

6、会应用信号量,管程解决同步问题;能分析并应用经典同步问题

生产者-消费者问题
信号量处理:mutex=1,empty=n,full=0;

mutex控制互斥的信号量,初值为1;
empty用于判断缓冲区是否为空,初值为n;
full用于判断缓冲区中是否有产品,初值为0;

读者-写者问题
信号量处理:rmutex=1,wmutex=1,readcount=0;
rmutex读者的互斥信号量,初值为1;
wmutex写者的互斥信号量,初值为1;
readcount读者的全局变量,初值为0,读者进程来一个加一次,要用rmutex互斥锁封装;

哲学家进餐问题
可以用一个信号量表示一只筷子,由这5个信号量构成信号量数组;
chopstick[5]={1,1,1,1,1};

第三章 处理机调度与死锁

1、理解调度的基本概念,调度时机、切换与过程;调度的基本准则;调度方式。

2、熟练掌握典型调度算法:先来先服务调度算法,短作业(短进程、短线程)优先调度算法,时间片轮转调度算法,优先级调度算法,高响应比优先调度算法,多级反馈队列调度算法。

先来先服务调度算法:按照后备队列顺序执行

短作业(短进程、短线程)优先调度算法:按照当前的后备队列中最小执行时间的作业执行

时间片轮转调度算法:绝对可抢占,每隔一段时间中断一次,调度队首作业

优先级调度算法:外部会提供作业的优先级,按照优先级调度

高响应比优先调度算法:优先级计算算法是 运 行 时 间 + 等 待 时 间 运 行 时 间 \frac {运行时间+等待时间}{运行时间} +
多级反馈队列调度算法:多级优先级队列,队列内按照FCFS算法

3、理解死锁的概念

互相占有对方需要的资源不释放就是死锁;
互相谦让不获取资源就是活锁;

产生死锁的必要条件为:

  1. 互斥条件
    :在一段时间内某资源仅为一个进程所占有。
  2. 请求和保持条件
    :进程已经保持了至少一个资源,但又提出了新的资源请求,但是对自己已经获得的资源保持不放
  3. 不可抢占条件
    :资源只能由进程主动释放。
  4. 循环等待条件
    若干进程之间形成首尾相接循环等待资源的关系(即出现请求回路)
考点题型:何谓死锁?产生死锁的原因是什么?并说明可通过哪些途径预防死锁?

死锁是指两个或两个以上的进程在执行过程中,由于争夺资源而造成的一种僵局,当进程处于这种僵持状态时,若无外力作用,它们都将无法再向前推进。

产生的原因:1、竞争资源 2、进程间推进顺序非法

预防死锁就要破坏产生死锁的必要条件
1、破坏互斥条件:改造独占性资源为虚拟资源
2、破坏请求和保持条件:采用资源预先分配策略,即进程运行前申请全部资源
3、破坏不可抢占条件:当一个进程占有一个独占资源后又申请一独占资源而无法满足,则退出原占有的资源
4、破坏循环等待条件:采用资源有序分配策略,对所有设备实现编号,所有进程顺序执行

4、会应用死锁处理策略;死锁预防;死锁避免

5、理解系统安全状态,分析并应用银行家算法

银行家算法是一种死锁避免算法。
画安全性算法表就行~

考试题型

某系统有 A、B、C、D 四类资源可供五个进程 P1、P2、P3、P4、P5 共享。
系统对这四类资源的拥有量为:A 类 3 个、B 类 15 个、C 类 13 个、D 类 12
个。进程对资源的需求和分配情况如下:
在这里插入图片描述
根据银行家算法回答下列问题:
(1)计算各进程对各类资源的剩余需求和系统中各类资源的剩余数。(2 分)
(2)现在系统是否处于安全状态?为什么?(2 分)
(3)如果现在进程 P2 提出需要 A 类资源 0 个、B 类资源 5 个、C 类资源 2个和 D 类资源 0 个,系统能否满足它的请求?为什么?(4 分)

解:(1)系统拥有资源量为 A 类 3 个,B 类 15 个,C 类 13 个,D 类 12个,把它用(3,15,13,12)来表示。由于五个进程已占用的资源量为(2,10,11,12),故现在系统中各类资源的剩余量为(1,5,2,0)。根据各进程对资源的最大需求和已占资源量可知各进程对各类资源的剩余需求如下:
在这里插入图片描述
(2)利用安全性算法对现在系统的安全性进行分析:
在这里插入图片描述
存在一个安全序列(P1,P2,P3,P4,P5,P2),所以系统是安全的。
(3)如果现在进程 P2 提出需要Request2(0,5,2,0)个资源,系统按
银行家算法进行检查:
1)先判断该请求是否大于它的需求: Request2(0,5,2,0)<= Need 2(0,7,5,0)
2)再判断该请求是否大于总体剩余资源 Request2(0,5,2,0)<=Available(1,5,2,0)
3)假定可为 P2 分配资源,并修改 Available、Allocation 和 Need
向量:
Available(1,5,2,0)改为 Available(1,0,0,0)
Allocation2(1,0,0,0)改为 Allocation2(1,5,2,0)
Need 2(0,7,5,0)改为 Need 2(0,2,3,0) 4)利用安全性算法对系统的安全性进行分析如下表:
在这里插入图片描述
存在一个安全序列,所以系统可以满足进程P2的请求。

6、理解死锁检测和解除。

死锁检测算法:资源分配图;
死锁解除:1、抢占资源;2、终止(或撤销)进程;3、重新启动;4、进程回退

第四章 存储器管理

1、理解内存管理概念,程序装入与链接,逻辑地址与物理地址空间,内存保护。

2、理解交换与覆盖技术。

3、理解连续分配管理方式,非连续分配管理方式

4、能分析并应用分页管理方式,分段管理方式,段页式管理方式。

页表是一种特殊的数据结构,记录着页面和页框的对应关系。
页表的作用是内存非连续分区分配的基础,实现从逻辑地址转化成物理地址。
页表包括的内容就有页号、物理块号、状态位、访问字段、修改位、外存地址(这是一个完整的页表信息,一般题目不会给这么多的信息,就只有改进的时钟页面置换算法需要用到状态位和修改位)

考试题型

某计算机主存按字节编址,逻辑地址和物理地址都是 32 位,页表表项
大小为 4 字节。
(1)若使用一级页表的分页存储管理方式,逻辑地址结构为:页号(20 位),页内偏移量(12 位)。则页的大小是多少字节?页表最大占用多少字节?(2分)

(2)采用(1)中的分页存储管理方式,一个代码段起始逻辑地址为 0000 6000H,其长度为 2 页,被装载到从物理地址 0050 0000H 开始的连续主存空间中。页表从主存 0010 0000H 开始的物理地址处连续存放。 (6 分)
(a)该代码段对应的两个页表项的物理地址分别是多少。
(b)两个页表项中的页框号(块号)分别是多少?
(c)代码页面 2 的起始物理地址是多少?

解:
(1)页的大小为212 B;页表项有220 个,所以该页表最大为220 * 4B。
(2)由题可知,起始逻辑地址为0000 6000H,所以起始页数为第6页;一个页表项占4B,第六页距起始页就差24B,所以第6个页表项的物理地址为0010 0018H,第7个页表项的物理地址为0010 001CH;
这段代码的第一页被装载到0050 0000H,所以块号为00500H;由于是放在连续主存空间中,所以第2页的块号为00501H;
这段代码的第二页的物理地址就为0050 1000H;

第五章 虚拟存储器

1、理解虚拟内存基本概念。

2、熟练掌握请求分页管理方式。

考试题型

假定某分页存储管理系统页面大小为2KB,访问主存时间为75ns,访问快表的时间为5ns,在初始状态依次访问十进制虚地址4568、5012时分别需要多长时间?

解:十进制4568转换为16进制为11D8H,或用4568/2048;5012/2048可知,页面号都为2,第一次访问虚地址4568,快表为空,查询快表未命中,总访存时间为5+75+75=155ns;
访问虚地址5012,页面号为2的页表已存入快表,查找快表命中,总访存时间为5+75=80ns;

3、能分析并应用页面置换算法

最佳置换算法(OPT): 理论中的算法,每次置换后备队列中最晚被使用的页面;

先进先出置换算法(FIFO):先读入快表的页面先被置换

最近最少使用置换算法(LRU):选择在最近时期最少被使用的页面被置换;

时钟置换算法(CLOCK):一个轮转队列,当它被访问时就标记为1,需要置换页面时算法计数器轮转时将1置为0,然后找下一个,当找到0的时候置换页面。

改进时钟置换算法:在原有的基础上增加了一个置换代价,00置换为最佳,第一次轮转不改变访问位A;第二次轮转找01页面,将扫描过的页面的访问位置0;未找到就重复第一步找00位的;
最大可能寻找4次;

4、理解页面分配策略。

5、理解工作集和抖动。

第六章 输入输出系统

1、理解I/O控制方式,I/O软件层次结构,I/O调度概念。

2、熟练掌握高速缓存与缓冲区。

论述考点:引入缓冲区的主要原因是什么?

缓和CPU与I/0设备之间速度不匹配的矛盾;
减少对CPU的中断频率,放宽对中断响应时间的限制;
解决数据粒度不匹配的问题;
提高CPU和I/0设备之间的并行性。

计算题题型

在这里插入图片描述
解:这种题直接绘制一个带有时间线的流水线图

3、理解设备分配与回收。

4、理解假脱机技术(SPOOLing)。

第七章 文件管理

1、理解文件概念。

2、熟练掌握文件的逻辑结构:

顺序文件:
索引文件:提供一个索引表,表中记录索引号、长度、指向下个文件的指针

索引顺序文件:记录是按关键字的顺序组织的

考试题型

文件F由200条记录组成,记录从1开始编号。用户打开文件后,欲将内存中的一条记录插入到文件F中,作为其第30条记录。请回答下列问题,并说明理由。
(1)若文件系统采用连续分配方式,每个磁盘块存放一条记录,文件F存储区域前后均有足够的空闲磁盘空间,则完成上述插入操作最少需要访问多少次磁盘块?F的文件控制块内容会发生哪些改变?
(2)若文件系统采用链接分配方式,每个磁盘块存放一条记录和一个链接指针,则完成上述插入操作需要访问多少次磁盘块?若每个磁盘块大小为1 KB,其中4个字节存放链接指针,则该文件系统支持的文件最大长度是多少?

解:(1)由题可知向前移动是最少,前29条记录每条记录读写各一次,再将第30条记录插入,
即需要访问磁盘次数为29 * 2+1=59次。
文件控制块中文件的起始地址和文件大小发生了变化。
(2)采用链接分配方式,需要读文件的前29块的指针(读29次);分配一个空闲盘块,将该记录和第29块内保存的指针写进去,并写到磁盘(写一次);修改第29块的指针,指向新的插入块,并将第29块写回磁盘(写1次);即需要磁盘访问次数:29+2=31次。
系统支持的文件最大长度为:(1024-4)*

3、熟练掌握文件的物理结构:

连续结构
链接结构(包括FAT)
索引结构。
在这里插入图片描述

4、熟练掌握目录结构

文件控制块和索引节点
单级目录结构和两级目录结构
树形目录结构
图形目录结构。

考试题型(这个文件管理就很经典)

在这里插入图片描述
解:(1)dir内容为:{(dir1,48)}
dir1的内容为{(file1,100),(file2,200)}
(2)由题可知,蔟号占2个字节,所以最多可表示216 个簇(一位代表一个簇)
FAT的最大长度为216 * 2=128KB;

文件的最大长度为 216 * 4KB=256MB
(3)file的蔟号106存放在FAT的100号表项中,蔟号108存放在FAT的106号表项中。
(4)第5000个字节,除以4096,在file1的第二簇中,即在第106号簇上;
即要访问dir1所在的48号簇和文件file1的106号簇。

demo2-文件系统

某文件系统采用索引节点存放文件的属性和地址信息,簇大小为 4KB。
每个文件索引节点占 64B,有 11 个地址项,其中直接地址项 8 个,一级、
二级、三级间接地址项各 1 个,每个地址项长度为 4B。请回答下列问题:
(1)该文件系统能支持的最大文件长度是多少(给出计算表达式即可)?
(2)若文件 F1 大小为 20KB,文件 F2 大小为 40KB,则该文件系统获取 F1
和 F2 最后一个簇的簇号需要的时间是否相同?为什么?(7 分)

解:(1)最大文件长度:
8 × 4 K B + ( 4 K B / 4 B ) ⋅ 4 K B + ( 4 K B / 4 B ) 2 ∗ 4 K B + ( 4 K B / 4 B ) 3 ∗ 4 K B 8\times4KB+(4KB/4B)\cdot4KB+(4KB/4B)^2*4KB+(4KB/4B)^3*4KB 8×4KB+(4KB/4B)4KB+(4KB/4B)24KB+(4KB/4B)34KB
(2)时间不同。;
文件F1大小为20KB,就有20KB/4KB=5,所以在第5项,可以直接在FCB中的直接地址项查找到;
文件F2大小为40KB,40KB/4KB=10,所以在第10项,FCB中的直接地址项放不下,放到了一级间接地址指向的FAT中的第二项所代表的蔟号,需要访盘2次

5、理解文件共享;文件保护:访问类型,访问控制。

6、理解文件系统层次结构;目录实现;文件实现。

7、掌握外存空间管理

这个主要就是磁盘空间的管理,放到下一章考。

第八章 磁盘存储器的管理

1、理解磁盘的结构,磁盘的管理。

2、理解磁盘调度算法。

先来先服务(FCFS):

最短寻道时间优先(SSTF):

扫描算法(SCAN):

单向扫描(CSCAN):

考试题型(磁盘调度策略计算)

1、假设计算机系统采用C-SCAN(循环扫描)磁盘调度策略,使用2KB的内存空间记录16384个磁盘块的空闲状态。
(1)请说明上述条件下如何进行磁盘块空闲状态的管理。
(2)设单面磁盘旋转速度为6000r/min,每个磁道有100个扇区,相邻磁道间平均移动时间为1ms。若某时刻磁头位于100号磁道处,并沿着磁道号增大方向移动(如下图),磁道号请求队列为50、90、30、120,对请求队列中每个磁道需读取1个随机分布的扇区,则读完这4个扇区共需要多少时间?要求给出计算过程。
(3)如果将磁盘替换为随机访问的Flash半导体存储器(如U盘、固态硬盘等),设计一种磁盘访问策略,并说明该策略的优点。
在这里插入图片描述
解:
(1)用位图法表示磁盘的空闲状态,每位表示一个磁盘块的空闲状态,共需要16384/32=512b=512*4个字节=2KB,正好可放在系统提供的内存中
(2)采用循环扫描算法,访问
120->30->50->90
移动的磁道总数为170,总移动时间为170ms;(启动磁臂的时间加上移动时间)
转速为6000r/min,则平均旋转时延为5ms,总旋转时延为20ms;(旋转一周所需时间的一半)
平均读取时间为0.1ms,总读取时间为0.4ms;(读取数据字节数除以(转数乘以一个磁道上的字节数))

  • 6
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AlbertOS

还会有大爷会打钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值