软件设计师02-操作系统原理

操作系统

OS的四个基本特征:井发性、共享性、虚拟性和异步性。最基本的特征是并发性和共享性。

《软件设计师02-操作系统原理》

进程管理

主要是对处理机进行管理。为了提高CPU的利用率而采用多道程序技术。通过进程管理来协调多道程序之间的关系,使CPU得到充分的利用。

进程是正在运行的程序实体,并且包括这个运行的程序中占据的所有系统资源,比如说CPU(寄存器),IO,内存,网络资源等。很多人在回答进程的概念的时候,往往只会说它是一个运行的实体,而会忽略掉进程所占据的资源。比如说,同样一个程序,同一时刻被两次运行了,那么他们就是两个独立的进程。

存储管理

存储器管理的对象是主存,也称内存。它的主要功能包括分配和回收主存空间、提高主存利用率、扩充主存、对主存信息实现有效保护。

文件管理

从系统角度来看,文件系统是对文件存储器的存储空间进行组织,分配和回收,负责文件的存储,检索,共享和保护。从用户角度来看,文件系统主要是实现”按名取存”,文件系统的用户只要知道所需文件的文件名,就可存取文件中的信息,而无需知道这些文件究竟存放在什么地方。

设备管理

设备管理是指计算机系统中除了CPU和内存以外的所有输入输出设备的管理。

作业管理

每个用户请求计算机系统完成的一个独立的操作称为作业。作业管理包括作业的输入和输出,作业的调度与控制(根据用户的需要控制作业运行的步骤)。

《软件设计师02-操作系统原理》

进程管理

进程的状态

《软件设计师02-操作系统原理》

三态模型进程的状态:运行、就绪(缺CPU)、等待(缺资源)

由于进程的不断创建,系统资源特别是主存资源已不能满足所有进程运行的要求。这时,就必须将某些进程挂起,放到磁盘对换区,暂时不参加调度,以平衡系统负载;进程挂起的原因可能是系统故障,或者是用户调试程序,也可能是需要检查问题。

五态模型进程的状态:静止就绪、活跃就绪、静止阻塞、活跃阻塞、运行

前趋图

完成一系列活动先后的约束关系

《软件设计师02-操作系统原理》

PV操作

同步与互斥

PV操作首先要了解同步与互斥一个资源同时只能服务于一个进程

《软件设计师02-操作系统原理》

《软件设计师02-操作系统原理》

P操作的动作是:
(1)S减1;
(2)若S减1后仍大于或等于零,则进程继续执行;
(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。
V操作的动作是:
(1)S加1;
(2)若相加结果大于零,则进程继续执行;
(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒等待进程,然后再返回原进程继续执行或转进程调度。
PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。在PV执行期间不允许有中断的发生。
P操作不满足情况会阻塞进程,对应的V操作会唤醒阻塞的进程。

PV操作与前趋图

《软件设计师02-操作系统原理》

死锁问题

《软件设计师02-操作系统原理》

ABC三个进程都需要五个资源,如果是12个,一人分配四个的情况下依然会死锁,如果是13个,则不会发生死锁。因为总有一个会获取全部资源进程执行完后会释放资源。 

解决死锁问题 

《软件设计师02-操作系统原理》

银行家算法

《软件设计师02-操作系统原理》

存储管理

分区存储组织

《软件设计师02-操作系统原理》

页式存储组织

当程序需要分配一个1G的内存时,内存足够,但是内存不连续时,就不能使用分区存储组织。页式弥补了这个缺点。

基础概念:

逻辑地址:是程序编译后,生成的目标模块进行编址时都是从0号单元开始编址,称之为目标模块的相对地址,即为逻辑地址(页号+页内地址)

页:将进程划分的块,对应的大小就叫页面大小。

页框:将内存划分的。页和页框二者一一对应,一个页放入一个页框,(理论上)页的大小和页框的大小相等。

页表:就是一个页和页框一一对应的关系表(页号 – 页帧号)。【存放在内存中】 关系表只是起到一个索引的作用,说白了就是能根据关系表能查到某一个页面和哪一个页框(块号/页帧号)所对应。

《软件设计师02-操作系统原理》
操作两步:

第一次,访问内存中的页表,利用逻辑地址中的页号查找到页帧号(块号),与逻辑地址中的页内地址(偏移)拼接形成物理地址;

第二次:得到物理地址后,再一次访问内存,存取指令或者数据。

1.页面大小 * 2 ^(页表项大小) = 操作系统最大支持内存大小(虚拟内存), 4K * 2^(4B) = 16GB (4K为)
2.页表占用内存 = 操作系统内存/页面大小 * 页表项大小,假设操作系统内存为2GB。 2GB/4KB*4B = 2MB
3.页表占用的页数是=页表占用内存/页面大小,这题同上假设2MB/4K=512个页。

答题的约定成俗

访问内存,先查页表在查块,也就是说访问内存次数是指令+数据块数的二倍。

缺页中断,访问指令时,即使指令占了多个页,也是一次读取完(只能是一次缺页中断),读取数据时占用几个页就是几次缺页中断。

段式存储组织

段式存储结构根据程序来分段(一个main方法一个段,有点类似于JVM的方法区,各个线程共享类信息和常量),每个段大小都不一样(页式存储根据物理空间分页,每页大小一样)。段式存储内存共享(页式存储程序独享内存)。

《软件设计师02-操作系统原理》

段页式存储组织

结合段式存储和页式存储先将用户程序分成若干个段,再把每个段分成若干个页,并为每一个段赋予一个段名。

《软件设计师02-操作系统原理》

页面淘汰算法

《软件设计师02-操作系统原理》

四种算法:

1.最优算法

2.随机算法

3.先进先出(常考)

4.最近最少使用(常考

文件管理

索引文件结构

《软件设计师02-操作系统原理》

上图中有13个索引结点(考试时默认13个结点),假设盘块大小为4k,每个索引地址占4B,

直接索引:索引结点直接对应物理盘块。上图中有十个是直接索引,存储的大小为4k*10=40k。

一级间接索引:10号盘块有4k/4B=1024块(n的大小),所以一级索引的存储总和为4K * 1024。

二级间接索引:1024 * 1024 * 4K

三级间接索引:1024 * 1024 * 1024 * 4K

树型目录结构

《软件设计师02-操作系统原理》

主要考察绝对路径和相对路径

空闲存储空间管理

空闲区表法:用一个表记录空闲区域

空闲链表法:将空闲区域链成一个表

《软件设计师02-操作系统原理》

设备管理 

内存和外设之间的数据的传输控制问题

《软件设计师02-操作系统原理》

程序控制方式:又称程序查找方式,最低级,CPU介入最高。外设无反馈。

程序中断方式:当外设完成数据传输等操作会发出一种中断。

DMA方式:直接存储控制方式。专门的DMA控制器,又这个控制器去管控数据传输,CPU只在开头做一个操作,等完成之后再由CPU接管工作。

通道

输入输出处理机

虚设备与SPOOLING技术

spooling(Simultaneous Peripheral Operation On-Line,即外部设备联机并行操作)技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。

《软件设计师02-操作系统原理》

微内核操作系统

《软件设计师02-操作系统原理》

 

 

点赞

Leave a Reply

Your email address will not be published. Required fields are marked *