操作系统基本原理

  • 操作系统概述
  • 课程内容提要
  • 进程管理
    • 进程的状态
    • 前趋图
    • 进程的同步与互斥
    • PV操作
    • 死锁问题
      • 死锁的预防和避免
      • 银行家算法
  • 存储管理
    • 分区存储组织
    • 页式存储组织
    • 段式存储组织
    • 段页式存储组织
    • 快表
    • 页面置换算法
  • 文件管理
    • 索引文件结构
    • 文件和树型目录结构
    • 空闲存储空间的管理
  • 作业管理
  • 设备管理
    • 数据传输控制方式
    • 虚设备与SPOOLING技术
  • 微内核操作系统

┏┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅☆
┇ 根据B站视频以及教材做的笔记 ╹◡╹
┇ 视频: https://www.bilibili.com/video/av19665344
┇ 教材:软件设计师考试冲刺(习题与解答)
┗┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅┅☆

操作系统概述

  • 操作系统是用来管理整个系统的软硬件资源,相当于人与硬件之间的一种接口。
  • 操作系统既是人机之间的接口,也是应用软件与硬件之间的接口。
  • 对于人和计算机而言,这种接口往往是命令。
  • 命令方式、窗口方式都属于人机之间的接口,而应用软件与硬件之间的接口指的是API等的接口。
  • 操作系统具备的管理职能有:进程管理,存储管理,文件管理,作业管理,设备管理。

课程内容提要

进程管理

进程的状态

  • 运行态指这个进程所需要的所有资源都已经配齐,并且拥有CPU资源。
  • 就绪态指其他所有资源都已经配齐,只缺CPU资源。是一种“万事俱备只欠东风”的状态。
  • 等待态指不仅缺少CPU资源还缺其他资源。
  • 等待态不能直接到运行态!
  • 一个进程从就绪到运行只能运行一个时间片,时间片用完时,即使任务未完成,应退出运行态,进入就绪态,等待下一个时间片的调度。

前趋图

进程的同步与互斥

  • 互斥:在同一时刻,只允许某一个进程使用这个资源,同一个资源不能同时服务于多个进程。
  • 互斥的反义词是共享,同步的反义词是异步。
  • 同步:速度有差异,在一定情况停下等待,有速度匹配的要求。

PV操作

  • P操作即获取资源,V操作即释放资源。
  • P操作自减1,V操作自增1。

如下图,s1为收银员资源,s2为购书者资源。第一题答案为A,第二题答案为C。

下图为PV操作和前趋图的结合。

如下图,箭头的起点操作为V操作,箭头的终点操作为P操作。信号量为S1、S2、S3、S4,可将其标在每一条线上,遵循“从上到下、从左到右”。由此可知,a为V(S1),b为V(S2),c为P(S1)P(S2),d为V(S3)V(S4),e为P(S3),f为P(S4)。故第一题答案选C,第二题答案选A,第三题答案选A。

死锁问题

若进程需要n个资源,有k个进程,则不会发生死锁的最少资源数为k×(n-1)+1。

死锁的预防和避免

  1. 产生死锁的四个必要条件:
  • 互斥条件
  • 请求保持条件(各个进程保持自己的资源,并等待别人释放更多的资源给自己)
  • 不可剥夺条件(系统不会把分配给某个进程的资源剥夺掉,并分配给其他进程)
  • 环路条件
  1. 死锁的预防(打破四大条件):
  • 预先静态分配法
  • 资源有序分配法
  1. 死锁的避免
  • 银行家算法

银行家算法

如下图,系统状态安全即没有发生死锁状态。

下图为上图的解答。由于P2还需资源数小于剩下的资源数,所以首先执行P2进程,否则会产生死锁。P2执行完不但会把刚刚给他分配完的资源释放出来,还会把以前占有的资源给分配出来,所以系统当前资源为系统剩余资源加上已经分配的资源。

存储管理

分区存储组织

  • 首次适应法:在首次能够容纳所需内存的空闲区切割出一个内存块。
  • 最佳适应法:将空闲区从小到大分配。缺点是内存碎块小而多,不好利用。
  • 最差适应法 :分配空间时,先考虑从最大的空闲块切割出所需的内存块,空闲区从大到小分配,与最佳适应法相反。
  • 循环首次适应法:把空闲区连成环状,顺次分配。

页式存储组织

  • 在内存中划定一个用户区,该用户区是供用户程序调用内存时使用的。在这种管理方式当中,往往是把用户程序整体的调入到内存当中。
  • 页式存储是将用户程序分为等分大小的4K一块的区域,每个4K区域块称为1页,将内存中的存储区也分为4K一个。如果要调用程序到内存中运行后,采取的机制是需要哪些块,就将哪些块哪些页调用进来。
  • 页表是用来记录它们之间的映射关系,即用户程序的多少页对应着内存中的多少号块。
  • 逻辑地址和物理地址的页内地址是相同的,因为调用的时候是以页为单位,以页为单位的偏移量不会有变化。
  • 首先知道逻辑地址中的页号和页内地址,页内地址即物理地址,通过页号查找块号,把两个拼接起来,就成为物理地址。

