二、 操作系统知识(考点篇)试题_微内核

二、 操作系统知识(考点篇)试题_内存管理_02

这种按照前驱图的箭头顺序来即可,B

二、 操作系统知识(考点篇)试题_内存管理_03

解析:目录其实就是文件控制块的集合,文件控制块记录了文件各种信息,如果出现问题影响很大。

二、 操作系统知识(考点篇)试题_内存管理_04

乍一看,不了解鸿蒙系统比较懵,来逐项分析,A:采用分层的好处颇多有可能是的,从下往上跟姐姐名字来看有可能是正确的,所以A偏向于对的;B:宏内核一般的理解应该是趋于复杂,宏嘛,规模大,既然趋于复杂和规模大低延时这个就冲突了,不太可能,所以大概率B趋向于错误的;C:鸿蒙这么牛逼的系统怎么可能不结合分布式设计的特点,尤其是分布式是未来的方向,它诞生的时间不可能不考虑分布式相关的内容;D:看样子像是真确的,所以我选B,答案也是B。

补充信息:

鸿蒙层次是:内核层、系统服务层、应用框架层、应用层

二、 操作系统知识(考点篇)试题_微内核_05

鸿蒙用的是微内核

书上P590

二、 操作系统知识(考点篇)试题_信号量_06

页面大小4kb = 2^12b ,在分页的章节学过,分页不管是物理页还是逻辑页大小一样,业内偏移是一样的,页大小是4kb那么换成b就是12位,页内地址12位,十六进制1B1A,4位二进制为1位16进制

1

B

1

A

4

4

4

4

这一部分是页号

所以这一部分是页内地址

利用8421法把页号转为十进制

方法

8

4

2

1

十六进制

0

0

0

1

十进制

1

逻辑页1号对应着6号物理页,前面说了,分页的逻辑页大小和物理页大小一样,那么页内地址相同,那么物理页的页内地址也是B1A,页号6转为十六进制也是6,所以6B1AH

二、 操作系统知识(考点篇)试题_信号量_07

首先索引块和数据块都一样大小1kb,地址项占4b,那也就是说一个索引块能设立2^10 / 2^2 = 2^8=256个地址项,还有在计算机里都是从0编址的。

iaddr[0]~iaddr[4]:共5个是直接索引,地址项指向的是数据块.

iaddr[5]~iaddr[6]:2个块是一级间接索引,每个有256个索引地址,那么256+256=512个一级地址,从第5个开始数512个地址都是一级间接索引,5+512-1=516。为啥减一,比如从第5个开始数3个数是7,而5+3=8,所以需要-1。

所以1号直接索引,518就是二级,选C

二、 操作系统知识(考点篇)试题_信号量_08

R现在还剩2个资源了,然后就看分配给谁就会运行,并且运行完释放资源后就好了,显然是P3。

二、 操作系统知识(考点篇)试题_内存管理_09

选B

二、 操作系统知识(考点篇)试题_微内核_10

线程的概念,进程内部的资源是所有线程所共享的如已打开文件、定时器、信号量等,但是线程内部的是不会被其他线程共享的。

A:进程打开的文件算是进程的资源,线程可共享,B、C、D,栈指针属于线程私有变量,不能被其他线程共享

二、 操作系统知识(考点篇)试题_内存管理_11

首先明确是字节还是字长来寻址,题目说了是字长32位,这个后面会用到。位视图每个bit位:0空闲1占用。

磁盘总共300G = 300 * 2^10MB / 4MB = 300* 2^8个物理块,也就是说位视图有300 * 2^8个bit位,32位为一个字,那么300 * 2^8 / 32 =300 *  2^3个字 = 2400个字长。

二、 操作系统知识(考点篇)试题_微内核_12


内核是操作系统的核心部分,它管理着系统的各种资源。内核可以看成连接应用程序和硬件的一座桥梁,是直接运行在硬件上的最基础的软件实体。目前从内核架构来划分,可分为宏内核(Monolithic Kernel)和微内核(Micro Kernel)。



