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,并在打印机上打印出来。
问:系统可设哪些进程来完毕这个任务?

由上图可见,系统可设3个进程:输入进程复制进程打印进程;分别用进程R进程C进程P来表示。问:这些进程之间有什么相互制约关系?R受C的约束;C受R、P的约束。P受C的约束。问:用P-V原语写这些进程的同步算法。设4个信号量:S1=1,S2=0,S3=1,S4=0

也能够把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)
  问:画出各进程的状态转换图。

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吗?还是怎么分,求解释?】
第一组中的块都分配完后,把下一组中的块都放到超级块中,这样就少了一个组,然后再进行分配。

回收是先把块放到第一组中,假设满了就把这个组变为第二组。

s.free 4
711
703
788
701 。

700

每组就相当于个堆栈。

參考资料:

【1】http://zhidao.baidu.com/link?url=cbFVuBEaHbL7NtGAiXqEMwx6LiCq-SpaClCoTt3_H68OwwFpcThFS8bL6SHQE7F5ALVEfFQsILwjXzwc-8aBanD6FyHpV-KyERCloGXEvLa

复习笔记——操作系统相关推荐

  1. 计算机专业保研面试复习笔记——计算机网络

    计算机专业保研面试复习笔记: 计算机专业保研面试复习笔记--数据结构中的重要算法 计算机专业保研面试复习笔记--数据库 计算机专业保研面试复习笔记--操作系统 计算机专业保研面试复习笔记--计算机网络 ...

  2. 计算机操作系统 (第四版汤小丹老师) 复习笔记第一章

    教材为西安电子科技大学 汤小丹老师 第四版 1.1操作系统目标和作用 1.目标 目前存在着多种类型的OS,不同类型的OS,其目标各有所侧重.通常在计算机硬件上配置的OS,其目标有以下几点: 方便性 便 ...

  3. 电子科技大学操作系统期末复习笔记(二):进程与并发控制

    目录 前言 进程管理 进程基本知识 程序的顺序执行 前趋图 程序的并发执行 并发程序 进程的定义和特征 进程的特征和状态 操作系统内核 定义 功能 原语 原子操作的实现 操作系统控制结构 进程控制块P ...

  4. 操作系统期末个人复习笔记(部分)

    文章目录 操作系统 题型分布 大题预测 计算 消费者分析 处理机调度算法 地址转换 信号量 页面置换 复习知识点 操作系统在什么模式下运行 华为鸿蒙 操作系统属于系统软件 以下关于操作系统正确的是(魔 ...

  5. JavaScript复习笔记

    js复习笔记 js复习笔记,内容来源自廖雪峰JavaScript教程,w3school,菜鸟教程 一.快速入门 1.基本语法 1)js是一种直译式脚本语言 2)js结束语句后的;可以省略不写,原因是执 ...

  6. 《微型计算机原理与接口技术》期末总复习 —— 一篇匆匆忙忙的复习笔记

    这篇复习笔记是针对<微型计算机原理与接口技术>后面几章的 前面的汇编复习内容在 "零.学习笔记总目录" 的 "汇编考前复习" 中 ✅ 这篇笔记中可能 ...

  7. 《微型计算机原理与接口技术》复习笔记(二)

    使用教材为 <微型计算机原理与接口技术>(慕课版) 孙丽娟.李爱群.陈燕俐.周宁宁.邓玉龙编著 默认存储器单元的地址编排顺序从上往下,地址从低向高编排 微机原理复习笔记一 微机原理复习笔记 ...

  8. 考研《软件工程--面向对象和传统的方法》复习笔记

    <软件工程--面向对象和传统的方法>复习笔记 第一章 软件工程的范畴 引言 可以结合 软件工程导论第六版 --张海藩 1.软件工程概念: 软件工程是一门学科,目的是生产出没有错误的软件,按 ...

  9. RFID原理及应用期末复习笔记 | 1.RFID概述【完结✿✿ヽ(°▽°)ノ✿】

    系列索引:RFID原理及应用期末复习笔记 | 快速索引 RFID是博主大三下的一门专业课,因为疫情缩短学期进程提前结课,所以期末考试也来的更早,这里就简单记录一下自己复习时的一些笔记,也给后来的学弟学 ...

最新文章

  1. cass坡度土方计算案例_南方CASS方格网土方计算心得
  2. android 百分号,关于Android资源文件中出现百分号的问题
  3. c++ 多线程 类成员函数_多线程(C++/Python)
  4. 关于各组评价的自我评价
  5. AngularJS深入(1)——加载启动
  6. Java连接postgresql数据库
  7. ZooKeeper安装,部署
  8. LA 3942 Remember the Word
  9. C语言:四则计算器(支持小数,括号和次方幂 组合输入计算)
  10. Codechef之CodeCraft: IIIT Hyderabad
  11. 4种方案,帮你解决Maven创建项目过慢问题
  12. 20. Valid Parentheses[E]有效的括号
  13. 软件安装 gcc编译器
  14. SiC MOSFET动态测试上位机软件使用说明
  15. 我们为什么要做接口管理平台 YApi
  16. 解决microsoft store需要联网 你似乎没有联网
  17. 古墓丽影暗影显卡测试软件,游戏新消息:战地5古墓丽影暗影8K测试单显卡根本带不动...
  18. 银行理财子公司蓄力布局A股;现金管理类理财产品整改加速
  19. 什么是人工智能数据采集?
  20. ssi oa mysql_SSI集成Mysql报错

热门文章

  1. GDCM:gdcm::FileStreamer的测试程序
  2. Boost:bind绑定和数据成员以及高级用途的测试程序
  3. Boost:顺序一致性的测试程序
  4. VTK:可视化之VectorField
  5. Qt Creator制作动画
  6. C++中四种 cast 转换
  7. QT的QMovie类的使用
  8. dev多行注释_Dev使用技巧
  9. 「SLAM」三维空间刚体运动名词笔记
  10. Java使用Tomcat数据源的方式