2. 操作系统

操作系统(软件设计师考试)

考点分析 : 进程状态转换图、信号量与PV操作、死锁问题、银行家算法、段页式存储,页面置换算法,磁盘调度,树形文件系统


操作系统是管理整台计算机的软硬件资源的


一、进程状态转换图

  1. 进制转换
    操作系统进程状态: 做图为最开始的时候计算机的进程状态;
    (左)三态模型;(右)五态模型;五态模型在三态模型的基础上添加了 静止就绪和静止阻塞状态
    在这里插入图片描述

二、前驱图

前驱图想表达,哪些任务有先后关系,哪些任务可以直接运行

  • 〇 表示一个程序进程,或者结束语句
  • → 表示结点间的执行顺序。
A
B
C
D
E

如果,A,B,C 的运行时不相干的,可以同时运行,而D需要ABC完成后才能运行,E需要D完成后才能运行则有

A
D
B
C
E

我们也可以将ABCDE想象成炒菜的过程

  • A洗菜
  • B切菜
  • C弄辅料
  • D炒菜
  • E上桌

三、进程管理

  1. 进程的同步与互斥
    同步:在同一时刻只运行一个进程去使用的资源(如独木桥,只能一次走一个人)同步中有速度匹配问题,当一起走时如果距离拉锯太大了另一个需要停下来等另一个
    异步:访问的资源是共享资源,可以由多个进程同时访问

  2. PV操作
    P操作:

     S=S-1
     判断 S< 0:
     	如果真:堵塞进程,放入进程队列
     	如果假:继续执行
    

    V操作:

     S=S+1
     判断S<=0:
     	如果真:唤醒P操作中放入等待队列的进程
     	如果假:继续执行程序
    

    PV细分可以分为两种,用到的时候要合起来用,主要解决两个程序直接同步中资源共享冲突问题

    图解展示

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

  1. PV操作和前驱图
    根据上方前驱图作为例子,列出对应的PV操作
A
D
B
C
E
设ABCD初始化值				有: 进程D
SA=0     						 P(SA)
SB=0	 						 P(SB)
SC=0    	     				 P(SC)
SD=5							 P(SD)
								 执行进程D
								 V(SD)
								 进程E
								 P(SD)
								 执行E		
  1. 死锁问题
    如果系统发现在某一时刻发现系统可用的资源都被分配出去了,而运行中的进程没有资源完成本身的操作了,就会造成死锁。

    假设有k个进程,每个进程需要n个资源,则系统至少需要多 k × ( n − 1 ) + 1 k\times (n-1)+1 k×(n1)+1个资源保证不会出现死锁

可以假设有两个进程k=2;每个进程需要5个资源;如下表,有8个资源已经平均分配了,最后差还差1个资源,就可以使得A或B正常运行,等A或B正常运行完后就会释放资源运行另外一个,即不会造成死锁

AB
11
22
33
44
  1. 银行家算法
    造成死锁的四个条件缺一不可:
    • 互斥(资源不能同时使用);
    • 保存和等待:进程会保留自己的资源,等待其他进程释放资源给自己
    • 不剥夺:不全抢其他进程资源
    • 环路等待:如有ABC三个进程,A等B释放资源,B等C释放资源,C等A释放资源

银行家算法:在放贷款前考虑钱能不能收回来;可以收回来就释放贷款; 系统先判断所给资源能否时改程序运行完,如果能就给程序资源

例题:假设系统中有三类互斥资源R1、R2和R3,可用资源数分别为9、8和5。在T0时刻系统中有P1、P2、P3、P4和P5五个进程,这些进程对资源的最大需求量和已分配资源数如下表所示。如果进程按 ( ) 序列执行,那么系统状态是安全的。

进程\资源最大需求量
R1 R2 R3
已分配资源数
R1 R2 R3
p1
p2
p3
p4
p5
6  5  1
2  2  1
 8  1   1
1  2  1
3  4  4
1  2  1
2  1  1
 2  1   0
1  2  0
1  1  3

A、P1→P2→P4→P5→P3
B、P2→P1→P4→P5→P3
C、P2→P4→P5→P1→P3
D、P4→P2→P5→P1→P3

解:
首先由题目得R1,R2,R3分别资源为9,8,5;通过这个点去看看系统分配的资源后剩下多少
R1剩余资源=9-1-2-2-1-1=2
R2剩余资源=8-2-1-1-2-1=1
R3剩余资源=5-1-1-3=0
接着我们就试着将选项一个个带进去算:
P1先执行R1需要分配5个资源,而R1只剩下2两个即A错误
P2先执行,R1需要0个资源,R2需要分配1个资源,R3需要分配0个资源
P2执行完释放资源此时R1有4个资源,R2有2个,R3有1个,依次类推,C正确

四、存储管理

1. 分区存储组织

  • 首次适应法: 找到第一个分配空间进行分配
  • 最佳适应法:找到最少的且又符合分配需求的空间进行切割分配
  • 最差适应法: 找到最大的且又符合分配需求的空间进行分配
  • 循环首次适应法:
  • 缺陷:有着严重的碎片问题,使得内存利用率不高

2.页式存储组织

  • 把用户程序分成等分大小的页,用页表记录用户程序和内存之间的对应关系;
  • 页表可以让我们知道进程中的页号对应放在物理内存中的页框号,从而可以求出页框的首地址
  • 页框:将内存空间分成一个个大小相等的区域,如每个区域放4KB
  • 实现地址的转换:起始地址+进程页内地址

3.段式存储组织

  • 段式存储在地址结构上和页式存储差不多,但是在切割内存上是不一致的,页式存储在内存上要求一致,而段式存储不要求一致
  • 优点: 多通道程序共享内存,各段程序修改互不影响

4. 段页式存储组织

  • 段式存储和页式存储混合起来

5. 块表

  • 快表是一块小容量的相联存储器,由高速缓存器组成,速度快,一般用在访问最频繁的少数活动页面的页号

6. 页面置换算法

  1. 最优算法

  2. 随机算法

  3. 先进先出(FIFO)算法

  4. 最近最少使用(LRU)算法

7. 索引文件结构

8. 文件和树形目录结构

9. 位示图法

10 . 数据传输控制方式

  • 指内存和外设之间的数据传输控制问题
  • 程序控制方式
  • 程序中断方式
  • DMA方式
  • 通道
  • 输入输出处理机

5. 虚拟设备与SPOOLING技术

  1. 开通了一个缓冲区,把要输入和输出的数据缓存起来,按照队列的输出情况进行处理
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

StarLightLu

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

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

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

打赏作者

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

抵扣说明:

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

余额充值