在宏内核架构中,用户服务和内核服务在同一空间中实现。具体一点,就是内核可以代表内核进程运行代码,就是通常的内核进程;当用户进程经过系统调用或者中断进入到内核态时,内核也可以代表它运行代码。宏内核代码耦合度非常高,甚至内核的功能组件代码可以互相调用



二、 操作系统知识(考点篇)试题_内存管理_13


内核管理着所有的系统资源,在微内核中用户服务和内核服务在不同的地址空 间中实现。在应用程序和硬件的通信中,内核进程和内存管理的极小的服务,而客户端程序 和运行在用户空间的服务通过消息的传递来建立通信,它们之间不会有直接的交互,这样一来,微内核中的执行速度相对就比较慢了,这是微内核架构的一个缺点微内核系统结构相当清晰,有利于协作开发;微内核有良好的移植性,代码量非常少;微内核有相当好的伸缩性、扩展性。缺点是性能偏低



二、 操作系统知识(考点篇)试题_信号量_14

总结:宏内核把用户服务和内核服务集成在一起了,代码耦合度非常高,甚至内核的功能组件代码可以互相调用,所以运行程序比较快,但是不能协作开发、移植性、扩展不好等等;微内核是把用户服务等这些功能剔除在内核外,程序运行不能直接相互调用,是通过消息传递来的,这样运行就没那么快了,但是移植性、扩展性、协作性、更好,结构也清晰等

二、 操作系统知识(考点篇)试题_操作系统_15

页大小4KB,2^12,有12位是页内偏移。0010000000000100,有16位,从右侧数12位是页内地址,剩下的高位就是页号:0010,而且图给出了逻辑页号是2,还指向了页表物理110,所以物理地址:110 000000000100,因为页号不够4位前面拼上个0:  0110 000000000100。A

二、 操作系统知识(考点篇)试题_操作系统_16

计算机内存管理有多种管理算法,从发展历史看,内存管理经历了固定分区、非固定分区、页式、段式和段页式等方法,当前较流行的是段页式内存管理。
页式内存管理:其核心是将虚拟内存空间和物理内存空间皆划分成大小相同的页面,并以页面作为内存空间的最小分配单位。一个程序的一个页面可以放在任意一个物理页面里。
段式内存管理:其核心是将一个程序按照逻辑单元分成多个程序段,每一个段使用自己单独的虚拟地址空间。采用段页表来进行管理。比如编译器可以将一个程序分成5个虚拟空间,即符号表、代码段、常数段、数据段和调用栈。

段页式内存管理:先分段,然后段内再分页,用段页表来管理。
因此,选项A的管理方法属于分区式管理;选项B的管理方法属于页式管理;选项D的管理方法属于段式管理;只有选项C的管理方法属于段页式管理。
 

二、 操作系统知识(考点篇)试题_微内核_17

4kb = 2^12b,12位页内偏移,十六进制一位对应4位二进制,所以5148的后三位正好是12位,那么5就是逻辑地址的页号,查表逻辑5对应物理页3,物理地址是3148H。

4kb=4096b,从0开始一直到4095,共4096个空间,要表示0---4095这4096个数需要二进制位12位的才能表示出来。

这里有个计算机二进制位数能表示的十进制数据的范围:

在计算机中要用二进制表示数,若你有n位,那只能表示2^n个数。
如我有3个二进制位,那我能表示的数为:2^3=8
000---0
001---1
010---2
100---4
011---3
101---5
110---6
111---7

淘汰页号原则:先淘汰未被访问的,都访问过再淘汰未修改过的。选B

二、 操作系统知识(考点篇)试题_内存管理_18

二、 操作系统知识(考点篇)试题_操作系统_19

二、 操作系统知识(考点篇)试题_操作系统_20

参考:【OS笔记 7】进程控制块PCB详解_pcb的组织方式有哪几种