如下图,求物理地址时,需要先将逻辑地址中的页号和页内地址分开。
页面大小为4K,4K=212,说明一个页的页内地址有12位,高于12位的部分为页号,12位对应的是二进制数位。由于逻辑地址为十六进制5A29H,每1个十六进制对应4个二进制位,所以页内地址是A29,页号是5。由页表可知,页号为5对应的物理块号为6。所以物理地址是6A29H,第一题选D。
淘汰的页号应选择在内存内的页面,所以在页号0、1、2、5中选择。由于局部性原理,刚刚被访问过的页面的访问位为1,不能被淘汰,只能淘汰访问号为0的页面,所以淘汰1号页,即第二题答案选B。

段式存储组织

  • 段式存储包括段号和段内地址两个部分。
  • 段式存储按逻辑结构划分,段的大小不要求一致。
  • 段表中存储段号、段长和基址。

段页式存储组织

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

快表

  • 相联存储器按内容存取,最大特点是速度快,效率高。
  • 快表放于Cache中,慢表放于内存中。

页面置换算法

  • 最优(OPT)算法:理论层面上的页面淘汰算法。它是在整个事情发生之后,即已经知道访问序列是怎么样的之后,根据这个序列来分析算出什么时间点淘汰什么样的页面可以取得最高效率。
  • 随机(RAND)算法:随机地淘汰一个,性能不稳定。
  • 先进先出(FIFO)算法:淘汰页面时选择最先进入内存的页面。有可能产生“抖动”(“抖动”的意思是分配了更多的资源,希望把事情做的更好一些,结果不但没有起到正面效果,反而降低了效率)。
  • 最近最少使用(LRU)算法:分配的资源越多,性能越好。根据使用情况判定,最近使用的是不会被淘汰的。

如下图,没有使用快表指的是每读一次程序块需要先在内存中查表后才能读取相应内存块,所以每一个块需要进行两次内存的访问。总共有6个块,所以有12次内存的访问,第一题答案选B。
在缺页中断中,无论指令占有几个块,默认一次性调入,只产生1次缺页中断。而数据类型的操作数A在2号页有一半,3号页也有一半,所以产生2次缺页中断。同理,操作数B也产生2次缺页中断.所以总的缺页中断次数为5,第二题答案选C。

文件管理

索引文件结构

  • 一般的索引文件结构有13个结点,编号从0到12。
  • 在索引结点的文件结构中,分为直接索引、一级间接索引、二级间接索引和三级间接索引。
  • 索引的分类主要考虑文件本身容量的扩展问题。
  • 索引结点存放的是13个物理地址,地址对应盘块,盘块存储内容。
  • 间接索引的级别越高,访问效率越低。

如下图,逻辑块号为5的信息对应的物理块号为58。由于一个物理盘块的大小为1K,一个地址4个字节,所以1024÷4=256,每个盘块可以存放256个地址。因此,261号逻辑块对应187号物理块。第一题答案选C。
101号物理块对应iaddr[7],由题可知,存放的是二级地址索引表。第二题答案选D。

文件和树型目录结构

空闲存储空间的管理

  • 空闲区表法:用一个表记录哪些位置是空闲的,以便管理。
  • 空闲链表法:将空闲区链成一条链表,需要进行空间分配的时候,从这条链表划出相应的空间出来。
  • 位示图法:位示图中1表示的区域代表已占用,0表示的区域代表未占用。
  • 成组链接法:以分组和分链的方式。

如下图,1个字是32个bit位,4195号物理块实际上是第4196个物理块,由于4196÷32=131.125,所以4195号物理块存储在第132个字中,第一题答案选D。
要占用物理块,毫无疑问是要将字的位置置“1”,故排除A和C。位置是从0开始算的。因为131×32=4192,即0至4191,所以在第132字中,第0位置是4192,第1位置是4193,第2位置是4194,第3位置是4195。所以,在4195的位置上置“1”,即在该字的第3位置“1”,第二题答案选B。

在位示图的题目中,第几个字从“1”开始算,第几位置从“0”开始算。

作业管理

设备管理

数据传输控制方式

  • 数据传输控制方式主要指内存和外设之间的数据的传输控制问题。
  • 程序控制方式:又称程序查询方式,是CPU介入最多的机制。外设处于被动的方式,不会主动反馈信息。
  • 程序中断方式:很多方面和程序控制方式一样,但比程序控制方式的主动性强,效率高,有中断机制。
  • DMA方式:又称直接存取控制方式,有专门的DMA控制器,管控着外设和内存之间的数据交换,效率更高。

虚设备与SPOOLING技术

  • SPOOLING技术的核心在于开辟了缓冲区,把要输出或要输入的数据先缓存起来,解决了外设的低速和内部系统的高效之间的瓶颈差异。
  • 虚设备与SPOOLING技术往往是在磁盘上开缓冲区来解决速度上的矛盾和差异。

微内核操作系统

