软件设计师笔记:操作系统基本原理

操作系统基本原理

  • 一、操作系统概述
  • 二、进程管理
    • 2.1 进程状态
    • 2.2 前趋图
    • 2.3 同步与互斥
    • 2.4 PV操作
    • 2.5 死锁问题
  • 三、存储管理
    • 3.1 分区存储组织
    • 3.2 页式存储组织
    • 3.3 段式存储组织
    • 3.4 段页式存储组织
    • 3.5 快表
    • 3.6 页面置换算法
  • 四、文件管理
    • 4.1 索引文件结构
    • 4.2 文件和树型目录结构
    • 4.3 空闲存储空间的管理
    • 4.4 数据传输控制方式
    • 4.5 虚设备与SPOOLING技术
    • 4.6 微内核操作系统

一、操作系统概述

什么是操作系统:

管理计算机硬件和软件资源,是人和硬件之间的一种接口
进程管理、存储管理、文件管理、作业管理、设备管理、微内核操系统

软件设计师笔记:操作系统基本原理
进程与程序的区别(考查点)
软件设计师笔记:操作系统基本原理

2.3 同步与互斥

互斥:是指某一资源同时只允许一个访问者对其进行访问,具有唯一性和排它性。但互斥无法限制访问者对资源的访问顺序,即访问是无序的。

同步:是指在互斥的基础上(大多数情况),通过其它机制实现访问者对资源的有序访问。在大多数情况下,同步已经实现了互斥,特别是所有写入资源的情况必定是互斥的。少数情况是指可以允许多个访问者同时访问资源。

2.4 PV操作

软件设计师笔记:操作系统基本原理
软件设计师笔记:操作系统基本原理
简便技巧:在前趋图中,箭头起始端为V操作,终端为其所对应的P操作。

2.5 死锁问题

系统可提供资源数与死锁发生之间的关系:

软件设计师笔记:操作系统基本原理
银行家算法:
软件设计师笔记:操作系统基本原理
解法: 软件设计师笔记:操作系统基本原理

3.2 页式存储组织

如果我的一个程序是2GB,然而我的内存就1GB,显然无法运行,于是出现了页式存储的思想。

软件设计师笔记:操作系统基本原理
PS:物理块号即叶帧号。

3.3 段式存储组织

软件设计师笔记:操作系统基本原理

3.5 快表

软件设计师笔记:操作系统基本原理
一般考到的是后两种算法。

原因:随机算法不够稳定,顾名思义。而最优算法属于马后炮,一般是访问的需求和顺序完全发生后,再推算如何置换是最优的,属于理论层面上的最优算法,但是实际应用中我们不可能提前预知所有的访问需求及其顺序,不可能未卜先知,所以该方法不具有普遍性。主要的应用场景是用来测试其他算法的结果与该最优算法的差距大小从而评判其他算法的优良程度。

图中的抖动概念即因频繁地发生在访问时缺页现象,从而频繁执行置换操作的情况。

按道理如果希望某个程序效率更高,给它分的页数应该更多,但是在先进先出算法中反而有可能适得其反,效率可能因此降低,如图中例子所示。

下面是先进先出算法的例子:

软件设计师笔记:操作系统基本原理
练习题:
软件设计师笔记:操作系统基本原理
练习:
软件设计师笔记:操作系统基本原理
注意绝对路径和相对路径的概念。

4.3 空闲存储空间的管理

软件设计师笔记:操作系统基本原理
软件设计师笔记:操作系统基本原理
通道和输入输出处理机一般用专用计算机解决,不做讨论。

程序控制方式又称为程序查询方式,是最为低级的方式,cpu介入最为频繁,外设非常被动从而不主动汇报信息。

程序中断方式是比程序控制方式更为主动的方式,完成某些任务后会向系统发送中断请求,效率更高。

DMA方式也成为直接存储控制方式,有专门的DMA控制器,CPU只需要最开始介入,之后由DMA控制器接管控制。

4.5 虚设备与SPOOLING技术

软件设计师笔记:操作系统基本原理
作用:提升系统稳定性。

来源:Yonin

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年9月17日
下一篇 2020年9月17日

相关推荐