软件设计师学习笔记整理二:操作系统知识

一、操作系统相关概念

1、操作系统的作用

在这里插入图片描述

  1. 管理系统的硬件、软件、数据资源
  2. 控制程序运行
  3. 人机之间的接口
  4. 应用软件与硬件之间的接口

2、操作系统的功能

  1. 处理机管理
    处理机管理实际上是指对处理机执行“时间”的管理,采用多道程序等技术将CPU真正合理地分配给每个任务。常用的资源管理单位有进程和线程。
  2. 存储管理
    存储管理主要是对主存空间进行管理。
  3. 文件管理
    文件管理(信息管理)包括文件存储空间管理、目录管理、文件的读写管理和存取控制、软件管理等。
  4. 作业管理
    作业管理包括任务管理、界面管理、人机交互等。
  5. 设备管理
    设备管理的目标是方便设备使用,提高CPU与I/O设备的利用率。作业管理。作业管理包括任务管理、界面管理、人机交互等。

3、操作系统的类型

分类特点
批处理操作系统单道批:一次一个作业入内存,作业由程序、数据、作业说明书组成
多道批:一次多个作业入内存,特点:多道、宏观上并行微观上串行
分时操作系统采用时间片轮转的方式为多个用户提供服务,每个用户感觉独占系统
特点:多路性、独立性、交互性和及时性
实时操作系统实时控制系统和实时信息系统
交互能力要求不高,可靠性要求高(规定时间内响应并处理)
网络操作系统方便有效共享网络资源,提供服务软件和有关协议的集合
主要的网络操作系统有:Unix、Linux和Windows server系统
分布式操作系统任意两台计算机可以通过通信交换信息
是网络操作系统的更高级形式,具有透明性、可靠性和高性能等特性
微机操作系统Windows:Microsoft开发的图形用户界面、多任务、多线程操作系统
Linux:免费使用和自由传播的类Unix操作系统,多用户、多任务、多线程和多CPU的操作系统
嵌入式操作系统运行在智能芯片环境中
特点:微型化、可定制(针对硬件变化配置)、实时性、可靠性、易移植性(HAL和BSP支持)

二、进程管理

1、 概念

1、进程的概念

  1. 进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块进程控制块(PCB)数据块三部分组成。
  2. PCB是进程存在的唯一标志。内容包含进程标识符、状态、位置信息、控制信息、队列指针(链接同一状态的进程)、优先级、现场保护区等。

2、进程与程序的区别

  1. 进程是程序的一次执行过程,没有程序就没有进程。
  2. 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是。

3、进程与线程的区别

进程的2个基本属性可拥有资源的独立单位可独立调度和分配资源的基本单位
在这里插入图片描述

2、进程的状态

1、三态模型

在这里插入图片描述

  • 执行状态:进程已获CPU,正在执行。单处理机系统中,处于执行状态的进程只一个;多处理机系统中,有多个处于执行状态的进程
  • 就绪状态:进程已获得除CPU外的一切所需资源,只等待CPU即可执行
  • 阻塞状态:阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O等待I/O完成等)而暂时停止运行,此时即使把CPU分配给进程也无法运行,故称进程处于阻塞状态

2、五态模型

在这里插入图片描述
挂起原因

  1. 进程过多,主存资源不足,此时必须将某些进程挂起,放到磁盘对换区,暂时不参与调度,以平衡系统负载
  2. 系统出现故障,或者是用户调试程序,也可能需要将进程挂起检查问题

3、进程调度

1、进程的同步与互斥

  1. 互斥:在同一时刻只允许某一进程使用资源,如千军万马过独木桥,这些互斥的进程之间是间接制约关系
    在这里插入图片描述

  2. 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机,磁带机等

  3. 临界区:进程中访问临界资源的那段代码称为临界区

  4. 同步:运行速度有差异的两个进程同时开始运行,在一定情况下,速度较快的进程会停下来等待速度较慢的进程,这些同步的进程之间是直接制约关系
    在这里插入图片描述

2、PV操作

  1. 信号量:是一种特殊的变量,符号为S,是一种全局变量
  2. 信号量可以表示资源数量
  3. 信号量为负数时还可以表示排队进程数
  4. P是荷兰语的Passeren,V是荷兰语的Verhoog
    在这里插入图片描述

P操作:S代表信号量,S=S-1 表示申请 / 锁定资源,然后通过判断S是否小于0检查资源是否足够,S小于0则代表资源不足,该进程进入阻塞队列,S不小于0则继续往下执行

V操作:S=S+1 表示释放 / 解锁资源,之后通过判断S是否小于等于0检查是否有进程排队,S小于等于0代表有,则通知并唤醒阻塞进程,若无则继续往下执行

