3.01 操作系统概述


接口的区分:

  • 人机之间的接口:命令,窗口
  • 应用软件与硬件之间的接口:api的接口

进程管理

3.02 进程管理——进程状态转换图

进程的状态:操作系统当中对进程进行管理的时候,为进程指定了几种状态,以便于给进程分配相应的资源,把它管理起来。

最初的进程状态(三种)

最初的状态分类

  • 运行:指这个进程需要的所有资源都已经配足了,并且给他了cpu资源
  • 就绪:指这个进程除了cpu资源,其他需要的所有资源都已经配足了
  • 等待:指这个进程除了cpu资源,还缺其他需要的所有资源

各个状态之间的转换关系

  • 运行—(等待某个事件)—>等待:当进程缺少某一个资源的时候就会进入到等待

    • 但是当进行补充好相应资源后不能直接去运行,需要去排队等待cpu资源的调用
  • 等待—(等待事件发生)—>就绪:当补充好相应资源后就进入到就绪状态
  • 就绪—(调度)—>运行:当资源配足的进程排到cpu进程时
  • 运行—(时间片到)—>就绪:一个进程从就绪到运行只能执行一个时间片,当时间片到了就返回就绪状态继续排队。

注:三种状态成熟后发现并不能满足所有的情况(比如人为暂停),所以提出来五态模型

例题讲解【2021下】

考察:进程的三态模型

升级的进程状态(五种)

状态分类中:运行(运行),活跃阻塞(等待),活跃就绪(就绪)两两对应,一个意思

与三态的不同点

  • 多了一个静止就绪和静止阻塞

    • 挂起:就和有人给你打电话,你放下手中的工作
    • 恢复或激活:电话打完了,再开始手中的工作

3.03 进程管理——前趋图【考点】

考题考点:前趋图一般和PV操作结合考察

前趋图:用来表达要完成的一系列活动,它的先后的约束关系。

  • 想表达的内容:这样就可以看出那些任务可以并行,那些任务有先后关系
  • 比如:包饺子可以绞肉,切菜,搅拌,包饺子顺序执行,但是绞肉和切菜可以同时进行,但是搅拌要受前两部的约束,同理包饺子要受到搅拌的约束。

3.04 进程管理——进程的同步与互斥

学习目的:同步与互斥是进行PV操作一些分析的前提


互斥:

  • 概念:在同一时刻,只允许某一个进程去使用这个资源【同一个资源不能同时服务于多个进程】
  • 如果一个资源能同时服务于多个进程称为:共享

同步:

  • 概念:有速度匹配要求,当差距拉的比较大的时候,要求速度快的停下来等待速度慢的。
  • 官方:
    • 同步:是指一个进程在执行某个请求的时候,若这个请求没有执行完成,
      那么这个进程将会一直等待下去,直到这个请求执行完毕,才会继
      续执行下面的请求。
    • 异步:是指一个进程在执行某个请求的时候,如果这个请求没有执行完毕,进程不会等待,而是继续执行下面的请求。

讨论PV进程操作问题:生产者和消费者中关于同步,互斥问题


单缓冲区情况:

  • 互斥:生产者和消费者每次只能一位去市场操作
  • 同步:生产者在市场放入一个商品就不能再放入商品,直到消费者消费掉之后生产者才可以继续在市场里放东西

3.05 进程管理——PV操作

考察:难度大


一些概念:

  • 临界资源:独木桥
  • 临界区:是一个代码段【进程中访问临界资源的呢段代码】
  • 信号量:应用于PV操作的一种专属变量
    • 如:P(S)中的呢个S,就是信号量

PV操作:

  • 是两大原子操作的一个组合,分为P操作和V操作。

    • P(S):加锁的过程

      • 申请锁定资源操作:信号量-1,做判断
    • V(S):解锁的过程
      • 申请解锁资源操作:信号量+1,做判断

从例题体会PV操作的作用

  • 当不引入PV操作的时候,先执行生产者就会造成溢出的风险,同理先执行消费者也会出错。

引入PV操作之后:
首先执行生产者情况和循环执行生产者情况【不行,会进入进程队列】

  • 满足P,V操作判断语句的时候会进入进程队列,否则会继续执行

首先执行消费者情况

  • 满足P,V操作判断语句的时候会进入进程队列,否则会继续执行

