【软考笔记】二、计算机操作系统

【软考笔记】二、计算机操作系统

Scroll Down

二、计算机操作系统

1、操作系统概述

操作系统是管理计算机硬件与软件资源的计算机程序,同时也是计算机系统的内核与基石。操作系统需要处理如管理与配置内存、决定系统资源供需的优先次序、控制输入设备与输出设备、操作网络与管理文件系统等基本事务。操作系统也提供一个让用户与系统交互的操作界面。
在这里插入图片描述
在这里插入图片描述

2、进程状态

在这里插入图片描述

3、前趋图

在这里插入图片描述

4、进程的同步与互斥

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

5、PV操作

在这里插入图片描述

解释 :P操作,如果s<0的话,让此进程进入阻塞。否则继续执行。V操作,如果s<=0,此时可以通知进程对列中的p操可以开始执行了。

注意 :v操纵是没有阻塞的。只有p操作才有阻塞。

生产者消费者问题:
在这里插入图片描述
例题:
在这里插入图片描述
答案:A C

解析:首先假设先执行收银员进程。此时假如说不加b1,b2,会出现收银员一直收费的操作,这样的话肯定不对,应该是有用户来付款,收银员进程才开始执行,所以说b1,应该是一个阻塞操作所以为P(s1)(或者P(s2)),而a1,的作用就是通知收银员进程开始执行,所以a1操作为通知操作即V(s1)(或者v(s2)),这是要和b1中的信号量对应。b2的作用是干啥呢,收银员在进行收银的过程中收银结束了需要通知用户你可以离开了就是通知作用,所以b2为通知操作即为V(s2)(或者V(s1)),通知a2的阻塞进程可以继续执行即离开。所以说a2是一个阻塞操作即a2为P(s2)(或者P(s1))

所以正确答案有两种分别为:

a1 V(s1)  a2 P(s2)    b1  P(s1)  b2 V(s2)    
a1 V(s2)  a2 P(s1)    b1  P(s2)  b1 V(s1)  

其中的P(Sn)和V(Sn)的作用就是控制书店最多进入的人数。

6、PV操作与前趋图

在这里插入图片描述
前趋图转PV操作例题:
在这里插入图片描述
答案:C A A
在这里插入图片描述
非抢占式优先级调度算法 :有一个低优先级的程序正在运行,现在有一个新的优先级高的进程来了,不会因为有新的高的优先级程序的介入而把原来正在运行的程序给停止,而去运行高优先级的程序。

进程p1和p2并发执行,意思就是说无论先去执行那个程序段得到的结果都是一样的。

解释 :假如说现在先执行p1程序段。执行a:=1,a:=a+1,后a=2,接着v(s1),此时s1=1,继续向下执行c:=a+5,所以c=7,继续向下执行p(s2),此时p1程序段进入阻塞,开始执行p2程序段,b:=2,b:=b+1;所以b=3,接着p(s1),刚才s1=1,现在s1=0,所以继续执行,b:=a+b,b=5,接着v(s2),此时通知p1程序段中的p(s2)开始执行,但是,注意最初题目说此系统采用的是非抢占式优先级调度算法,也就是说就算v(s2)通知了p(s2)开始执行,p1程序段也不会开始执行,因为是非抢占式的,所以必须等p2程序段执行完毕,所以继续执行,c:=b+c;c=12。接着开始p1程序段,接着p(s2)向下执行,a:=a+c;a=14。所以最终a=14,b=5,c=12.选:B,A,C

下面是画图解释先执行p2程序段:
在这里插入图片描述

7、死锁问题

死锁 :是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁,这些永远在互相等待的进程称为死锁进程。
在这里插入图片描述
答案是:13个。

假如说先给每个进程四个资源。这样还剩下一个资源,这样的话无论这个最后一个资源给A,B,C中的任意一个都会让其完成自己的任务从而释放自己占用的资源,这样就相当于盘活了资源。这样就能完成所有任务。

每个进行需要n个资源,总共有k个进程,则不会发生死锁的最少资源数为:kx(n-1)+1。

8、银行家算法

死锁的产生 :1、互斥;2、环路等待;3、不剥夺;4、保持和等待。

在这里插入图片描述
死锁的解决方案 :1、死锁的预防。2、死锁的避免。

银行家算法
在这里插入图片描述

算法的思想 :此算法的思想和银行放贷款类似如果银行认为把钱给你,你还能还的上,才会进行放贷。否则不会放贷。这是给的是资源。意思就是说如果把资源给你,你的任务能够完成,才会把资源给你。

实例:
在这里插入图片描述

系统是安全的意思就是不会产生死锁。所以上题答案为:B。

9、存储

1】分区存储组织

在这里插入图片描述

2】页式存储组织

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

(1)页面大小为4k,即为2^12。说明一个页的页内地址为12位。那么高于12位的部分就是页号。这个12是一个有12位的二进制数。二进制转成16进制,每一个16进制位对应4个二进制位所以后面的A29,对应的就是12位的二进制的数。所以页内地址位A29,下面通过表找出物理块号,物理块号又叫页帧号。5对应的页帧号为6,所以物理地址应为16进制6A29。

思路 :逻辑地址由:页号和页内地址组成,逻辑地址中的页内地址就是物理地址的页内地址,然后通过页号去找物理块号(页帧号),然后将物理块号拼接物理地址的页内地址,即为物理地址。所以问题就是将逻辑地址分开成页号和页内地址。

(2)状态为0表示不再内容,淘汰页面只能淘汰在内存中,所以要从页号为0,1,2,5的四个中选择,这时候要看访问位。访问位为1,表示访问过不能淘汰,只有访问位为0的才能淘汰,所以只能淘汰1号页。

3】段式存储组织

在这里插入图片描述

4】段页式cunchu

在这里插入图片描述

5】快表

在这里插入图片描述

10、页面置换(淘汰)算法

在这里插入图片描述
先进先出(FIFO)算法
在这里插入图片描述

解释 :上面1、2、3代表内存的页面。最上面那一行4 3 2 1......代表要访问的页面的序列,首先内存中的页面都是空的,现在4进入,发现没有,会产生一次缺页(内存中没有就会产生),3进入,内存中也没有所以也会产生缺页。2进入,内存中也没有所以也会产生缺页。1进入,此时内存中已经进入满了,现在要淘汰页面,按照先进先出规则,淘汰4号页......当将内存页加到4个的时候发现缺页次数达到了10次,这就产生了抖动现象。

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

最近最少使用(LRU)算法,是根据最近的使用情况去淘汰的,最近、最久使用最少的将会被淘汰。

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

解释 :没有使用快表,表示每读一次程序块需要现在内存中查以下表,才能读取相应的内存块,所以每一块需要进行两次内存的访问,一共有6个页面==>6个快,所以一共需要访问12次内存。

缺页中断 :默认指定无论占几个块,都会一次性调入。从图中可以看出,swap A,B占了0和1号页两个块,按照正常来说应该是产生两次缺页中断,但是他是指令指挥产生一次,但是A和B操作数页占了两个块,这是分别产生两次缺页中断。一共5次缺页中断。

11、索引文件结构

在这里插入图片描述

12、文件和树形目录结构

在这里插入图片描述

13、空闲存储空间的管理

在这里插入图片描述

位示图法:画一个位示图,1表示的区域已占用,0表示的区域为空闲的。
在这里插入图片描述
在这里插入图片描述

14、数据传输控制方式

在这里插入图片描述

主要是为了解决内存和外设的数据传输问题。

15、虚设备与Spooling技术

在这里插入图片描述

16、微内核操作系统

在这里插入图片描述