3、信号量与PV操作

  1. PV操作与互斥模型
    多个进程共享一台打印机问题(互斥模型):
    在这里插入图片描述
    互斥信号量S的初值为1(即打印机的数量)

  2. PV操作与同步模型
    单缓冲区生产者、消费者问题(同步模型):
    在这里插入图片描述
    在这里插入图片描述
    S1初值为1,S2初值为0

  3. 互斥与同步模型结合
    单缓冲区生产者、消费者问题(同步模型):
    在这里插入图片描述
    在这里插入图片描述
    同步信号量:S1初值为1(若缓冲区空间为m,则S1=m),S2初值为0
    互斥信号量:S初值为1(代表对临界资源(即缓冲区)的访问权限)

4、前趋图与PV操作

  1. 前趋图是将一个完整的进程所需的工序按照是否具有先后关系将进程进行再次区分的图象
  2. PV操作应用
    在这里插入图片描述
    箭线末端执行V操作,箭头端执行P操作

进程的执行过程
在这里插入图片描述

进程A、B、C执行之前是没有前趋的,执行之后有一个后继,用一个V操作来通知后继;D执行前有三个前趋,三个P操作检查三个前趋是否完成,执行之后有一个后继,用一个V操作来通知后继(有几个后继就有几个V操作);E执行之前有一个前趋,用一个P操作检查前趋是否完成,无后继。

4、死锁问题

1、概念

  1. 所谓死锁,是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象
  2. 发生死锁的四大必要条件:
    1. 进程互斥
    2. 持和等待:在资源总量并未满足完成进程所需资源的总量前提下,每个进程都保持自身占用的资源不变并且一直等待其他进程完成以获取其释放的系统资源
    3. 不剥夺:系统不会把已分配给一个进程的资源剥夺掉分配给其他进程
    4. 环路等待:如总共有三个进程,A等待B,B等待C,C等待A;诸如此类的,等待的进程形成了一个闭合环状
  3. 死锁处理
    1. 死锁的预防(打破上述四大必要条件 )
      1. 有序资源分配法
      2. 静态资源分配法
    2. 死锁的避免
      银行家算法
    3. 死锁的检测与解除
      利用一些软件方式检测,人为的解除死锁
    4. 鸵鸟策略(不予理睬)

2、死锁资源数计算

  1. 进程管理是操作系统的核心,但如果设计不当,就会出现死锁问题,如果一个进程在等待一件不可能发生的事,则进程就死锁了,此时该进程将一直占用部分系统资源,而如果多个进程产生死锁,就会造成系统资源被占用完毕,进而造成系统死锁

  2. 系统不可能发生死锁的最小资源数
    (w-1)*m+1<=n
    w:每个进程所需要的资源数
    m:系统所拥有的进程数
    n:系统拥有的可用资源数

    例:系统有3个进程,这3个进程都需要4个系统资源。如果系统至少有多少个资源,则不可能发生死锁?

    答:资源数n=(4-1)*3+1=10

5、进程资源图

在这里插入图片描述

例:
在这里插入图片描述

P2是阻塞节点,P1、P3是非阻塞节点,该图可以化简,所以是非死锁的

三、存储管理

1、页式存储

  1. 概念:将程序与内存均划分为同样大小的块,以页为单位将程序调入内存

  2. 优点:利用率高,碎片小,分配及管理简单
    缺点:增加了系统开销;可能产生抖动现象
    在这里插入图片描述
    逻辑地址=页号+页内地址
    物理地址=页帧号+页内地址

  3. 根据逻辑地址求物理地址

    例:页式存储系统中,每个页的大小为4KB。
    逻辑地址:  10 1100 1101 1110
    物理地址:110 1100 1101 1110

    页的大小为4K,即212,说明页内地址有12位,则逻辑地址中前两位10即为页号,也就是2,对应页帧号为6,即110,则物理地址即为110 1100 1101 1110

  4. 缺页中断
    在这里插入图片描述
    要把3、4页调入内存就要淘汰其他页
    淘汰原则
    ①访问位为0
    ②访问位都为0的情况下先淘汰修改位为0的

页面置换算法:
①最优(Optimal,OPT)算法
②随机(RAND)算法:随机淘汰一个页面
③先进先出(FIFO)算法:按照之前执行的先后顺序进行淘汰,有可能产生“抖动”(抖动:把经常用到的页置换出去,要用的时候发现没有内存了,造成进程中断)
④最近最少使用(LRU)算法:不会“抖动”,LRU的理论依据是“局部性原理”。
时间局部性:刚被访问的内容,立即又被访问
空间局部性:刚被访问的内容,临近的空间很快被访问

2、段式存储(考的不多)

  1. 概念:按用户作业中的自然段来划分逻辑空间,然后调入内存,段的长度可以不一样
  2. 优点:多道程序共享内存,各段程序修改互不影响
    缺点:内存利用率低,内存碎片浪费大
    在这里插入图片描述
    基址:就是该段在地址的起始位置
    逻辑地址:(段号,段内偏移量)
    合法段地址:段内偏移量不能超过相应段落的段长

四、设备管理

1、磁盘

1、磁盘管理

