Part2. 操作系统基本原理

一.操作系统基本概述

1.操作系统基本概述

  操作系统的作用是管理系统的硬件、软件、数据资源,控制程序运行
  人机之间的接口(例如windows系统,通过图形化界面,让人们直接操作图形化界面达到操作硬件的目的)
  软件与硬件之间的接口

2.微内核操作系统

  内核做得更小的操作系统。可靠性,稳定性,安全性都相对较高。
在这里插入图片描述

二.进程管理

1.进程状态转换图

  由于cpu资源非常宝贵,系统是通过时间片轮转算法分配cpu资源,每个进程只能运行一个时间片,时间片到期,转为就绪状态,等待下一次时间片的到来。
  进程的终止有两个阶段,1.等待操作系统进行善后处理 2.释放内存

  进程的状态:三状态模型
  运行状态:所有系统资源都给他配好
  就绪状态:除了cpu资源以外,其他资源都给他配好。
  等待(阻塞)状态:缺少cpu资源,和其他资源,等待操作系统分配资源和调度。

在这里插入图片描述
  进程的状态:五状态模型
  由于系统资源宝贵(包括cpu资源和内存资源),这时候必须将某些进程挂起,放到磁盘兑对换区,暂时不参加调度,以平衡系统负载,或者是系统故障,或者是用户调试程序人为挂起进程。所以出现了五状态模型,五状态模型是在三状态模型的基础上多了以下2种状态
  静止就绪状态:就绪进程被对换到辅存时的状态,不能被直接调度,需要先回到活跃就绪状态才能被调度。
  静止阻塞状态:阻塞进程被对换到辅存时的状态,不能被直接调度,需要先回到静止阻塞状态才能被调度。

2.前趋图

  前趋图:表达要完成的一系列活动的先后的约束关系(哪些任务可以并行执行,哪些任务有先后顺序关系)

3.进程的同步与互斥

  进程的同步和互斥:互斥(例如千军万马过独木桥,只能一个人过桥,独木桥可认为是共享资源)同步(速度有差异时,在一定情况停下等待,保证同时到达某个点)
  同步与异步相反
  共享与互斥相反

4.PV操作与前趋图

  PV操作用于解决并发进程之间某些约束关系之间的问题。本质就是对信号量的判断来决定进程之间如何运行。
  P:每执行一次,信号量S-1,当信号量S<0时(阻塞),V:每执行一次,信号量 S+1,当信号量S<=0时解锁(唤醒)P操作。

  临界资源:进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
  临界区:每个进程中访问临界资源的那段代码
  信号量:是一种特殊变量,可以用于表示资源的可用数量。

在这里插入图片描述

在这里插入图片描述
  我们来结合上面2图来分析一下:
  首先分析p(s1)和v(s1)这对pv操作

  当生产者进程和消费者进程正常工作时(处于一个平衡状态)
  生产者:
  P操作:s1=s1-1=1-1=0,满足继续执行的条件,产品送到了缓冲区,
  消费者:
  V操作:s1=0+1=1,满足继续执行的条件,成功消费一个产品

  但是当生产者进程和消费者进程不处于一个平衡状态,则需要依靠信号量来决定进程如何运行。
  生产者:生产第1个产品时:
  P操作:s1=s1-1=0,满足继续生产下一个产品的条件,所以开始继续生产第2个产品
  这时,如果消费者并没有消费完产品,s1=s1-1=-1,进程开始阻塞,无法继续生产第2个产品
  此时消费者才开始消费:
  V操作:s1=-1+1=0,开始唤醒阻塞的进程,第2个产品得以继续完成。
  接着生产者继续生产第3个产品,P操作后进程阻塞,然后消费者V操作后继续完成……以此达到一个平衡。

  p(s2)和v(s2)的分析同理

在这里插入图片描述
  解答:首先先判断出先后顺序为:a1–>b1–>b2–>a2,a1和b1是一对信号量(b1等待a1唤醒),a2和b2是一对信号量(a2等待b2唤醒),又因为S1和S2初始值为0,
则:
  a1为V(S1),b1为P(S1),a2为P(S2),b2为V(S2)
  或者 a1为V(S2),b1为P(S2) ,a2为P(S1),b2为V(S1)

  所以答案可以选择 A和C

5.死锁问题和银行家算法

(1)死锁问题

  如果一个进程在等待一件不可能发生的事,进程就死锁
  死锁4大条件,同时满足4个条件就会出现死锁,
  1.互斥:资源必须互斥,如果不互斥,就说明资源可以共享,就不存在死锁了。
  2.保持和等待:进程会保持自己的资源并且等待其他进程释放资源
  3.不剥夺:操作系统不会去剥夺进程的资源去重新分配
  4.环路等待:例如:A等B,B等C,C等A

  死锁的预防(打破四大条件)

