复习笔记——操作系统
2014年12月考研前一周写的笔记。。。
放在这里,希望对其它人有帮助。
。。
===========================================================
本来想和linux源码一起參照一下,结果如今拖到这个时候,没时间了,囧
内容主要參考:
http://oa.gdut.edu.cn/os/multimedia/oscai/main.htm
http://www.educity.cn/zk/czxt/201305301133411490.htm
http://see.xidian.edu.cn/cpp/html/2628.html(这个就是和王道差点儿是同样的,不知道是谁超谁)
===========================================================
1.准备
2.进程管理
2.1.进程调度
2.1.1调度的层次
高级、中级和低级调度作业从提交開始直到完毕,往往要经历下述三级调度:
高级调度:(High-Level Scheduling)又称为作业调度,它决定把后备作业调入内存执行;
低级调度:(Low-Level Scheduling)又称为进程调度,它决定把就绪队列的某进程获得CPU;
中级调度:(Intermediate-Level Scheduling)又称为在虚拟存储器中引入,在内、外存对换区进行进程对换。
2.1.2剥夺非剥夺
(1)非剥夺方式
分派程序一旦把处理机分配给某进程后便让它一直执行下去,直到进程完毕或发生进程调度
某事件而堵塞时,才把处理机分配给还有一个进程。
(2)剥夺方式
当一个进程正在执行时,系统能够基于某种原则,剥夺已分配给它的处理机。将之分配给其他进程。剥夺原则有:优先权原则、短进程优先原则、时间片原则。
比如。有三个进程P1、P2、P3先后到达,它们分别须要20、4和2个单位时间执行完成。
假如它们就按P1、P2、P3的顺序运行,且不可剥夺,则三进程各自的周转时间分别为20、24、
26个单位时间,平均周转时间是23.33个时间单位。
假如用时间片原则的剥夺调度方式。可得到:
可见:P1、P2、P3的周转时间分别为26、10、6个单位时间(如果时间片为2个单位时间)。平均周转时间为14个单位时间。
衡量进程调度性能的指标有:周转时间、响应时间、CPU-I/O运行期。
2.2.进程同步
2.3.死锁
3.内存管理
3.1.内存分配
3.2.虚拟内存
4.文件管理
4.1.文件系统
4.2.磁盘
5.IO管理
5.1
附:
1.进程同步。PV操作样例
设某台机挂有两个I/0通道:分别挂一台输入机和一台打印机。
卡片机上有一叠数据卡片。如今要把这些数据逐一输入到缓冲区B1,然后再拷贝到缓冲区B2,并在打印机上打印出来。
问:系统可设哪些进程来完毕这个任务?
![](/assets/blank.gif)
由上图可见,系统可设3个进程:输入进程、复制进程、打印进程;分别用进程R、进程C、进程P来表示。问:这些进程之间有什么相互制约关系?R受C的约束;C受R、P的约束。P受C的约束。问:用P-V原语写这些进程的同步算法。设4个信号量:S1=1,S2=0,S3=1,S4=0
![](/assets/blank.gif)
也能够把S1设成0,把R进程的P(S1)调到V(S2)后面。
问:用Send和Rece原语写这些进程的同步算法。用RECEIVE代替P操作;用SEND代替V操作。
即:用RECEIVE(C)代替P(S1)和P(S4),用SEND(C)代替V(S2)和V(S3)。
用RECEIVE(R)代替P(S2),用SEND(R)代替V(S1)。
用RECEIVE(P)代替P(S3)。用SEND(P)代替V(S4)。
问:画出各进程的状态转换图。
![](/assets/blank.gif)
2.死锁,样例
首先,介绍一个因为共享资源而产生死锁的样例:设系统有一台打印机(R1),一台读卡机(R2),两进程共享这两台设备。用信号量S1表示R1是否可用,初值为1。用信号量S2表示R2是否可用,初值为1;
3.段页
4.Clock置换算法
4.1. 简单的Clock置换算法
4.2. 改进型Clock置换算法
由訪问位A和改动位M能够组合成以下四种类型的页面:
1类(A=0, M=0): 表示该页近期既未被訪问。又未被改动。是最佳淘汰页。
2类(A=0, M=1):表示该页近期未被訪问。但已被改动,并非非常好的淘汰页。
3类(A=1, M=0):近期已被訪问。但未被改动,该页有可能再被訪问。
4类(A=1, M=1): 近期已被訪问且被改动,该页可能再被訪问。其运行过程可分成下面三步:
(1) 从指针所指示的当前位置開始,扫描循环队列。寻找A=0且M=0的第一类页面, 将所遇到的第一个页面作为所选中的淘汰页。
在第一次扫描期间不改变訪问位A。
(2) 假设第一步失败,即查找一周后未遇到第一类页面,则開始第二轮扫描。寻找A=0且M=1的第二类页面,将所遇到的第一个这类页面作为淘汰页。在第二轮扫描期间,将全部扫描过的页面的訪问位都置0。
(3) 假设第二步也失败,亦即未找到第二类页面,则将指针返回到開始的位置,并将全部的訪问位复0。
然后反复第一步,假设仍失败。必要时再反复第二步,此时就一定能找到被淘汰的页。
5.磁盘分配的成组链接法【1】
题目如图片:
问题是:
(1)该磁盘中眼下还有多少个空暇盘块?【答】:我知道是2+100+100+99=301个吧
(2)在给文件F分配三个盘块后,试给出分配后的盘块链接情况【答】是先299号 再300号 再301号吧?
(3)接着,系统要删除还有一个文件,并回收它所占的5个盘块。它们的盘块号依次为700,711,703,788,701。试给出回收后的盘块链接情况
【就第三个不太理解。是先底部700,然后往上1 0处711 703吗?还是怎么分,求解释?】
第一组中的块都分配完后,把下一组中的块都放到超级块中,这样就少了一个组,然后再进行分配。
回收是先把块放到第一组中,假设满了就把这个组变为第二组。
711
703
788
701 。
。
700
參考资料:
【1】http://zhidao.baidu.com/link?url=cbFVuBEaHbL7NtGAiXqEMwx6LiCq-SpaClCoTt3_H68OwwFpcThFS8bL6SHQE7F5ALVEfFQsILwjXzwc-8aBanD6FyHpV-KyERCloGXEvLa
复习笔记——操作系统相关推荐
- 计算机专业保研面试复习笔记——计算机网络
计算机专业保研面试复习笔记: 计算机专业保研面试复习笔记--数据结构中的重要算法 计算机专业保研面试复习笔记--数据库 计算机专业保研面试复习笔记--操作系统 计算机专业保研面试复习笔记--计算机网络 ...
- 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章
教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...
- 电子科技大学操作系统期末复习笔记(二):进程与并发控制
目录 前言 进程管理 进程基本知识 程序的顺序执行 前趋图 程序的并发执行 并发程序 进程的定义和特征 进程的特征和状态 操作系统内核 定义 功能 原语 原子操作的实现 操作系统控制结构 进程控制块P ...
- 操作系统期末个人复习笔记(部分)
文章目录 操作系统 题型分布 大题预测 计算 消费者分析 处理机调度算法 地址转换 信号量 页面置换 复习知识点 操作系统在什么模式下运行 华为鸿蒙 操作系统属于系统软件 以下关于操作系统正确的是(魔 ...
- JavaScript复习笔记
js复习笔记 js复习笔记,内容来源自廖雪峰JavaScript教程,w3school,菜鸟教程 一.快速入门 1.基本语法 1)js是一种直译式脚本语言 2)js结束语句后的;可以省略不写,原因是执 ...
- 《微型计算机原理与接口技术》期末总复习 —— 一篇匆匆忙忙的复习笔记
这篇复习笔记是针对<微型计算机原理与接口技术>后面几章的 前面的汇编复习内容在 "零.学习笔记总目录" 的 "汇编考前复习" 中 ✅ 这篇笔记中可能 ...
- 《微型计算机原理与接口技术》复习笔记(二)
使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 默认存储器单元的地址编排顺序从上往下,地址从低向高编排 微机原理复习笔记一 微机原理复习笔记 ...
- 考研《软件工程--面向对象和传统的方法》复习笔记
<软件工程--面向对象和传统的方法>复习笔记 第一章 软件工程的范畴 引言 可以结合 软件工程导论第六版 --张海藩 1.软件工程概念: 软件工程是一门学科,目的是生产出没有错误的软件,按 ...
- RFID原理及应用期末复习笔记 | 1.RFID概述【完结✿✿ヽ(°▽°)ノ✿】
系列索引:RFID原理及应用期末复习笔记 | 快速索引 RFID是博主大三下的一门专业课,因为疫情缩短学期进程提前结课,所以期末考试也来的更早,这里就简单记录一下自己复习时的一些笔记,也给后来的学弟学 ...
最新文章
- 782B The Meeting Place Cannot Be Changed(二分)
- R12.2 新功能:值集安全性设置及效果 Flexfield Value Set Security
- Bit-Z开放零门槛做市商计划 最高返100%交易手续费
- linux下kill多个进程
- mysql-bin磁盘满数据库重启不_liunx磁盘空间满了,导致mysql数据库无法启动
- UI设计灵感|插画在App设计中有哪些常用方式?
- 电磁冷坩埚行业调研报告 - 市场现状分析与发展前景预测(2021-2027年)
- sqlserver 操作技巧
- 关于socket中阻塞,非阻塞,同步,异步的概念
- Julia:last() 和first()
- 车站计算机系统需要具备几天数据储存能力,(复习资料)城市轨道交通车站设备1.doc...
- JAVA必会算法--二分查找法
- php导出指定格式excel,php导出excel格式文件的例子
- 黑马Pink老师H5CSS教程学习笔记
- safari 调试 打印刚加载界面时缓存的log信息 iOS Safari调试iPhone设备上的网页
- 设计功底如何得到提升 高效排版的技巧有哪些
- 基于 Bootstrap 5 的教育和课程主题 HTML 网站模板
- loctionplace.reset_index(drop=True,inplace=True)
- the module was loaded but the call to DllRegisterServer failed with error code 0x80020009
- 【PyTorch教程】制作数据集的标签(label)
热门文章
- boost::fusion::as_set用法的测试程序
- GDCM:gdcm::EquipmentManufacturer的测试程序
- Boost:测试BOOST_BIND_NO_PLACEHOLDERS的程序
- VTK:绘图之FunctionalBagPlot
- OpenCV使用Shi-Tomasi方法检测拐角的实例(附完整代码)
- OpenCV直方图比较Histogram Comparison
- C语言重复加一个数的所有位数字的算法(附完整源码)
- OpenGL创建一个GLFW窗口的实例
- QT的QFileInfo类的使用
- 经典C语言程序100例之六二