操作系统概述

一、操作系统基础

操作系统位置

 操作系统作用

二、进程

进程是操作系统中可以并发运行、分配资源的基本单位。

进程是运行中的程序,是程序在某个数据集合上的一次执行过程具有并发性和动态性。

从静态角度看,进程实体是由进程控制块(PCB)、程序段、数据空间三部分组成的。

用户可以通过接口调用进程控制原语实现进程的建立、撤销、阻塞、唤醒等。

时间片轮转、阻塞或唤醒只能改变进程的状态,不能控制进程的产生与终止。

运行的进程会随着作业运行正常和不正常结束而撤销。

进程三态

进程五态 

多道程序特征

多道:内部同时存在多道互相独立的程序

宏观并行:同时进入系统的程序都处于运行状态并未完成

微观串行运行:各作业交替使用CPU

调度算法
先来先服务(FCFS)

是最简单的调度算法,有利于长进程不利于短进程,利于CPU繁忙型作业(多CPU计算少输入输出),不利于I/O繁忙型作业(少量CPU计算大量输入输出)

进程的同步与互斥

互斥:

        在同一时刻,只允许某一个进程使用资源,同一个资源不能同时服务于多个进程。进程互斥主要源于资源共享,是进程之间的间接制约关系。

例如:

        单人独木桥,在同一时刻桥只服务于一人,同一时刻只允许一人通过,其他人只能等待他通过之后才能逐个继续通过。

与互斥相反的是共享:

        例如:过街天桥,同一时刻可通过多人,同一时刻可以服务于多个进程

同步:

        速度有差异,在一定情况下停下等待。进程同步主要源于进程合作,是进程之间的直接制约关系。

例如:

        张三和李四同时从A点到B点,相同地点相同路径,张三骑车,李四走路,明显张三速度要快于李四,等差距较大时,张三停下等等李四两人一起到达。

实例:

        讨论下图哪里存在互斥哪里存在同步

互斥情况: 

        单缓冲区,同一时刻只允许一人(生产者或者消费者其中一个人)进行操作,一次只能存放一个物品,满足在同一时刻,只允许某一个进程使用资源,同一个资源不能同时服务于多个进程。此为互斥。

同步情况:

        单缓冲区只能放入一个物品,生产者放入一个物品后不能继续放入第二个,需等消费者将物品拿走之后才能继续放入,满足速度有差异,在一定情况下停下等代,此为同步。

同步情况:

        多缓冲区能放入多个物品,生产者放满之后不能继续存放,需等消费者将物品拿走之后才能继续放入,满足速度有差异,在一定情况下停下等代,此为同步。

综上:同步与互斥在同一题目中可能同时存在。

抢先式多系统任务

抢先式多系统任务中,任何时刻CPU总是分配给优先级最高的作业。

例如:

作业P1:输入输出30ms,CPU10ms,输入输出30ms,CPU10ms;

作业P2:输入输出20ms,CPU20ms,输入输出40ms;

作业P3:CPU30ms,输入输出20ms;

三个作业的优先级 P1>P2>P3 运行时CPU的流转方式为:

作业P1、作业P2首先进行输入输出,此时作业P3占用CPU,运行20ms后,作业P2输入输出完毕抢用CPU,作业P3暂停;

作业P2抢占CPU运行10ms之后,作业P3输入输出完毕,抢占CPU,作业P2中止;

作业P1抢占CPU运行10ms后进行输入输出释放CPU,此时作业P2占用CPU运行未完成的10ms;

作业P2运行10ms后进行输入输出释放CPU,作业P3占用继续运行未完成的10ms;

PV操作

临界资源:

        诸进程之间需要以互斥方式对其进行访问的共享资源,如打印机,或上述问题中的独木桥;

临界区:

        临界区是代码段,是每个进程中访问临界资源的那段代码

信号量:

        存在于PV进程内部的一种变量,例如下面的变量S

P操作和V操作流程

 PV操作例题:

 题目中如果引入PV操作在运作的过程中极易出错:(单缓冲区只能存放一个产品)比如:

        若生产者进程先运行,生产者持续生产产品并送到单缓存区,而消费者还未消费此时生产过多造成单缓冲区溢出;

        若消费者进程先运行,消费者从缓冲区 取产品进行消费,此时生产者尚未生产,进程会出错

 

PV操作的作用:

        是解决某些并发进程中间某些约束(例如:先后等)。

