文章目录

  • 第一节:操作系统概述
  • 第二节:进程管理
    • 1. 进程的状态
      • <1> 三态模型
      • <2> 五态模型
    • 2. 前趋图
    • 3. 进程的同步与互斥
      • <1> 互斥
      • <2> 同步
    • 4. PV操作
      • <1> 相关概念
      • <2> 例题
    • 5. PV操作与前趋图
    • 6. 死锁问题
      • <1> 例题
      • <2> 死锁的预防和避免
      • <3> 银行家算法
  • 第三节:存储管理
    • 1. 分区存储
    • 2. 页式存储
    • 3. 段式存储
    • 4. 段页式存储
    • 5. 页面置换算法
    • 6. 例题
  • 第四节:文件管理
    • 1. 索引文件结构
    • 2. 文件和树型目录结构
    • 3. 空闲存储空间的管理
  • 第五节:设备管理
    • 1. 数据传输控制方式
    • 2. 虚设备与SPOOLING技术
  • 第六节:微内核操作系统

第一节:操作系统概述

操作系统所具备的功能

操作系统具备的管理职能以及细化知识点:

第二节:进程管理

1. 进程的状态

<1> 三态模型

在多道程序系统中,进程在CPU上交替运行,状态也在不断地发生变化,因此进程一般具有三种基本状态:运行、就绪和阻塞。

  1. 运行:当一个进程在CPU上运行时,则称该进程处于运行状态。
  2. 就绪:一个进程获得了除CPU外的一切所需资源,一旦得到CPU资源即可运行,则称此进程处于就绪状态。
  3. 阻塞:阻塞也称等待或睡眠状态,一个进程因正在等待某一事件发生而暂时停止运行,这时即使把CPU资源分给该进程也无法运行,故称该进程处于阻塞状态。

<2> 五态模型

事实上,对于一个实际的系统,进程的状态及其转换更复杂。例如五态模型。

  1. 活跃就绪:活跃就绪是指进程处于,在主存内并且可被调度的状态。
  2. 静止就绪:静止就绪是指就绪进程被对换到辅存时的状态,它是不能被直接调度的状态。
  3. 活跃阻塞:活跃阻塞是指进程在主存,一旦等待的事件产生便进入活跃就绪状态。
  4. 静止阻塞:静止阻塞是指阻塞进程对换到辅存时的状态,一旦等待的事件产生便进入静止就绪状态。
  5. 挂起状态:由于进程的不断创建,系统资源特别是主存资源已经不能满足进程运行的要求。这时,就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载。或者是系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题。

2. 前趋图

前趋图是为了描述一个程序的各部分间的依赖关系,或者是一个大的计算的各个子任务间的因果关系的图示。

3. 进程的同步与互斥

<1> 互斥

进程的互斥是指系统中多个进程因争用临界资源(一次只能供一个进程使用的资源)而互斥执行。

<2> 同步

在计算机系统中,多个进程可以并发执行,每个进程都以各自独立的、不可预知的速度向前推进,但是需要在某些确定点上协调相互合作进程间的工作。

4. PV操作

<1> 相关概念

  1. 临界资源:有些资源一次只能供一个进程使用,称为临界资源。如,打印机、磁带机等。

  2. 临界区:是进程中对临界资源实施操作的那段程序。

  3. 信号量:信号量是一种特殊的整型变量,根据控制对象的不同被赋予不同的值。

  4. P操作与V操作:

<2> 例题

例题一:

例题二:

答:A、C

5. PV操作与前趋图

解题技巧:

遇到上述这种图,根据箭头走向得出答案。箭头起点是V操作,终点是P操作。

例:

(1)C、(2)A、(3)A

6. 死锁问题

进程管理是操作系统的核心,但如果设计不当,就会出现死锁问题。

死锁:

死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。

<1> 例题

例题:

解题技巧:

有k个进程,每个进程需要n个资源。如果不可能发生死锁,则系统至少有K * (n-1)+1个资源。

<2> 死锁的预防和避免

产生死锁的四个必要条件:

  1. 互斥:可以同时使用资源,则不存在死锁问题
  2. 保持和等待:指这个进程会保持自己的资源,等待其他进程释放更多的资源给自己
  3. 不剥夺:系统不会将某个进程的资源剥夺掉,然后分给其他进程
  4. 环路等待:A等待B释放资源,B等待C释放资源,C又等待A释放资源

解决死锁问题有两种方法:死锁的预防、死锁的避免。

死锁的预防:

通过打破死锁产生的四个必要条件进行预防。

死锁的避免:

  1. 有序的资源分配(银行家算法)

<3> 银行家算法