总结

  • PV操作其实是并发进程之间某些约束关系之间问题的解决。

3.06 进程管理——PV操作练习题

  • 先从收银员进程入手
  • 解题时可以先假设没有这些操作,会面临什么样的问题,从而找出约束关系

3.07 进程管理——PV操作与前趋图【重点考点

将一个前趋图转为PV操作的形式,都转成相应的进程,让这些进程在并发执行的时候依然按前趋图约束的先后顺序去执行。

  • 进程D开头要有,进程A,B,C的加锁过程P【都解锁之后才能进行下面的操作
  • 每一个进程A,B,C都有一个解锁过程V

例题讲解【2021上】




例题讲解【2021下】




例题演示


解题步骤

  1. 先在前趋图中标出信号量S,遵循从左到右,从上到下。
  2. 则可以通过前趋图箭头指向写出P与V的分布【如p1箭尾是V(s1),p2箭尾是V(s2),p3箭头是P(s1)和P(s2);箭尾是V(s3)和V(s4)】
    • 箭头为P操作,箭尾为V操作
  3. 将所有的操作具体写到(p1-p5示意图)中,问题就解决了

3.08 进程管理——死锁问题

考察考点:

  • 计算不会死锁的情况
  • 死锁预防与避免问题
    • 会涉及到银行家算法

概念:

  • 死锁:指系统当中有一系列的资源,有一系列需要用到这些资源的进程,这些进程需要系统给分配资源才能进行。如果系统在某一时刻发现所有可用的资源都已经分配出去了,而所有的进程都没有办法完成它本身的职责和任务,从而没办法释放占用的资源。

具体例题:

  • 求最少多少个资源不会发生死锁的情况:

    • 先给每个进程分配它所需的总数-1个资源
    • 然后有几个进程就乘几个
    • 最后+1之后就是:最少多少个资源不会发生死锁的情

3.09 进程管理——银行家算法

本节讲:死锁的预防和避免

死锁的预防【了解】

发生死锁的四种情况:

  1. 互斥
  2. 环路等待
  3. 不剥夺
  4. 保持和等待

死锁的预防:打破会发生死锁的四种情况

死锁避免的解决方案【掌握】

两种解决方案:

  1. 有序资源分配法【效率低】
  2. 银行家算法【常用,也是考点】

银行家算法


思想:以银行房贷的思路,来做资源分配。

具体实例

  • 选B

  • 考试就从A选项进行模拟,看能否走通,如果走不通就进行B选项的模拟。

存储管理

3.10 存储管理——分区存储组织

本章从软件的层次,来考虑存储机制

  • 分配前的空白区域是因为:前面作业做完了内存资源返回造成的
  • 此时再分配作业4的时候,会有多种动态分配的方式

几种内存资源分配方式:【了解思想】

  1. 首次适应法:顺次找下来,找到第一个符合的空间
  2. 最佳适应法:将空闲区块按照从小到大顺序,练成一个链
    • 在分配的时候先用作业4的大小和的空闲区块做比较,如果小于该空闲区块就将作业4分配到这里
    • 缺陷:系统运行一段时间,空闲碎块会非常多
  3. 最差适应法:将空闲区块按照从小到大顺序,练成一个链
    • 在分配的时候先用作业4的大小和的空闲区块做比较,如果小于该空闲区块就将作业4分配到这里,切出来一个9k的内存出来
  4. 循环首次适应算法:将空闲的区域按顺序连成一个环,每次按顺序比较,分配完再对下一个空白区块进行比较,以此类推。
    • 优点:分配均匀,不会老是分配同一个块

3.11 存储管理——页式存储、段式存储、段页式存储

考点掌握:

  • 页式存储当中的逻辑地址和物理地址之间的转化
  • 页式存储、段式存储、段页式存储它们基本的特点,以及运作的方式

页式存储【掌握】

  • 页式存储有了页表的中间件,而不是直接在用户程序和内存之间转换,从而增加了系统开销。
  • 物理块号又称页帧号

如何通过逻辑地址来求物理地址呢?

  • 先知道逻辑地址当中那些是页号,那些是页内地址
  • 页内地址直接就对应,物理地址中的页内地址
  • 再通过页号去查找相应的块号
  • 将查到的块号和页内地址组合起来就是物理地址了

习题讲解

例题讲解【2021上】