例题:

 在此类题目考察PV操作的应用,那么切入点一般是PV操作的作用(某些并发操作之间的约束关系)答案:AC

因此从并发操作之间的约束关系入手可看出:

        付款操作购书者进程无法独立完成,收费动作也不能由收银员独立完成,所以二者之间存在配合或交互等约束关系;

        收银员进程只能是等待购书者唤醒之后才能进行收银操作,在未唤醒时只能处在阻塞状态,所以b1出应该是P操作阻塞后续收费流程;

        付款操作购书者不能独立完成,因此到此步骤之后需要购书者唤醒收银员,唤醒需要用到V操作,所以a1处应该是V操作;

        唤醒收银员之后,购书者需要等待收银员完成收银进程再进行下步操作;

        因此a1处唤醒收银员之后需要立即阻塞购书者进程a1操作之后的操作,所以a2此处应该用P操作完成阻塞动作;

        收银员流程完成收费操作之后需要唤醒被阻塞的购书者进程,使购书者进程继续运行付款之后的操作,所以b2处应该用V操作来唤醒购书者进程;

关系(同组PV操作相同信号量)

        购书者流程中a1处V操作唤醒的是收银员流程中b1处被P操作阻塞的操作,所以a1,b1为是一组PV操作,运用相同信号量;

        收银员流程中b2处V操作唤醒的是购书者流程中a2处P操作被阻塞的操作,所以a2,b2为是一组PV操作,运用相同信号量;

前驱图

将不分前后的进程同步进行,形成前驱图

PV操作与前驱图

        用PV 操作对前驱图中的操作进行先后限制 

PV操作对前驱图中进程的影响:

        P操作的阻滞功能一般作为“锁”来限制某项进程,使其在解锁之后才能运行;

        V操作的唤醒功能一般作为“钥匙”来解锁某项进程;

        例如右侧图中,先运行D是无法运行的,需要先运行ABC进程之后用其进程末尾的V(A),V(B),V(C)唤醒对D进程中的P(A),P(B),P(C),对其进行解锁之后才能运行D进程,进而解锁E进程

在前驱图与PV操作结合的题目中,一般主要考察PV操作对前驱图中各项进程的锁定与解锁;

例子:


 

此题考察前驱图中PV操作的锁定与解锁,答案:CAA

首先应对进程P4,P5用P操作进行锁定,使其只能在进程P3执行完毕之后运行V操作解锁之后才能运行;

在进程P3后设立V进程,使P3运行完毕之后可以用V进程解锁P4,P5;

再对进程P3用P操作进行锁定;使其只能在P1,P2进程均执行完毕之后才能运行;

在P1,P2进程之后设立V操作,用来解锁P3进程的锁定;

所以题目中

进程P1后a处应是V(P1);用来解锁进程P3执行前c处的P(P1);

进程P2后b处应是V(P2);用来解锁进程P3执行前c处的P(P2);

进程P3执行后的d处应是V(P4),V(P5)用来解锁进程P4,P5执行之前e,f处的P(P4),P(5);

另:此类题目中如有多个信号量,如此题中的S1,S2,S3,S4;其分布顺序一般为     左-->右;上-->下;

所以:

a-->V(S1);        b-->V(S2);        c-->P(S1),P(S2);        d-->V(S3),V(S4);        e-->P(S3);        f-->P(S4);

 三、死锁

        如果系统资源有限而多个进程分配不当则会产生死锁问题。

例题:

例如上述题目中,若只有5个系统资源;

        若将5个系统资源先分配给进程A,等A执行完毕空出5个系统资源之后再分配给进程B,B执行完后再分配给C,如此逐个执行则不会发生死锁问题;

        若将5个系统资源分配给进程A2个,再分配给进程B2个,剩余1个系统资源分配给C,此时3个进程都缺少系统资源无法运行,且3个进程都因为未运行完毕而无法让出系统资源,此时进程在等待分配系统资源,而5个系统资源都已经分配,没有多余的系统资源可以分配,此时的进程持续等待,这便是死锁。

题目中问,至少需要多少个系统资源才不可能发生死锁。

        此时,若有13个系统资源,A4个,B4个,C4个,剩余的一个随便给哪个进程都能使进程运行,或者A5个,B5个,C3个,等AB运行完之后空余出系统资源C一样可以运行,所以最少需要13个系统资源。

公式:

由此可见,求至少有多少个系统资源才不会发生死锁问题的公式为:

        进程个数*(单个进程运行所需的系统资源个数-1)+1;

