【软件设计师自学笔记】操作系统基本原理

本文深入探讨了操作系统中的进程管理,包括进程状态转换、前趋图、同步与互斥、PV操作及其应用。同时,涉及死锁问题的解决策略,如银行家算法。存储管理方面,讲解了分区、页式、段式、段页式存储及页面置换算法。文件管理和设备管理部分涵盖了索引文件结构、空闲空间管理以及数据传输控制方式。最后提到了微内核操作系统的特点。
摘要由CSDN通过智能技术生成

操作系统 - 概述

在这里插入图片描述
在这里插入图片描述

进程管理 - 进程状态

  1. 状态定性:
  • 运行:这个进程所需要的所有资源都已经配楚了,并且给它CPU资源
  • 就绪:其它所有资源都已经配齐,唯独缺CPU资源
  • 等待:除了没有CPU资源,还缺其它资源
  1. 状态间转换:
  • 运行 ——> 等待:缺某种资源,等待某件事发生,就转换为等待状态
  • 等待 ——> 就绪:资源配齐
  • 就绪 ——> 运行:得到CPU资源
  • 运行 ——> 就绪:时间片的一个时间到了,撤销CPU资源给另一个进程
  1. 五态模型
  • 阻塞和三态模型的等待是一个意思,多出静止的两态
  • 挂起:指认为的停止在这里插入图片描述

进程管理 - 前趋图

  1. 考虑哪些任务有先后顺序,哪些任务可以并行做
  2. 表达先后的约束关系在这里插入图片描述

进程管理 - 进程的同步与互斥

在这里插入图片描述

在这里插入图片描述

  1. 互斥:在同一时刻,只允许某一个进程使用某个资源,一个资源不能同时服务多个进程
  2. 同步:当差距较大,需要某一进程停止,从而达到一致
  3. 互斥与同步并不矛盾存在

进程管理 - PV操作

在这里插入图片描述

  1. 临界资源:各个进程间需用用互斥的方式,去进行共享的,那么一个资源叫临界资源
  2. 操作步骤:
  • P操作
    1)、将信号量S放入 自减操作 当中去
    2)、接着判断,如果S<0,则阻塞当前进程的继续状态,把进程放入 进程队列里面去,此时进程处于等待状态
    3)、如果S不小于0,则继续执行程序
  • V操作(相反的操作)
    1)、先进行自加的操作
    2)、进行判断,如果S<=0,则从进程队列中,取出 一个进程 将其唤醒继续执行程序,否则继续往底下走
  1. 例题
    在这里插入图片描述
  • 如果没有PV操作将会面临怎样的问题

进程管理 - PV操作 - 例题

1.例题一
在这里插入图片描述

  1. ——》考点:进程之间的一些约束关系,在哪些位置应该阻塞起来,等待在另外一个进程进行操作,等操作之后再进行下一步的流程
  2. 解决问题的核心点:找出约束关系
  • V前P后,V因P果,即购书付款 —(引发)— 收银员收钱;收银员结账 —— 购买者才能走

进程管理 - PV操作与前趋图结合

在这里插入图片描述

  1. 例题二
    在这里插入图片描述
  • 从左到右,从上到下,标信号量;一个箭头一个信号量
  • 箭头的起点位置是V操作,末尾位置是P操作

进程管理 - 死锁问题

在这里插入图片描述

  1. ——》考点:
    1)、 给定一定数量的进程,每个进程需要多少资源,然后计算最少系统西药多少资源,才不可能发生这类死锁
    2)、 死锁的预防和避免问题
  2. 死锁:系统将所有资源释放出去,每个进程需要的资源都不能得到满足,而系统已经没有多余的资源,从而导致程序一直不能得到结果
  3. 解题思路:先将每个进程分配(所需要的资源 - 1),系统里面还有一个资源就不会产生死锁
    即系统至少需要的资源为: k【k个进程】 * (n【每个进程所需要的资源】 - 1) + 1

进程管理 - 死锁问题(2)

在这里插入图片描述

  1. 产生死锁的四大条件:缺一不可,只要缺了一个就不会产生死锁
    1)、互斥
    2)、保持和等待:保持自己的资源并且等待别人释放更多的资源给自己
    3)、不剥夺:系统不会去将分配给某个进程的资源给剥夺掉,分配给其它进程
    4)、环路等待:A——>B——>C——>A,相互等待资源

进程管理 - 银行家算法

在这里插入图片描述

  1. ——》思路:以银行家放贷的想法资源分配,着重看资源是否能收的回来,如果给你分配资源你又无法完成任务,就不会再给你分配资源
  2. 例题:

在这里插入图片描述

求剩资源数
在这里插入图片描述

检查
在这里插入图片描述

步骤一:计算系统还剩多少个资源
步骤二:看选项A,先将剩下的资源分配给P1,发现 2 < 5 , 1 < 3 , 0 < 1 ,所以会造成死锁状态发生;因此除了P2进程,其它进程的R1、R2、R3都不能完全满足,就会造成死锁,所以第一步只能选P2
步骤三:当P2执行完后,给予的资源和先前占用的资源都会释放出来,所以总剩余有 4 - 2 -1
步骤四:再分析能运行哪个进程,然后执行完所有进程

存储管理 - 分区存储组织

在这里插入图片描述

  1. 算法
  • 首次适应算法:从上往下检查,如果遇到空间满足的就放进去
  • 最佳适应算法:将剩余的空间从小到大排序,一次检查是否满足大小需要
  • 最差适应算法:与最佳适应算法相反
  • 循环首次适应法: 将空间由上至下依次循环排序,每次配置作业选择上一次的下一个空间填充

存储管理 - 页式存储组织