段式存储

  • 按逻辑结构来划分的
  • 段的大小不要求一致【页式存储不允许】
  • 段号包括:段长和基址

优点:

  • 便于共享

缺点:

  • 内存利用率低

段页式存储

  • 先分段,再分页

优缺点折中:

  • 优点:空间小,存储共享容易
  • 缺点:复杂性和开销增加,执行速度下降

快表与慢表

快表

  • 页式,段式,段页式存储放到Cache【高速缓存器】当中称为快表

慢表

  • 页式,段式,段页式存储放到内存当中称为慢表

3.12 存储管理——【页面置换算法】页面淘汰算法

  • 应用到:分层存储体系当中

由来:内存体系面临的问题,比如页式存储有100个页,但是内存有限只有3个页,这时候就不可避免的要淘汰不用的页和将用的页存调入进去,这就需要用的一些淘汰算法【共有四种】

  • 考点:先进先出,最近最少使用
  • 抖动:我分配给你更多资源,想要更好的结果,但是给你更多资源反而结果并不好【如下图就出现了抖动现象】
    • 第一行黄色,要访问的页面序列
    • 第一列黄色,内存上的三个页面
    • 当内存里没有相应页面序列就调入到内存当中
    • 内存里没有就称为缺页

例题讲解淘汰机制

  • FIFO淘汰机制:先进入内存的先淘汰【只考虑谁先进来】

    • 本题3的页面序列位置,对于FIFO来说内存空间为【0,1,2】先进来的是0,则淘汰0
  • LRU淘汰机制:最近最少使用的先淘汰【考虑访问的情况,最近被访问到了就不会被淘汰】
    • 本题3的页面序列位置,对于LRU视角来说内存空间为【1,2,0】,0刚刚被访问,1最久没被访问,则淘汰1

3.13 存储管理——页面淘汰算法练习题


第一问内存访问次数解题思路:

  1. 没有使用快表说明每读一次程序的块,先在内存上查一下表,查一下表之后才能够读取相应的内存块

    • 所以每一个内存块要进行2次的访问
  2. 题目中说明有6个页面块,则需要访问12次内存

第二问缺页中断次数解题思路:

  1. 这里有个约定俗成:

    • 默认指令无论占几个块,都会一次性调入。

      • 本题占了两个块,所以缺页中断一次
    • 但是操作数是占几个块,就会调入几次
      • 本题也是占了两个块,缺页中断两次
  2. 本题一个指令,两个操作数都占用2个块,根据上面约定俗成的规则得出结果1+2+2=5
    • 占用2个块的原因:指令从内存的1023单元开始存储(1单元=1字节),题中给出页面大小为1kb(1kb=1024字节),在8位计算机系统中存16位的指令(1字节=8位,则只存了一半,另一半存到了下一块当中),则该指令一半存到了0页号中,一半存到了1页号中

文件管理

3.14 文件管理——索引文件结构

文件的一种扩展机制


索引文件结构:直接索引,一级,二级,三级间接索引

  • 一般是以13个结点的结构,对应的是地址,连接的是物理盘块(用来存内容)
  • 在10这个结点位置链接的物理盘块不在存文件内容,而是存的地址
  • 间接索引级别越高,访问效率越低

实例演示

3.15 文件管理——文件和树型目录结构

考察:相对路径,绝对路径,全文件名的概念

  • 根目录一般是盘符,而Linux和unix是用/来做根文件
  • 可以在不同的文件下面,存在相同的文件名【同级目录不行】
  • 绝对路径:是从盘符开始的路径
  • 相对路径:是从当前目录开始的路径
  • 全文件名:绝对路径+文件名(包括格式扩展名)
  • 注:上面打开访问磁盘的次数都只要一次,通过命令打开,并不是一层一层的进入【相对路径先进入,才进行的打开命令】

例题讲解【2017年上,67】

例题讲解


  • 第一空选:C
  • 第二空选:B

3.16 文件管理——空闲存储空间的管理【位示图】

掌握:位示图法的计算问题


空闲存储空间的管理:

  • 指的是磁盘上有大量的空间,需要把空闲的空间管理起来,以便在某个文件要申请空间的时候,能有依据的分配空间。

    • 有很多的方法,我们重点掌握位示图法

      • 空闲区表法:用一个表来记录那些是空闲的
      • 空闲链表法:把空闲区域都链起来,形成一个链表
      • 位示图法:
      • 成组链接法:分组也分链的方式