银行家算法(实质为分配资源的原则):

  1. 当一个进程对资源的最大需求量不超过系统中的资源数时,可以接纳该进程
  2. 进程可以分期请求资源,但请求的总数不能超过最大需求量
  3. 当系统现有的资源不能满足进程尚需要资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间内得到资源

例题:

解题技巧:通过选项验证。

第三节:存储管理

1. 分区存储

2. 页式存储

做法:

将用户程序分成等分大小的页。例如将下图中的用户程序等分为4k一块的用户区域,每一个4k程序称为一个页,把内存当中的存储区也分成4k一块。如果要调入用户程序到内存中运行,不再是将整个程序一次性调入内存,而是需要运行哪些程序块,就将哪些页调入内存。

这样的做法需要一张页表,用来记录用户程序的页和内存中的块的对应关系。

优点:

内存利用率很高,内存碎片少,分配及管理简单。

缺点:

增加了系统开销(需要查找页表),可能产生抖动现象。

逻辑地址和物理地址之间的转换:

高级程序语言使用逻辑地址;运行状态、内存中使用物理地址。

逻辑地址=页号+页内地址 物理地址=页帧号(块号)+页内地址

例题:

解题过程:

  1. 要求物理地址,先要把逻辑地址中的页号和页内地址分开

    因为4K=212,故一个页的页内地址为12位,高于12位的部分为页号。故5A29H中,A29H为页内地址,5为页号。

  2. 物理地址=页帧号(块号)+页内地址

    物理地址为6A29H。

  3. 淘汰页号,只能淘汰在内存中的页面,故从页号为0、1、2、5中淘汰页面。被访问过的页面不能被淘汰,只能淘汰未访问的页面,故淘汰1号页面。

答案:D、B

3. 段式存储

段式存储,是指把一个程序分成若干个段进行存储(例如每个函数分为一段),每个段都是一个逻辑实体,它的产生是与程序的模块化直接有关的。

段表:

基址:该段在内存的起始地址。

优点:

多道内存共享内存,各段程序修改互不影响。

缺点:

内存利用率低,内存碎片浪费大。

4. 段页式存储

结合了段式和页式存储,先分段再分页。

优点:

空间浪费小、存储共享容易、存储保护容易、能动态链接

缺点:

由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降。

快表:

快表是一块小容量的相联存储器,由高速缓存器组成。速度快,并且可以从硬件上保证按内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。

5. 页面置换算法

<1> 最优算法:

在整个事情发生之后(已经知道访问的页面顺序),根据页面序列,算出什么时间淘汰哪个页面就可以取得最高的效率性能。在不同的应用场景中,最优算法各不相同。在实际应用中,往往不能事先知道页面序列。最优算法往往需要跟其他的算法方案对比。

<2> 随机算法:

随机淘汰一个页面,性能不稳定。

<3> 先进先出算法(FIFO):

淘汰最先进入内存的页面。有可能产生“抖动”。

抖动:分配了更多资源给一个进程,却使得进程的效率更低(造成缺页次数更多)。指如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。

<4> 最近最少使用算法(LRU):

刚刚被访问的页面不会被淘汰,即在保证最近使用的页面不被中断的情况下,将最少使用的页面淘汰。不会产生抖动,给进程分配的资源越多,进程表现的性能更好。

6. 例题

解题思路:

没有使用快表说明,每读一次内存块,需要现在内存中查表,然后再读取内存块。所以每访问一次内存块需要访问两次内存,一共6个内存块,故需要访问12次内存。

默认swap指令,无论占用多少内存块,都会一次性调入内存,故指令只会产生一次缺页。操作数一半在前一页,一半在后一页,则会产生两次缺页。故一共产生5次缺页中断。

答案:B、C

第四节:文件管理

1. 索引文件结构

一般的索引文件结构有13个索引结点(0~12)。

提出索引文件结构是为了扩展文件的存储量。

索引文件结构规定:

  1. 结点0~9对应直接索引,即索引结点的地址直接指向物理盘块,物理盘块存着索引文件的内容。

    假设一个物理盘块可以存储4K内容的文件,则前十个索引结点指向的物理盘块一共可以存储40K文件。

  2. 结点10指向的物理盘块不再直接存储索引文件的内容,而是存储指向不同物理盘块的地址(一级间接索引)。

    假设每个地址占4B,则结点10指向的物理盘块可以存储1024个地址,每个地址又对应一个物理盘块,故一级间接索引可以存储的容量为1024*4K的索引文件。

  3. 结点11为二级间接索引。

  4. 结点12为三级间接索引。

注意:间接次数越多,访问的效率越低。

例题:

解题思路:逻辑块好按顺序排列,故5号对应物理块号为58;一块磁盘数据块1KB,每个地址项大小为4字节,故一个磁盘数据块可以存放256个地址,故261号对应物理块号为187。

答案:C、D

2. 文件和树型目录结构

3. 空闲存储空间的管理

在磁盘中会有大量的空间,我们需要把空闲的空间管理起来,以便在某一个文件申请相应的空间的时候,能够有依据地分配相应地空间。

  1. 空闲区表法

    我们可以用一个表来记录哪些地方是空闲的,以便把空闲空间管理起来。

  2. 空闲链表法

    将空闲区链接起来,生成链表。在需要分配内存时,在链表中划出相应的空间。

  3. 位示图法

    将存储空间分成很多的物理块,用位示图法可以直观表达空闲物理块和非空闲物理块。

例题:

解题思路:

字长为32bit,4195号物理块为第132(4196/32=131.125)个字。

131*32=4192,故4191号物理块是第131个字的最后一位,4192号是第132个字中的第0位置,4195是第3位置。占用物理块,应将状态置为1。

答案:D、B

  1. 成组链接法

第五节:设备管理

1. 数据传输控制方式

数据传输控制方式是指内存和外设之间的数据传输控制问题,解决方式包括:程序控制方式;程序中断方式;DMA方式;通道;输入输出处理机。

  1. 程序控制方式

    程序控制方式又被称为程序查询方式,这种方式是最低级的也是CPU使用介入的一种方式。CPU通过执行程序查询外设的状态,判断外设是否准备好接收数据或准备好了向CPU输入的数据。根据这种状态,CPU有针对性地为外设的输入输出服务。

  2. 程序中断方式

    大部分与程序控制方式相同,但相较于程序控制方式,由于增加了中断方式,主动性更强,即:如果外设完成了数据的传输等操作,外设会发出中断指令,效率比程序控制方式更高。

  3. DMA方式

    DMA方式也称直接存储器存取方式。这种方式,会有专门的DMA控制器,只要是外设和内存之间的数据交换过程,就由这个控制器进行管控了,CPU只需要在开头的时候做一些介入,如初始化等操作等,但整个过程只有DMA监视器来监管。数据交换完成之后再由CPU接管,做后续的工作。

2. 虚设备与SPOOLING技术

SPOOLing技术是低速输入输出设备与主机交换的一种技术,通常也称为“假脱机真联机”,他的核心思想是以联机的方式得到脱机的效果。低速设备经通道和外设在主机内存的缓冲存储器与高速设备相联,该高速设备通常是辅存。为了存放从低速设备上输入的信息,或者存放将要输出到低速设备上的信息(来自内存),在辅存分别开辟一固定区域,叫“输出井”(对输出),或者“输入井”(对输入)。简单来说就是在内存中形成缓冲区,在高级设备形成输出井和输入井,传递的时候,从低速设备传入缓冲区,再传到高速设备的输入井,再从高速设备的输出井,传到缓冲区,再传到低速设备。

举例:

四个人远程连接一台打印机,而这台打印机在同一段时间内只能让一个用户使用,若一个用户正在使用该打印机,另一名用户试图使用该打印机时就会提示该打印机被占用。为了消除用户的“联机”等待时间,采用了SPOOLING技术:给打印机创建一个缓存区,每一个用户在打印时都会进入缓存区,而从缓存区到真正打印则需要挨个排队,即打印机在打印时不再排斥其他用户的打印操作,而是将其缓存起来,在将当前操作完成后立即进行第二个操作,这样做不仅使得用户的操作界面变得更为友好,也极大的提高了打印机的打印效率。

第六节:微内核操作系统

微内核操作系统,顾名思义就是把内核尽可能做到最小的操作系统。

微内核系统更加可靠、安全和稳定。操作系统作为核心的系统软件,如果操作系统出现故障,就会影响到整个系统的运行。如果把操作系统的内核做得小一些,就会降低核心系统出现故障的概率。只有微内核出现问题,才会影响到整个系统,而微内核以外的系统出现故障,只需要重启微内核以外的系统,而不用重启整个系统。


参考视频:https://www.bilibili.com/video/BV1rW411j7e7?p=23

参考文章:百度百科相关文章