死锁的形成条件:

互斥:

系统资源是互斥的,同一系统资源在同一时间内只允许一个进程使用。

保持和等待:

各个进程会保持自己现在所持有的资源,并且等待更多的资源给自己。

不剥夺:

系统不会把已经分配给其他进程的资源剥夺回来重新分配。

环路等待:

死锁的预防和避免

死锁的预防:

打破上述死锁形成四大条件

死锁的避免:

1.有序的资源分配:

        将资源逐个分配给各个进程,运行完毕之后收回再分配,往往资源利用率很低

2.银行家算法:

        以银行放贷的思路来做资源分配,放资源之前首先思考是否可以收回来,收不回来便不放。

银行家算法:

分配资源的原则:

        一个进程对资源的需求量不大于系统中总资源数时可接纳该进程;

        进程可以分期请求资源,但总数仍不能超过最大需求量;

        当系统现有资源不足以满足进程尚需资源数时,可对进程的请求推迟分配,但总能使进程在有限时间内得到资源;

例题:

系统状态安全即没有死锁状态发生

答案:B

首先需求得资源 R1、R2、R3 剩余的资源数

R1=9-(1+2+2+1+1)=2

R2=8-(2+1+1+2+1)=1

R3=5-(1+1+3)=0

其次求得各进程执行完毕尚需的资源数

资源最大需求量已分配资源数还需资源数
进程R1R2R3R1R2R3R1R2R3
P1652121531
P2221211010
P3811210601
P4121120001
P5344113231

若进程P1首先运行:则资源R1、R2、R3剩余量不满足该进程尚需资源量,会发生死锁;

 若进程P2首先运行:则3类资源剩余量均满足该进程尚需资源量,可以运行;

 若进程P3首先运行:则资源R1、R3剩余量不满足该进程尚需资源量,会发生死锁;

若进程P4首先运行:则资源R3无剩余不满足该进程尚需资源量,会发生死锁;

若进程P5首先运行:则资源R2、R3剩余量不满足该进程尚需资源量,会发生死锁;

因此只能进程P2首先运行,R2运行完毕后归还资源,此时资源分配表为:

资源最大需求量已分配资源数还需资源数

当前剩余资源数

(原剩余-P2所需+P2归还)

进程R1     R2     R3R1     R2     R3R1     R2     R3R1     R2     R3
P16        5        21        2        15        3        14        2        1
P22        2        10        0        00        0        0
P38        1        12        1        06        0        1
P41        2        11        2        00        0        1
P53        4        41        1        32        3        1

 由上表可知,此时运行进程P4、P5均不会发生死锁,但一优先般运行下标小的进程,所以运行P4进程;

资源最大需求量已分配资源数还需资源数

当前剩余资源数

(原剩余-P4所需+P4归还)

进程R1     R2     R3R1     R2     R3R1     R2     R3R1     R2     R3
P16        5        21        2        15        3        15        4        1
P22        2        10        0        00        0        0
P38        1        12        1        06        0        1
P41        2        10       0        00        0       0
P53        4        41        1        32        3        1

 由上表可知,此时运行进程P5不会发生死锁,所以运行P5进程;

资源最大需求量已分配资源数还需资源数

当前剩余资源数

(原剩余-P5所需+P5归还)

进程R1     R2     R3R1     R2     R3R1     R2     R36        5        4
P16        5        21        2        15        3        1
P22        2        10        0        00        0        0
P38        1        12        1        06        0        1
P41        2        10       0        00        0       0
P53        4        40        0       00        0       0

此时再运行P1然后运行P3。

此类题目运算步较为零散,极易出错,若有空余时间当走走其他选项是否能走通 

四、存储组织

 分区存储组织 

        存储区域除了给系统用,还有一部分是给用户程序使用的,给用户程序使用的空间原本是一大块连续的空间,当用户有程序需要空间运行时,系统会把需要的内存大小提交到分配组织里面去,然后给他分配所需要大小的内存。

例如:

        某计算机内存大小为128K,采用可变分区分配方式进行分配内存,当前系统内存分块情况如下图所示,现有作业4申请内存9K,按照几种不同的存储分配算法分配。

分配前:

 首次适应算法分配:

 最佳适应算法分配:

最差适应算法分配:

 