位示图法

  • 画一个位示图【把整个存储空间分成了很多个物理块】,其中1表示已经被占用,0表示空闲

试题讲解


  • 由题知,一个字是32位
  • 注【字:计算机一次能处理最长比特位的数量,根据计算机的能力可为——16或者32】:字的概念
  • 4195号物理块,其实有4196个物理块(0开始)
  • 字是从1开始算
  • 位置是从0开始算

例题讲解【2021上】


设备管理

3.17 设备管理——数据传输控制方式

掌握:前三种方式


数据传输控制方式:

  • 指的是内存外设之间的数据的传输控制问题

几种程序控制方式的介绍:

程序控制方式【查询方式】:

  • 程序控制方式也称为程序查询方式
  • 最低级,也是cpu介入最多的方式,与外设的完成查询形成时间差

程序中断方式:

  • 机制一样,但是主动性变强了,加入了一些中断方式
  • 外设完成了程序的数据的一些传输,就会发出一个中断,系统就会做下一步的处理

DMA方式:

  • 也称为直接存取控制方式
  • 会有专门的DMA控制器,只要是外设和内存的数据交换,过程中就会由控制器来管控,CPU只要在开头的时候做一些记录,之后都有DMA来管控,做完之后再由CPU接管

程序中断方式——中断向量,中断相关概念补充

  • 中断向量是指早期的微机系统中将由硬件产生的中断入口地址或存放中断服务程序的首地址

    • 中断向量提供中断服务程序入口地址
  • 中断是指在计算机执行程序的过程中,当出现异常情况或者特殊请求时,计算机停止现行的程序的运行,转而对这些异常处理或者特殊请求的处理,处理结束后再返回到现行程序的中断处,继续执行原程序。

数据传输三种控制方式总结

个人总结:

输入输出技术的三种方式:查询方式(程序控制方式),中断方式,DMA方式(直接寄存器存取方式)

  • 直接查询: cpu只等待外设准备状态,就绪则运行。
  • 中断方式: cpu与外设并行工作,if外设状态(I/O系统)就绪,cpu中断目前程序并处理数据。处理完再运行被中断程序
  • DMA:无需cpu干涉,直接由DMA硬件处理,速度最快
  • 效率: dma>中断>查询
  • 共同点:都是cpu与外设之间数据的传送

例题讲解【2021下】

考察:输入输出技术的三种方式

  • 共同点:都是cpu与外设之间数据的传送

例题讲解【2021下】

考察:中断向量

例题讲解【2021上】

考察:程序控制方式——DMA

例题讲解【2012上】

考点:异常,中断

  • 异常:是指令执行过程中在处理器内部发生的特殊事件
  • 中断:是来自处理器外部的请求事件

例题演示:2017下

3.18 设备管理——虚设备与SPOOLING技术

考察:了解基本原则即可


SPOOLING技术:核心就是开辟了缓冲区,将输出和输入的数据先缓冲起来

  • 比如打印a,b,打印a的时候就把b缓冲起来了,打印完a就会自动开始b,这样打印者等着拿打印的文件即可。

3.19 微内核操作系统

掌握:用户态和核心态都有那些