第二章:操作系统基本原理(软件设计师备考)相关推荐

  1. 第二章.操作系统基本原理

    目录 第二章.操作系统基本原理 第一节.操作系统-概述 第二节.进程管理 进程的状态 前趋图 进程的同步和互斥 PV操作 PV操作与前趋图的运用 死锁问题 死锁的四大必要条件 死锁的预防和避免 第三节 ...

  2. 操作系统基本原理(软件设计师考试)

    第一节 操作系统概述 操作系统与计算机体系结构之间的关系 内容提要 第二节 进程管理-进程的状态 程序的三种基本状态(三态模型)  图注:等待状态下的程序缺少除cpu资源以外的其他资源,如用户指令或外 ...

  3. 2019年下半年软件设计师备考指南

    2019年下半年软件设计师备考指南 软件设计师考试内容.科目.考试时间.备考方式 考试内容及时间 基础知识 纸考 基础知识 2019-11-09 09:00:00(150分钟) 应用技术 纸考 应用技 ...

  4. 免费的计算机一级操作系统,计算机一级题题库,第二章操作系统

    计算机一级题题库,第二章操作系统 (56页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 25.9 积分 第二章操作系统一.单选题1.在windows屮,下 ...

  5. 软考 程序员教程-第二章 操作系统基础知识

    软考 程序员教程-第二章 操作系统基础知识 第二章 操作系统基础知识 2.1.操作系统概述(第四版教程P44) 操作系统的4个特征:并发性.共享性.虚拟性.不确定性. 操作系统的5个功能:处理机管理. ...

  6. 【单片机】第二章单片机基本原理练习题

    [单片机]第二章单片机基本原理练习题 一.题目一 1.1 作业题目 1.2 作业解答 二.题目二 2.1 作业题目 2.2 作业解答 三.题目三 3.1 作业题目 3.2 作业解答 四.题目四 4.1 ...

  7. 软考中级软件设计师备考建议

     前言 首先我说一下个人对这个考试的一个感受看法,我觉得软件设计师考试并不难,主要是不要被内心的恐惧吓倒,考试中心态真的很重要! 一.中级软件设计师科目包括: (1)计算机与软件工程知识,考试时间为1 ...

  8. 软件构造 第二章 第一节 软件生命周期和版本控制

    软件构造第二章 第一节 软件生命周期和版本控制 基本内容 Software Development Lifecycle (SDLC) Traditional software process mode ...

  9. 计算机操作系统只有windows对不对,计算机应用基础 第二章 操作系统

    第二章 操作系统 一.判断题(正确的填A,错误的填B) *1.在Windows桌面的任务栏中,显示的是所有已打开的窗口图标. A **2.Windows不允许用户进行系统(Config)配置. B * ...

  10. 软件设计师备考(三)——UML(关系和UML图)

    软件设计师备考(三)--UML 一.事物 二.关系 三.UML中的图 1.类图 2.对象图 3.用例图 4.交互图 (1)序列图 (2)通信图 5.状态图 6.活动图 7.构件图 8.部署图 9.包图 ...

最新文章

  1. iphone开蓝牙wifi上网慢_桌面运维:WiFi信号强,网速却很慢?这样操作就能搞定!...
  2. 苹果6怎么截屏_蓝苹果多肉怎么养,掌握这6种养殖方法
  3. 磁盘 I/O性能指标
  4. django app中扩展users表
  5. VirtualBox下安装MacOS11
  6. 接口规范 7. 按需录制相关接口
  7. sql server 快照_添加新文章,删除文章,更改快照文件夹路径和SQL Server复制中的数据筛选器行
  8. 解析Node.js通过axios实现网络请求
  9. 局域网中只有一台电脑无法连接共享打印机,其他电脑均可正常连接解决方案
  10. HTML静态网页--图片热点
  11. python表格绘制斜线表头_【Excel系列05】表格中如何制作斜线表头
  12. 粉笔科技创新OMO一体化模式 差异化突围职教市场
  13. 第四章 06 打印星号
  14. 2022北林计科学生保研历程
  15. Unity 百度语音识别
  16. Python Apex YOLO V7 main 目标检测 全过程记录
  17. 扫地机器人扫水泥地板有用吗_39元的扫地机器人你见过么,还送块水泥板砖……...
  18. js html 图片 缓存问题,如何防止浏览器缓存CACHE?将CSS、JS、图片加上参数
  19. PCB软件使用之mechanical机械层
  20. web前端技术笔记(十六)bootstrap、表单正则和前端优化

热门文章

  1. 用Docker搭建WordPress博客
  2. sec 与csc的原函数
  3. JAVA训练营第三周和第四周学习总结
  4. Java实现 蓝桥杯VIP 算法提高 3-2字符串输入输出函数
  5. 歌谣学前端之react笔记之学习之类组件
  6. 【无标题】C++ 井字棋代码
  7. Java并发编程的艺术-阅读笔记和思维导图
  8. 零打碎敲学Android 五 —AVG,只有神知道的世界
  9. Cocos2d-x动漫联盟横版格斗游戏截图
  10. 《人人都是产品经理》知识点总结