在这里插入图片描述

  所以:最少资源数=进程数*(所需资源数-1)+1

(2)银行家算法

  银行家算法(避免死锁):分配资源的原则:
在这里插入图片描述

  (1)首先,求出剩余的资源数:
  R1剩余 9-1-2-2-1-1=2
  R2剩余 8-2-1-1-2-1=1
  R3剩余 8-2-1-1-2-1=0

  (2)然后计算P1到P5的还需资源数
在这里插入图片描述

  (3)所以,首先肯定必须先执行p2,—>执行完p2后会释放资源,得到新的剩余资源数,然后继续推理即可,答案为 B

三.存储管理

1.基本存储单位

  在计算机内部,信息都是釆用二进制的形式进行存储、运算、处理和传输的。信息存储单位有位、字节和字等几种。各种存储设备存储容量单位有KB、MB、GB和TB等几种。 [2]
  位(bit):二进制数中的一个数位,可以是0或者1,是计算机中数据的最小单位。
  字节(Byte,B):计算机中数据的基本单位,每8位组成一个字节。各种信息在计算机中存储、处理至少需要一个字节。例如,一个ASCII码用一个字节表示,一个汉字用两个字节表示。
  字(Word):两个字节称为一个字。汉字的存储单位都是一个字。
  计算机存储单位一般用bit、B、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB……来表示,它们之间的关系是:
  8bit=1B
  其他的都是1024倍数关系:1024B=1KB、、、以此类推

2.分区存储组织

  
在这里插入图片描述
  

3.页式存储系、段式存储、段页式存储

  (1)页式存储系
在这里插入图片描述

  例题:
在这里插入图片描述
  解:页面大小4K,转化为二进制,为2^12,一个十六进制位等于 2^4,所以,4K刚好占了3个十六进制位,那么可以知道A29为页内地址,5为页号,根据页号5找到对应的页帧号为6,则物理地址为6A29H,选择 D
  要访问的页面4的不再内存,它的访问位是0,和页号1相同,那么就应该淘汰页号1,把页号4放入内存中。选择 B
  
  (2)段式存储

在这里插入图片描述
  
  (3)段页式存储,优缺点介于段式和页式之间
在这里插入图片描述

  (4)快表
在这里插入图片描述
  

4.页面淘汰算法

在这里插入图片描述
  例题1
在这里插入图片描述
  解:开始内存为空,内存空间为3页,
  FIFO:当内存中已经存在需要的页,则不淘汰;当内存中不存在需要的页,按照先进先出的规则淘汰,先淘汰5–>0–>1–>2…。
  LRU:当内存中已经存在需要的页,则不淘汰;当内存中不存在需要的页,按照最近最少使用的规则淘汰(根据上图来理解应该可以很好的理解)。

  例题2
在这里插入图片描述
  解:页面大小1KB,
  0页号:内存单元0~1023
  1页号:内存单元1024~2047
  2页号:内存单元2048~3071
  3页号:内存单元3072~4095
  4页号:内存单元4096~5119
  5页号:内存单元5120~6413
  1b=8bit,指令swap,操作数A,操作数B都是16bit,肯定是跨页访问了,也就是说,一共需要6个页(而且题目也说了用户程序划分为6页,说明每个页都会用到)。在读取物理地址的时候,需要先去查页对应的页的块,再去找到真正的内存地址。所以,6x2=12次
  注意,执行指令即使跨页访问,也只会出现1次缺页中断,访问操作数A跨2个页,2次缺页中断,访问操作数B跨2个页,2次缺页中断,所以一共出现 1+2+2=5次缺页中断,选 C

四.设备管理

1.数据传输控制方式

在这里插入图片描述

2.虚设备与Spooling技术

在这里插入图片描述

五.文件管理

1.索引文件结构

在这里插入图片描述
在这里插入图片描述
  解:首先,磁盘数据块大小为1kb字节,内个地址4个字节,那么可以算出每个磁盘数据块可以有256个地址项。(下图解释的较为清楚了),最终答案为 C和D
在这里插入图片描述

2.树型目录结构

在这里插入图片描述
  注意:图中斜杠画反了,小问题。。

3.位示图

  空闲存储空间的管理办法之一。1代表已被占用,0表示空闲

在这里插入图片描述

在这里插入图片描述
  解:如题,字长32位,一共32个物理块,因为物理块从0开始编号,所以 4195物理块应该是第4195+1个位,即 4196, 4196/32=131.125,所以选 D,0.125x32=4,说明是在第4个位置,但是物理块号的编号应该是3,所以选B(或者按照下图的思路也可以)
在这里插入图片描述

  
  本文参考《软件设计师教程》及网络上的教程,如有侵权请联系删除

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值