3_1 操作系统定义、分类及功能【包含linux操作系统基础知识】相关推荐

  1. 红旗Linux藏文操作系统填补软件数字鸿沟红旗linux操作系统

    2008年8月20日消息,由中科红旗.中科院.及相关部门联合开发的Linux藏文操作系统通过信息产业部科技鉴定,达到同类产品技术的国际先进水平.目前已经正式向用户. 基于Linux的藏文操作系统研发项 ...

  2. Linux系统基础知识

    Linux系统基础知识 1.在Linux系统中,以文件方式访问设备.   2. Linux内核引导时,从文件 /etc/fstab中读取要加载的文件系统. 3. Linux文件系统中每个文件用 ino ...

  3. linux系统下io的过程,Linux系统基础知识:IO调度

    Linux系统基础知识:IO调度 IO调度发生在Linux内核的IO调度层.这个层次是针对Linux的整体IO层次体系来说的.从read()或者write()系统调用的角度来说,Linux整体IO体系 ...

  4. Kali Linux渗透基础知识整理(四):维持访问

    Kali Linux渗透基础知识整理系列文章回顾 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限.使用木马程序.后门程序和rootkit来达到这一目的.维持访问是一种艺术形式 ...

  5. Linux常用基础知识必备三之常用指令及操作

    Linux常用基础知识必备三之常用指令及操作 1.vi和vim vi如何使用 vi几种模式下的操作指令 命令模式进入编辑模式 命令模式下的快捷键 底行模式(指按了esc键之后输入按键:后出现) 字符串 ...

  6. Linux入门基础知识

    注:内容系兄弟连Linux教程(百度传课:史上最牛的Linux视频教程)的学习笔记. Linux入门基础知识 1. Unix和Linux发展历史 二者就像父子关系,当然Unix是老爹.1965年,MI ...

  7. Linux驱动 简单的Linux驱动基础知识

    Linux驱动 简单的Linux驱动基础知识 一.简述         记--Linux驱动学习笔记. Linux驱动程序初始化硬件设备,并提供硬件控制接口给更上一层的应用调用. 例如使用QT应用程序 ...

  8. 权限认证php,2016年Linux认证基础知识:php做权限管理

    2016年Linux认证基础知识:php做权限管理 在学习Linux认证过程中,每个人会遇到每个人不同的问题,或小或大,那么你知道在Linux下,php怎么做权限管理?下面跟yjbys小编来看看最新的 ...

  9. linux系统可以使用ppt功能不,Linux操作系统使用5.ppt

    Linux操作系统使用5 Linux操作系统使用 2003/3 第一章 概述 第二章 系统的运行 第三章 文件和目录 第四章 shell基础 第五章 vi 第六章 进程 第七章 Linux工具 第一章 ...

  10. linux系统可以使用ppt功能不,linux操作系统使用.ppt

    linux操作系统使用 Linux操作系统使用 2003/3 第一章 概述 第二章 系统的运行 第三章 文件和目录 第四章 shell基础 第五章 vi 第六章 进程 第七章 Linux工具 第一章 ...

最新文章

  1. ASP.Net中让网页“立即过时”
  2. xadmin后台页面定制和添加服务器监控组件
  3. python 人脸识别_手把手教你用python实现人脸识别,识别率高达99.38%
  4. jdbc增删改查_JDBC第二期
  5. Linux 进程概念
  6. case when怎么取别名_《小鞋子》:没有伞的孩子在雨中奔跑,没有鞋的孩子应该怎么做?...
  7. 小程序跳转样式布局错乱_小程序页面布局样式元素总结
  8. php如何用菜刀连接getshell,xise菜刀后门箱子制作:Sqlmao连接Mysql实现Getshell
  9. JS 动态修改json字符串
  10. audioread函数未定义_我在MATLAB中运行下面的程序, 提示未定义函数或变量wavread 这是为什么呀?求解答...
  11. java实现屏幕亮度调节
  12. 定义由4条线和4个圆弧组成的Box类,绘制一个圆角矩形(可填充)。
  13. Android中妙用Selector实现颜色图片切换效果
  14. 玩转儿童语音数据,打造儿童专属AI
  15. (JAVA练习)输入一个四位数,各个位的数字相加
  16. 【第25章】移动应用安全需求分析与安全保护工程(软考:信息安全工程师) -- 学习笔记
  17. Servlet 容器和 Web 服务器的区别
  18. Linux内核分析 笔记二 操作系统是如何工作的 ——by王玥
  19. 【短期利率模型之Rendleman-Bartter模型】
  20. 学习笔记——12306 自动通过验证码(2)

热门文章

  1. DataV平面地图组件全新升级_新功能带你抢先看
  2. 英文字母的大小写互换,将所有都变成小写,所有都变成大写 位运算实现
  3. php 配置文件设置时区_PHP中设置时区方法
  4. Kotlin学习(二十): Kotlin实现流的读取的方案
  5. Jackson荧光染料丨艾美捷Jackson Alexa Fluor®荧光染料
  6. 微信小程序动态倒计时
  7. 高效率的免费发布信息平台,助力企业高质量采购
  8. ng-include
  9. 必过SafetyNet!以MIUI开发版系统为例详解Android设备通过SafetyNet校验方法
  10. 图片按指定比例缩放并压缩至指定大小,解决保存图片文件体积过大bug。