在这里插入图片描述

  1. ——》考点:逻辑地址与物理地址之间的转换,还需了解页式存储、段式存储、段页式存储之间基本的特点以及运作的基本方式
  2. 通过逻辑地址求物理地址的方式
    1)、找到逻辑地址L中,哪块是页号,哪块是页内地址
    2)、将页内地址直接写下,就是物理地址的页内地址
    3)、通过页号查找块号,将块号与页内地址拼接,得到物理地址
  3. 例题
    在这里插入图片描述
  • 如何将逻辑地址的页号与页内地址分开,通过页面大小这个参数进行分析
    1)、,由题目可知,页面大小为4k ——> 4k = 212 (k——>210,4——>22)
    2)、12说明什么问题?说明一个页的页内地址是12位,高于12位的就是页号
    3)、因为5A29H是十六进制,所以每位表示4位2进制,也就是后3位A29为页内地址
    4)、因为逻辑地址的页号为5,所以对应的块号(页帧号)为6
    5)、从状态位来看页号为4的页面为0,即不在内存,页面的淘汰只能考虑在内存里面的
    6)、所以只能从页号0、1、2、5中淘汰一个,又因为页号0、2、5的访问位为 1 ,不能被淘汰,所以只能淘汰访问位为 0 的页号 1

存储管理 - 段式存储组织

  1. 段式与页式的分割方式有较大的差异
    1)、段式是按逻辑结构来划分的
    2)、将Mian主函数作为一个段,第一个子函数做一个段,下一个子函数也作为一个段,段的大小不要求一致(页式不允许的),好处:便于共享
    在这里插入图片描述

存储管理 - 段页式存储组织

在这里插入图片描述

存储管理 - 快表

在这里插入图片描述

  1. 特点:按内容存取,速度非常快,效率非常高
  2. 快表是放在Cache中,慢表是放在内存中

存储管理 - 页面置换算法

  1. 抖动:分配多资源反而让进程的效率降低;分配更多的资源反而让缺陷页增加
    在这里插入图片描述

  2. 例题在这里插入图片描述

  • 缺页页数:9 < 10 ;产生抖动
  1. 例题2
  • 步骤:
    1)、FIFO:到第五个数0的时候,因为012有0所以没有缺页,所以三个页中还是012
    9)、LRU:看最近那个最迟动的那个,就淘汰掉在这里插入图片描述
  1. 例题4
    在这里插入图片描述

1)、没有使用快表说明什么?先要在内存中查一下表,才能够读取相应的内存块,所以每个块需要2次内存的访问,有6个块(6个页面),所以需要访问12次内存
2)、有个约定俗成:指令一次性融入,所以是 1 次 缺页中断
3)、操作数A:上半部分 1 次,下半部分 1 次 ; 操作数B,同理,一共两次
4)、所以,1+2+2 = 5 次缺页中断

文件管理 - 索引文件结构

在这里插入图片描述

  1. 如果没有直接说明结点的个数,那么就是标准的13个结点,否则会指明每个结点的作用

  2. 0-9结点存的是物理盘块的内容;10存的不再是物理盘块的直接内容,而是存放物理盘块的地址

  3. 例题
    在这里插入图片描述

1)、一个物理盘块1k大,一个地址4个字节,210 / 4 = 256 ,即每个物理盘块可以存放256个地址(不懂)
2)、因为101号是i-addr[7],所以是二级地址索引

文件管理 - 文件和树形目录结构

在这里插入图片描述

  1. ——》考点:相对路径和绝对路径的比较
  2. 绝对路径:从根结点(当前所在目录)开始的路径 ,比如找f1——> /D1/W1/f1
  3. 相对路径:假设当前目录为D1,找f1 ——> W1/f1 即可

文件管理 - 空闲存储空间的管理

  1. 定义:管理大量空闲空间,当一个文件申请空间的时候,能够有依据地分配给它
  2. 管理方法
    1)、空闲区表法:用张表,记录空闲区
    2)、空闲链表法:将空闲存储链接起来,需要的时候再划分出来
    3)、位示图法:1表示空闲,0表示占用(计算重点)
    4)、成组链接法:
  3. 例题
    在这里插入图片描述

在这里插入图片描述

1)、4195号物理块,实际上有4196块物理块(从0开始计算)
2)、(4195+1) / 32 = 131.125 ,所以表示要将前131个字填满,并且当前的这个物理块要占用一个(132个字当中)
3)、
第一行:表示4195在第132字当中;
第二行:算出前131个字的地址范围,求出第132字的地址开始位置
第三、四行:从第0个位置开始算起,第4195号处于,第132字的第3位置
4)、因为是分配,所以是变1,表示占用,排除AC

  • ——》注意:第几个字,是从1开始算;第几个位置,是从0开始算

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

在这里插入图片描述

  1. ——》考点:
    1)、通道、输入输出处理机是专用计算机处理方式,不再讨论范围内
    2)、程序控制方式:外设处于一种被动的方式,不能主动反馈信息
    3)、程序中断方式:外设完成后发一个中断信号,系统就会做出下一步的处理
    4)、DMA方式:直接存取控制方式,思路:专门的DMA控制器,再由CPU接手,效率大大提高

设备管理 - 虚设备与SPOOLING技术

在这里插入图片描述

  1. ——》考点:理解基本原理即可
    1)、开辟了缓冲区,按队列先后顺序处理

微内核操作系统

  1. ——》考点:1)、系统的可靠性、稳定性和安全性;2)、哪些属于用户态,哪些属于核心态
  2. 微内核:重启一下内核即可,不需要操作整个系统
  3. 单体内核:内核出问题,整个系统都出问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值