既属于存储管理也属于设备管理

  1. 存取时间=寻道时间+等待时间,寻道时间是指磁头移动到磁道所需的时间;等待时间为等待读写的扇区转到磁头下方所用的时间
    在这里插入图片描述
  2. 读取磁盘数据的时间应包括以下三个部分:
    ①找磁道的时间
    ②找块(扇区)的时间,即旋转延迟时间
    ③传输时间

2、磁盘调度

  1. 常用的磁盘调度算法:
    ①先来先服务(FCFS)
    在这里插入图片描述
    ②最短寻道时间优先(SSTF)
    在这里插入图片描述
    ③扫描算法(SCAN)
    ④单项扫描调度算法(CSCAN)

在这里插入图片描述
在这里插入图片描述
同一时刻,一个缓冲区输入,一个缓冲区输出,形成两段并行的通路

2、I/O软件

在这里插入图片描述

五、文件管理

1、文件相关概念

  1. 文件:具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合
  2. 逻辑结构:有结构的记录式文件、无结构的流式文件
  3. 物理结构:连续结构、链接结构、索引结构、多个物理块的索引表
  4. 文件目录:
    1. 文件目录项/文件的说明/文件控制块FCB
      基本信息类:文件名、文件的物理地址、文件长度和文件块数等
      存储控制信息类:文件的存储权限:读写、执行权限等
      (文件属性:只执行、隐含、只读、读/写、共享、系统)
      使用信息类:文件建立日期、最后一次修改/访问日期、当前使用的信息、打开文件的进程数以及在文件上的等待队列等
    2. 目录结构
      一级目录结构:线性结构,查找速度慢,不允许重名和实现文件共享等
      二级目录结构:主文件目录(MFD)+用户目录(UFD)
      三级目录结构:树型目录结构(多级目录结构)

2、树形目录结构

在这里插入图片描述
1.多级目录结构允许不同用户的文件可以具有相同的文件名
2.绝对路径:是从盘符开始的路径
  相对路径:是从当前目录开始的路径
例:在上图中,若当前目录为D1,要求F2的路径,则
绝对路径:/D1/W2/F2
相对路径:W2/F2
3.全文件名:绝对路径+文件名

3、空闲存储空间的管理

位示图法

例:某字长为32位的计算机的文件管理系统采用位示图(bitmap)记录磁盘的使用情况。若磁盘的容量为300GB,物理块的大小为1MB,那么位示图的大小为()个字。

答:首先计算磁盘有多少个物理块:300GB/1MB=300 * 210,一位对应一个物理块,则一个字表示32个物理块,所以位视图的大小为:300 * 210/32=9600个字

4、索引文件结构

在这里插入图片描述

例:某文件系统采用索引节点管理,其磁盘索引块和磁盘数据块大小均为1KB字节且每个文件索引节点有8个地址项iaddr[0] ~ iaddr[7],每个地址项大小为4字节,其中iaddr[0] ~ iaddr[4]采用直接地址索引,iaddr[5]和iaddr[6]采用一级间接地址索引,iaddr[7]采用二级间接地址索引。若用户要访问文件userA中逻辑块号为4和5的信息,则系统应分别采用(直接地址访问和一级间接地址访问),该文件系统可表示的单个文件最大长度是()KB

答:每个磁盘索引快有1024/4=256个索引项
iaddr[0]~iaddr[4]采用直接地址索引,每个可以存放1个逻辑页面,5个大小共为5*1KB=5KB,
iaddr[5]~iaddr[6]采用一级间接地址索引,一个对应256个索引编号,分别对应256个页面,所以2个大小共为2 * 256 * 1KB=512KB
iaddr[7]采用二级间接地址索引,有256个索引快,每个索引快有256个地址,所以大小为256 * 256 * 1KB=65536KB
则该文件系统可表示的单个文件最大长度是5+512+65536KB=66053KB

六、作业管理(基本不考)

1、作业状态

在这里插入图片描述

2、作业调度算法

  1. 先来先服务法
  2. 时间片轮转法
  3. 短作业优先法
  4. 最高优先权优先法
  5. 高响应比优先法

响应比=(作业等待时间+作业执行时间)/作业执行时间

例:作业J1、J2、J3的提交时间和所需运行时间如下表所示。若采用高响应比者优先调度算法,则作业的调度次序为()
在这里插入图片描述

6:00的时候只有J1提交,所以首先调度J1,6:30时J1运行结束,在J1运行期间,J2和J3都提交了作业,采用高响应比者优先调度算法:

J2 6:20提交,等待10分钟,作业等待时间为10,由图可知作业执行时间为20
则J2的响应比=(10+20)/20=1.5

J3 6:25提交,等待5分钟,作业等待时间为5,由图可知作业执行时间为6
则J3的响应比=(5+6)/6=1.83

J3的响应比大于J2的响应比
所以作业的调度次序为J1->J3->J2

七、操作系统知识思维导图

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ؓ初尘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值