二、 操作系统知识(考点篇)试题_微内核_21

二、 操作系统知识(考点篇)试题_微内核_22

二、 操作系统知识(考点篇)试题_信号量_23

选C

二、 操作系统知识(考点篇)试题_微内核_24

二、 操作系统知识(考点篇)试题_内存管理_25

经典题,再做一遍。

首先磁盘索引块和数据块大小一样均为4kb,地址项是4b,所以索引块能表示2^10个地址项。

iaddr[0]~iaddr[5]直接地址,iaddr[6]一级间接,1024个数据块所以4+1024=1028(或者5+1024-1),

iaddr[7]二级间接,1024*1024个数据块,1028+2^20

所以最大文件长度是5+1024+1024*1024 = 6+1024+1048576 = 1049606,6一级间接、520一级间接,1030二级间接

第一问错误的原因是1049606是多少个索引项,而每个索引项指向的是一个4kb的数据块,所以需要1049606 * 4=4198242

二、 操作系统知识(考点篇)试题_微内核_26

二、 操作系统知识(考点篇)试题_信号量_27

首先剩余张数这个一旦进入判断就要锁住,不能被其他用户再执行判断处理,所以,初始化S=1,当前用户申请资源s=s-1,s=0,第二个用户申请s=s-1,s=-1了,所以等待。a是申请资源所以是p(S)、不管票够不够最后都要释放资源V(S)

二、 操作系统知识(考点篇)试题_内存管理_28

二、 操作系统知识(考点篇)试题_内存管理_29

二、 操作系统知识(考点篇)试题_微内核_30

死锁的4个条件:1.互斥  2.请求与保持  3.不可波段  4.环路等待。选B

二、 操作系统知识(考点篇)试题_微内核_31

光看图就能猜出啦B和D

二、 操作系统知识(考点篇)试题_操作系统_32

二、 操作系统知识(考点篇)试题_微内核_33

经典题,再做一遍。

索引块=数据块 =1kb,索引项4b,所以一个索引块有2^10 / 4 = 2^8个地址项。

0~5,直接索引,大小是6 * 1kb

iaddr[6]是一级间接,也就是说有个256个地址项,5+256=261,即6~261是一级间接,存储大小是256 * 1kb

iaddr[7]二级间接,有256*256个地址项,261+256*256=65797,即262~65797二级间接,存储大小是65536*1kb

最大存储是 6kb+256kb+65536kb=65798kb

所以0直接索引、260是一级索引、518二级索引;最大存储是65798 . A和D

二、 操作系统知识(考点篇)试题_内存管理_34

二、 操作系统知识(考点篇)试题_内存管理_35

十进制转其他进制(K)方法:除k取余法(k是要转的进制),直到商为0,然后余数倒叙。如十进制转二进制

1111 / 2 = 555——1;555/2=277——1;277/2=138——1;138/2=69——0;69/2=34——1

34/2=17——0;17/2=8——1;8/2=4——0;4/2=2——0;2/2=1——0;1/2=0——1

10001010111

页大小512,2^9,页大小有9位,所以右侧数9位为页内地址位数,页号是10;8421法得出10的十进制是2,所以逻辑地址1111的逻辑页2号页,对应的物理页是4。

都共享了那肯定都是8

二、 操作系统知识(考点篇)试题_信号量_36

思路:

1.首先前驱图涉及到信号量的,每条线就是一个信号量

2.从上到下从左到右编号信号量,大胆假设小心求证编号的信号量对不对.

如下假设:

二、 操作系统知识(考点篇)试题_微内核_37

1.P1执行完成释放两个信号量,S1和S2,至于哪条是S1哪条是S2先假设,后面再求证。这一步可判断B和D排除.

2.P2执行需要两个信号量,根据选项判断C正确,且P2执行万需要释放一个信号量

3.P3执行需要1个信号量,同时释放2个信号量,所以B和D排除

4.P4执行需要2个信号量,所以C排除

答案是C 和A