本专栏提供的信息:
Updated on Jan 13rd, 2022
资料来源:
老师本学期最后一节课的复习内容&本人当场速记&本人记忆补充
复习ppt来源: 老师的github
本人复习和上课用书:Andrew S.Tainenbaum 现代操作系统(第三版) 机械工业出版社 2009
上课用书配套答案
其他资源:
课本查找
IPC问题几道题目(自己上B站搜索,边看边吃饭效果显著:)):
本次考试原题
我能够看懂它讲的读者写者问题
其他IPC问题一览
(这个是因为……咳里面有我们学校)
……
内容说明:
本篇博客内容由于为当场速记,虽已经过整理,但为了重现课堂,因此仍涵盖大量口语,请自行理解。
复习重点:
题型:
填空题
问答题
计算题
编程题
各题型老师提示:
- 名词的概念(死锁 并发 共享 这些词大体都要知道)
- 操作系统见过什么操作系统啊?见过哪些 类windows?Linux有什么变种?
这些题有很多题 - 计算题跟算法有关。存储的 调度的 这些算法要知道
- 编程题明确考进程间通信IPC问题 给一个问题 要写出来代码
复习时找几道题熟悉套路 声明信号量声明关键词声明锁 然后要写代码
学期知识复习概览
1. 操作系统概述:
操作系统实例,至少会5个,知道几个操作系统
操作系统演化过程
用户态核心态 为什么要这样?要知道
进程 地址空间 系统调用。系统调用可以考一个名词。
操作系统的结构 5分至少5个词,设计的结构,运行的结构。
假脱机!一定要知道
从不同角度看操作系统
现在操作系统有什么特点啊?并发 共享 虚拟化 异步
系统调用和trap
2. 进程和线程:
并行和并发要清楚
进程和线程有什么区别啊?
进程有几个状态啊
为什么要引入进程和线程啊?
有限自动机是什么?
从传统的进程进化到线程模型下有几个问题需要考虑的?这些问题怎么解决?例如如何改造一个errno全局变量?
用户级线程和内核级线程有什么区别和优点啊
调度算法:抢占式和非抢占式 一系列调度算法看一看
进程间通讯:竞态的概念,临界区代码、信号量。信号量的机制以及进程间互斥的机制手段,例如事件计数器,有哪些要能列出来
原语要会,IPC必须要会!重点是写一个程序!
死锁:为什么产生死锁啊?死锁的四个必要条件?怎么破解啊?
银行家算法,安全状态和不安全状态。给一道题,安全不安全,该不该分配它?
假脱机将专用的变成共享的
3. 内存管理:
连续存储、离散存储、分段分页
虚拟存储——局部原理性,这个要清楚而且给出例子
给出页面转化算法LRU ,给内存访问序列,能不能算出来?
belady异常,FIFO不是栈式算法
全局分配会产生抖动,抖动的原因,如何破解抖动
传统分配算法不说了,了解一下就行
和硬件相关的就不说了
4. 文件系统:
文件物理存储结构FAT
I结点必须熟,原理,怎么存的。前十个是直接,一级和二级间接。给一道题能够算出来
和索引数据的编号长短有关,是两个字节还是4个字节
空闲块的管理,成组链接法。什么原理,怎么分配的,怎么释放、链接的?
5. 输入输出:
核心就是IO程序控制有几种方法,四种,区别和联系,给个评价
buffer有几种:无缓冲 单缓冲 双缓冲 缓冲池
SPOOLing
中断机制很重要
6. 设计和运行时架构:
系统结构
操作系统的评价
未来操作系统的发展趋势
运行时架构
大致题目内容:
以下为本场考试的本人记忆,不对真实性和时效性做任何承诺。
-
填空题:
给一个例子,问是什么现象(名词理解)
死锁的原因
虚拟存储依靠的是____ (局部性原理)
……
有些空挖得很匪夷所思,不太好答,需要理解,考试第一道题就面对它,很搞心态。 -
问答题:
Linux系统5个
运行时OS架构5个
进程间互斥和同步的方法
未来操作系统发展趋势
解释一下SPOOLing的原理和它的优势
死锁的四个必要条件和解决方法
给访问序列和LRU,求缺页中断次数
给一个解锁代码,写出对应的加锁代码
…… -
计算题:
I 结点计算 考试可以问是否能带计算器(因为除法和余数可能比较难算,尤其是在时间不够的情况下) -
编程题:
IPC问题。
本次考试原题可以上网找题做,本次考试我就写中了原题。但是我没时间写。
其他我在复习期间的IPC资料见上面的资料来源。
本场考试总结:
很崩。问答题太多了,一直在写。不知道是我说了太多废话还是我写字太慢,导致后面要写计算题和编程题的时候已经来不及了。
考试最后几分钟我的手速简直了……那种绝望的感觉不想再体会第二次。
就是寄希望于老师海底捞吧……
怎么说呢,我觉得考的都是他所说的,也就是我上面所记录的内容,但是考试有侧重,如果复习偏了就可能导致以为不考的就考了。
最大的败笔在于问答题写太慢了。就这样。