《系统架构师》——操做系统和硬件基础

考点通常分布在如下几个部分,考分在3~5分左右。算法

 

 

 

 

 

 

 

 

 

 

 

 

产生死锁的缘由主要是:
(1) 由于系统资源不足。
(2) 进程运行推动的顺序不合适。
(3) 资源分配不当等。
安全

产生死锁的四个必要条件:
(1) 互斥条件:一个资源每次只能被一个进程使用。
(2) 请求与保持条件:一个进程因请求资源而阻塞时,对已得到的资源保持不放。
(3) 不剥夺条件:进程已得到的资源,在末使用完以前,不能强行剥夺。
(4) 循环等待条件:若干进程之间造成一种头尾相接的循环等待资源关系。
这四个条件是死锁的必要条件,只要系统发生死锁,这些条件必然成立,而只要上述条件之
一不知足,就不会发生死锁。
分布式

 

有序资源分配法和银行家算法都是能够避免死锁的算法。spa

有序资源分配法:操作系统

  将资源按某种规则系统中的全部资源统一编号(例如打印机为一、磁带机为二、磁盘为三、等等),申请时必须以上升的次序。3d

系统要求申请进程:  blog

  一、对它所必须使用的并且属于同一类的全部资源,必须一次申请完;  索引

  二、在申请不一样类资源时,必须按各种设备的编号依次申请。进程

例如:进程PA,使用资源的顺序是R1,R2;进程PB,使用资源的顺序是R2,R1;若采用动态分配有可能造成环路条件,形成死锁。  ci

采用有序资源分配法:R1的编号为1,R2的编号为2;  

PA:申请次序应是:R1,R2  

PB:申请次序应是:R1,R2  

这样就破坏了环路条件,避免了死锁的发生。

 

 

银行家算法:

  以银行借贷系统的分配策略为基础,判断并保证系统的安全运行,只分配给可以当即执行完并返还资源的进程。

  以下,分配资源给那些可以完成任务的进程,当任务完成后当即回收其全部资源(包括以前已分配的资源)

 

页式存储,是离散存储方式的一种,每页的大小是相同的。逻辑地址由页号+页内地址组成,物理地址由块号&块内地址组成。页的大小和块的大小是相同的,所谓的页内地址和块内地址其实就是相对本页或本块的偏移地址,与逻辑地址对应的物理地址,其偏移量也必须相同。

给出一个逻辑地址、页大小和页表,就能够计算出相对应的物理地址:根据页大小将逻辑地址分红页号和页内地址两部分(页大小其实就是页内地址的大小),而后查页表,根据页号查到对应的物理块号,再将物理块号&页内地址(等同于块内地址)便是对应的物理地址。

 

 

段式存储与页式存储的区别是,段式存储的段长是不固定的,它是按程序的结构来分段的。段内地址表示相对基址的偏移地址。

逻辑地址由段号&段内地址组成,物理地址由基址+段内地址组成。给出一个逻辑地址、段大小和段表,就能够计算出相对应的物理地址,计算过程与页式基本相同,但须要注意的是,经过段号找到基址后,基址自己是一个完整的地址,是直接加上段内地址得出物理地址,而不一样于页式的拼接。

 

段页式存储,会增长一个快表,通常将其存储在调整存储器中,是按内容进行存取的。

逻辑地址分为三部分:段号、段内页号、页内地址,物理地址由块号&页内地址组成,先根据段号和段内页号找到对应的块号,再由块号&页内地址便是物理地址。

 

通常是13个索引结点,从0开始

 

 

 

 

 

注意图中,越下面的方式,效率越高。程序控制方式又叫程序查询方式,就是轮询方式;程序中断方式,当传输完毕后会主动发送一个中断通知;DMA方式有一个DMA控制器。

 

Spooling技术:开辟一个缓冲区进行排队 

 

 微内核是把用户态的部分从内核中剥离,只保留最为核心的部分做为微内核,这样用户态的部分出现问题不影响内核的稳定,可用于分布式系统。

 

嵌入式操做系统:

 

Flynn分类法: 注意MISD是不实际的。

 

先出现的是复杂指令集,那时候计算机都是定制的;精简指令集是发展通用CPU使用的。如今的x86体系使用cisc是历史遗留问题,表面上接受 cisc 指令,而后经过译码器转化成 risc,底层运行的都是 risc 指令。