循环首次适应算法分配 :

 

 页式存储组织

        上述分区存储组织,是将整个程序直接调入内存,适用于占用小块内存的运行程序;

        页式存储组织是将所需内存大的程序拆分成等分大小的小程序,称作页,将内存也分成对应大小的块,将程序页调入内存块中运行,另需要一个页表来记录用户程序页和内存块一 一对应的映射关系,此存储组织适用于需要较大内存的程序,使用此方法甚至能运行大于内存总量的程序。

注:页号和块号可以相等也可以不相等,没有严格要求,但是绝大多数时候是不相等的。 

页式存储组织优缺点:

优点:

利用率高,碎片小,分配及管理简单。

缺点:

使用页表对应用户程序页与内存块之间的映射关系,运行时需要从页表中查找,增加了系统开销,可能产生抖动的现象。

逻辑地址与物理地址:

一般考察逻辑地址和物理地址互化。

高级语言程序使用逻辑地址;运行状态、内存中使用物理地址;

逻辑地址和物理地址都是由页号和页内地址组成的

逻辑地址与物理地址的页内地址是相同的,但是物理地址的块号,是逻辑地址的页号所对应的块号,可能相等也可能不等。

例题:

 题目中给予逻辑地址5A29H(地址中的H一般忽略不计,相当于单位不纳入计算),需计算其物理地址;

首先将逻辑地址的页号和页内地址分离,逻辑地址的页内地址=物理地址的页内地址;

分离过程:

        题目中页面大小是4K,4K化为二进制是2^{12},即需12位二进制数表示,题目中的地址5A29H是十六进制,12位二进制化为十六进制是3位,高出3位的就是页号,所以页面地址是A29,同时可得页号是5,页号5所对应的页帧号(块号)是6,即物理地址是6A29H(选项D)。

进程P想要访问的页面4不存在,

        则需要将进程的页面4调入内存当中,而此时应当从现在占有内存的几个页面中挑一个未访问的丢出去。也就是只能从页号0125中挑一个未访问的扔出去,页面0125中未访问的只有页面1,所以应该淘汰页号为1(选项B)的页面。

段式存储组织

页式存储是将程序划分为固定大小的页,所有页的长度都相等;

而段式存储是将程序按逻辑结构划分为未必相等的段

比如:将一个程序划分为段式:将main函数划分为一个段,每个子函数划分为一个段。

段式存储优点:

多道程序内存共享,各段程序修改互不影响;

段式内存缺点:

内存利用率低,内存碎片浪费大;

段表:

段式存储同样需要段表来记录段与内存的映射关系:

段表的内容包含:

段号:

所划分的段的序号;

段长:

划分的这一段的地址是多大

基址:

基地址即此段的开始地址是多少

地址结构:

段页式存储组织:

段式存储和页式存储的结合,先分段,段内分页;

优点:

        空间浪费小,存储共享容易,存储保护容易,能动态连接;

缺点:

        管理软件的增加,复杂性和开销也随之增加(先查段号,再查页号等等操作),需要的硬件及占用的内容也有所增加,执行速度下降。

快表:

        快表式一块小容量的相联存储器(按内容存取),由高速缓存器组成(在Cache里面),速度快效率高,一般用来存放当前访问最频繁的少数活动的页面的页号。

        相对应来讲,如果将段表页表等放入内存当中则称之为慢表

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

        页面置换算法又称页面淘汰算法,主要应用于在存储体系当中,进程所需内存大于所分配的内存

例如:1个进程分成了100页,但是系统分配给他的内存块只有5个。

        此时进程在运行中如果内存块被占满,而所需要的进程页又不在内存块体系中,则需要先丢出一个不用的页,再调入所需的页,此称之为页面淘汰(页面置换)。一般有以下4种淘汰方式:

最优算法(OPT):

        往往存在于理论层面,在整个进程发生之后,根据序列分析计算来对比多种方法来得到的,不同进程不同算法,不固定无特点,不适于直接使用,适用于后期优化改进(基本不考)。

随机算法(RAND):

        即字面意思,随机淘汰一个,性能是不稳定的,(没啥好考的也不怎么考)。

先进先出(FIFO):

        先进入内存块体系的先淘汰可能产生抖动。

上方2表比较可知,第2个表中,系统给该进程多配备了一块资源反而造成缺页增多,此现象称之为抖动。

最近最少使用(LRU):

        最近使用频率由高到低排列,淘汰最近使用频率最低的,不会发生抖动。

先进先出算法与最近最少使用算法比较:

 例题:

系统中没有使用快表的意思是,将页表全部放入了内存中。

程序运行的过程:

        首先获得系统给分配的内存资源块,当程序开始运行时,此时内存块中是空的,系统需要将运行所需的程序页不断调入内存块,直到内存块被占满,此时程序运行如果需要调用程序页存在于内存块时,需要先到页表中查阅所需程序页对应的内存块位置,然后再去内存中调用程序块,如果查阅完毕未找到所需的程序块,则需要用到页面淘汰中的算法,淘汰当前不用的程序页面,然后调入所需的程序页继续运行,程序每一次因为内存中缺少程序页停止称为缺页中断,缺页中断需要从外部将程序页调入内存,如果一个程序页占用了两块内存,则系统调用完一个内存块之后会停止,产生一次缺页中断,然后再继续调用下一个内存块中的该程序页内容,因此会产生两次缺页中断,依次类推直到程序运行结束。

        系统中程序划分为6个页面,由题可知此时程序块已经全部放入内存中,每次访问一个内存块需要先访问页表确定块的位置,然后再访问内存块,每一页都是如此,共分为6页,所以需要访问12次内存。

注:约定俗成,程序的指令不论分成几个块,都是一次性调入,产生一次缺页中断。

        如果需要运行swap指令,运行时发现该指令不在内存中,首先需要将指令本身调入内存中,此为一次缺页中断,而程序的指令不管分成几块都是一次性调入内存的,所以只产生这一次缺页中断;

当需要操作数A时,运行发现A不在内存中需要将其调入,此为一次缺页中断,然后读取完当前内存块发现并没有完整地读完A的全部内容,仍然无法运行程序,需要再次将A的另一部分调入,此为第二次缺页中断。

需要操作数B时也是产生两次操作中断。

所以一共会产生5次操作中断。

六、索引文件结构

        索引文件结构本身的容量非常有限,但是他引入了一种扩展机制,即一级间接索引、二级间接索引等扩展方式来进行容量拓展。索引文件结构中,使用间接索引扩展内存容量的同时,其查询速度也会相应减慢。

默认索引文件结构

        默认标准索引节点一般是0-12号共13个节点,0-9为直接索引,10为一级间接索引,11为二级间接索引,12为三级间接索引。如果不使用默认结构则应该说明节点数量及各级索引构成。

 例题:

        注:物理块是只内存中实际存在的内存块,物理块号就是实际内存的序号;逻辑块号是人给内存块取的名字。

答案:CD 

逻辑块号从0开始编号,5号逻辑块对应的物理块号是58;

已知地址大小是4字节,数据块和索引块的大小是1K,1K=1024B,那么一个数据块可以存放1K/4B=256个地址;

90号物理块和91号物理块采用一级间接索引地址,其中存放的地址对应的物理块是新的索引节点;

90号物理块有256个地址分别对应256个逻辑块;同样91号物理块有256个地址分别对应256个逻辑块;

已知直接地址索引对应了5个逻辑块分别是0-4号;90号是一级间接地址索引,对应256个逻辑块,应该是5-260号;

所以261号逻辑块应该在91号一级间接索引地址对应的256个逻辑块中的第一个即261号物理块;

101号物理块是二级间接索引地址,所以101号物理块中存放的应该是二级地址索引表;

树形目录结构

绝对路径:是从最顶端盘符开始

相对路径:从当前路径开始

例如:当前为D1要求F2的路径

绝对路径:/D1/W2/F2(从最顶端盘符/一直写到所求F2)

相对路径:W2/F2(当前是D1则直接从D1的下一级往下写到所求F2)

如上面提到的索引文件结构等类似情况,一次访问可能要经过多次间接查询才能找到最终文件。如果树形目录结构很大的情况下不仅耗时对I/O系统也有压力,为此引出“当前目录”即相对路径,从当前目录开始直接去向待查文件。

七、空闲存储空间的管理

        在存储空间内,部分空间被占用,仍有部分空间没被占用,这些没被占用的空间需要集中管理起来,以方便系统申请空间时可以合理分配,此为空闲存储空间的管理。

管理方法: 

空间存储空间的管理有以下四种方法:

空闲区表法

又称空闲文件目录,是指用一张表把空闲的存储空间记录下来

空闲链表法

将空闲区链起来,形成一个链,等系统申请空间时可以按需分配

成组链接法

将空闲的存储空间即分组又分链

位示图法

(四种方法中考察频率高)