软件设计师——操作系统基本原理 [ 笔记 ]相关推荐

  1. 【软考-软件设计师精华知识点笔记】第六章 系统开发与运行

    前言 由于笔记复制到CSDN样式失效,没有精力再重新完整的检查并设置一遍样式,有积分的可以前往下载word.pdf.有道云笔记版本. 需要说明的是,下载的内容与本篇分享内容一致,只有样式的区别[比如重 ...

  2. 【软考-软件设计师精华知识点笔记】第八章 算法分析设计

    前言 由于笔记复制到CSDN样式失效,没有精力再重新完整的检查并设置一遍样式,有积分的可以前往下载word.pdf.有道云笔记版本. 需要说明的是,下载的内容与本篇分享内容一致,只有样式的区别[比如重 ...

  3. 【软考-软件设计师精华知识点笔记】第十章 网络与信息安全

    前言 由于笔记复制到CSDN样式失效,没有精力再重新完整的检查并设置一遍样式,有积分的可以前往下载word.pdf.有道云笔记版本. 需要说明的是,下载的内容与本篇分享内容一致,只有样式的区别[比如重 ...

  4. 软件设计师备考知识点笔记

    目录 软件设计师知识点笔记 一.计算机组成原理与体系结构 1.数据的表示 考点1:进制转换 考点2:码制(源码/反码/补码/移码) 考点3:浮点数的表示 考点4:逻辑运算 2.校验码 考点1:奇偶校验 ...

  5. 软件设计师——多媒体基础 [ 笔记 ]

    多媒体基础 课程内容提要 多媒体技术基本概念 音频相关概念 图像相关概念 媒体的种类 多媒体相关计算问题 常见多媒体标准 数据压缩技术 数据压缩基础 有损压缩与无损压缩 ┏┅┅┅┅┅┅┅┅┅┅┅┅┅┅ ...

  6. 软考中级软件设计师——操作系统

    二.操作系统基本原理 一个操作系统包括: 进程管理 存储管理 文件管理 作业管理 设备管理 微内核操作系统 进程管理: 进程状态 就绪状态 运行状态 等待状态 前趋图 前趋图解决顺序约束关系 进程的同 ...

  7. 软件设计师-操作系统知识

    1.操作系统知识: 1.1基本概述 操作系统是一个大型的软件系统,是为了提高计算机系统资源(硬件和软件资源)的利用效率并方便用户使用的一组程序,这些程序可以用软件实现,也可以用固件(微程序设计)实现. ...

  8. 2021年5月软件设计师考前总结笔记

    一. 计算机基础 1. 运算器和控制器的组成和含义 运算器&&控制器 运算器 ① 算数逻辑单元ALU: 数据的算数运算和逻辑运算; ② 累计寄存器AC: 通用寄存器, 为ALU提供一个 ...

  9. 软件设计师---操作系统

    重点:银行家算法.pv操作.文件管理.存储管理.操作系统的分类及其特点 操作系统的作用: 管理系统的硬件.软件.数据资源 控制程序运行 人机之间的接口 应用软件与硬件之间的接口 一.操作系统概述 操作 ...

最新文章

  1. java super是引用变量吗_Java中super的几种用法并与this的区别
  2. 利用负载均衡优化和加速HTTP应用
  3. 手机端设置https访问代理(windows)
  4. mysql connector python linux_Python使用mysql.connector链接mysql数据库
  5. 面试必问,如何控制多个线程的执行顺序
  6. 检测到在集成的托管管道模式下不适用的 ASP.NET 设置, HTTP 错误 500.23 解决方案...
  7. python邮件发送哪个好_python发邮件(一)
  8. springboot 使用 minio
  9. 设计素材|手机UI界面模板psd源文件格式!
  10. 学号:201621123032 《Java程序设计》第3周学习总结
  11. mysql5.7zib配置_mysql-5.7.13 解压版安装教程
  12. 使用 Repeater方式和完全静态页面使用AJAX读取和提交数据
  13. Android UI基础教程pdf
  14. Spark 广播变量 TorrentBroadcast
  15. 用 ElementTree 在 Python 中解析 XML
  16. 在 Nvidia 显卡下设置装备铺排双浮现器
  17. DNS 协议是什么?
  18. java读取本地图片并在网页显示
  19. 【舰船数据集格式转换】HRSID数据集VOC转COCO
  20. 用U盘安装XP操作系统

热门文章

  1. Eclipse中server配置Tomcat显示红色方块并报Tomcat version 6.0 only supports J2EE 1.2, 1.3, 1.4, and Java EE 5 Web
  2. php和wordpress教程,堪称最流行强大的免费开源PHP网站程序——WordPress中文正式版...
  3. cocos2d-x 3.4之排行榜的实现
  4. vue Bus的使用
  5. 链游发展新思路:Crypto Game资产租赁模型设想雏形
  6. 桥接模式(Bridge模式)详解
  7. 90%的传统制造业利润低微,工业互联网的历史机遇来了!
  8. 打响新年第一炮,Gary Marcus提出对深度学习的系统性批判
  9. javaScript的单元测试题
  10. BZOJ 5395--[Ynoi2016]谁的梦(STL容斥)