画图表,用1表示该内存区域已被占用,0表达的区域还是空闲的

位示图法

(四种方法中考察频率高)

画图表,用1表示该内存区域已被占用,0表达的区域还是空闲的

 例题:

答案:DB

 由题知,字长是32位,每一位对应一个物理块;

注:约定俗成,字从1开始计数,首个字便是第1个字,物理块(位置)是从0开始计数,首位或者首个物理块是第0号,32位是0-31号物理块

        第4195号物理块实际上是第4196个物理块,4196/32=131.125表示已经超出了第131个字,因此此时的位置应该是第132个字。

        每个字32位,131个字总共131*32=4192位,位是从0开始计数,所以第131个字的最后一位的序号是4191,第132个字的位数分别是:

第132个字的位置0123456......31
第132个字的位置所对应的物理块号4192419341944195419641974198......

因此4195号物理块对应的是第132个字的位置3,而将4195号物理块分配给某文件说明4195号物理块需要被占用,位示图法中,用1表示已被占用,用0表示尚未占用,所以4195号物理块即第132个字的位置3应该是改为1。

八、数据传输控制方式(I/O控制方式)

数据传输控制方式是指内存和外设的数据传输控制问题。

I/O设备与CPU之间的数据传送控制方式有4种:

控制方式特点缺点
程序直接控制(程序查询)适用于简单、外设很少的计算机系统,是CPU介入最多的方式,外设不对传说过程产生反馈,需要CPU去查询是否传输完毕耗费大量CPU时间,无法检测设硬件设施发生的错误,设备之间只能串行工作
中断控制适用于简单、外设很少的计算机系统,外设传输完毕之后自动中断CPU仍需要花费较多时间处理中断,处理中断期间其他并行设备也会受到影响,过多中断容易导致数据丢失
DMA外设与内存直接传输数据,传输期间由DMA控制,传输结束时才会向CPU发出中断请求,CPU接收后继续后续工作要求CPU启动驱动设备、给出存放数据的地址、操作方式、传送字节长度等
通道

外设与内存直接交换数据,一段数据传输结束时才会向CPU发出中断请求

CPU发出I/O启动命令之后,通道自行完成启动驱动设备、读取存放数据的地址、操作方式、传送字节长度等工作

通道分为字节多通路传输和选择通路传输,区别如下: 

 九、虚设备与SPOOLING技术

例如:

        ABC3台电脑公用一台打印机,当A正在打印时如果B提交打印申请会被驳回,或无法提交上,过会再提交时可能A还没打印完,再等会提交时可能C正在打印了,B还是无法打印,所以不能充分高效的进行顺序打印,因此引入SPOOLING技术。

        SPOOLING技术是指,在打印机正在打印时如果提交过来打印任务,则会将任务会自动存入输入井,等正在进行任务完成后,输入井中的任务会按序进行打印。

虚拟内存实际上是一个基于局部性原理的地址空间,采用调用、置换将内存和外存统一管理,虚拟容量取决于计算机的地址结构和外存容量。 

十、微内核操作系统

 微内核操作系统对应的是单体内核操作系统;

        单体内核操作系统是将需要处理的东西整个全部放入内核中,如此庞大的内容处在内核中,一旦任何一部分出现问题整个系统都会崩溃,需要重新启动;

        而微内核操作系统是只将最重要的一小部分放入内核之中,其他大部分放在内核之外,此时,只有当内核中这一小部分出现问题是系统才会崩溃,只需要重启这一小部分即可,其他部分出现问题系统都不会崩溃;

实质优点缺点
单体内核将图形、设备驱动、文件系统等功能全部放在内核中实现,运行在内核状态和同一地址空间减少进程间通信和状态切换的系统开销,获得较高额运行效率内核庞大、占用资源较多且不易剪裁,系统的稳定性和安全性不高
微内核只实现基本功能,将图形系统、文件系统、设备驱动系统及通信功能放在内核之外内核精炼,便于剪裁和转移,系统服务程序运行在用户地址空间,系统的可靠性、稳定性和安全性较高,可用于分布式系统用户状态和内核状态需要频繁切换,从而导致系统效率不如单体内核

核心态和用户态

        微内核操作分为核心态和用户态,核心态就是微内核系统的内核之内的部分,用户态就是微内核系统的内核之外的部分;

用户态中的内容出现问题会比较容易解决,核心态中的内容出现问题会比较难处理,用户态和核心态之间存在频繁的交互。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值