导图社区 (一)操作系统概述
操作系统考研408大纲第一章知识整理,主要包括操作系统的概念、操作系统的特征、操作系统的目标与功能等内容,希望对你有帮助!
编辑于2021-10-02 12:08:03(一)操作系统的基本概念
操作系统的概念
操作系统是指①控制和管理整个计算机系统的硬件与软件资源,②合理地组织、调度计算机的工作与资源的分配,进而③为用户和其他软件提供方便接口与环境的程序集合。操作系统是计算机系统中最基本的系统软件
操作系统的特征
并发(Concurrence)
正是系统中的程序能够并发执行这一特征,才使得OS能有效地提高系统中的资源利用率,增加系统吞吐量。
1.并行与并发
并行性:是指两个或多个事件在同一时刻发生
并发性:是指两个或多个事件在同一时间间隔内发生
单处理机系统中,每一时刻仅能有一道程序执行,故微观上这些程序只能是分时交替执行(并发执行),倘若有多个处理机,这些可以并发执行的程序便可被分配到多个处理机上实现并行执行,即利用每个处理机来处理一个可并发执行的程序,这样多个程序便可同时执行
如:在1s内,0~15ms运行A,15~30ms运行B,30~45ms运行C,45~60ms运行D,因此可以说在1s的时间间隔内,有四道程序在同时运行,但微观上,程序A,B,C,D是分时交替执行的
2.引入进程
进程:是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈组成的,是一个能独立运行的活动实体。多个进程之间可以并发执行和交换信息
未引入进程:在属于同一个应用程序的计算程序和I/O程序之间只能是顺序执行,即只有在计算程序执行告一段落后,才允许I/O程序执行
引入进程后:为计算程序和I/O程序分别建立一个进程(Process)后,这两个进程便可并发执行。若对内存中的多个程序都分别建立一个进程,他们就可以并发执行,这样便能极大地提高系统资源的利用率,增加系统吞吐量
共享(Sharing)
在OS环境下的资源共享或称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用。这里宏观上既限定了时间(进程在内存期间),也限制了地点(内存)
1.互斥共享方式
概念:系统中的某些资源如打印机、磁带机等虽然可以提供给多个进程(线程)使用,但是应该规定在一段时间内,只允许一个进程访问该资源。
资源:把在一段时间内只允许一个进程访问的资源成为临界资源(独占资源)。系统中大多数物理设备,以及栈、变量、表格都属于临界资源,都只能被互斥地共享
2.同时访问方式
概念:系统中还有另一类资源,允许一段时间内由多个进程"同时"对它们进行访问。类似并发性质的同时访问
资源:磁盘设备,一些用重入码编写的文件
并发和共享是多用户(多任务)OS的两个最基本的特征。它们又互为存在的条件
一方面资源共享是以进程的并发执行为条件的,若系统不允许并发执行,也就不存在资源共享
另一方面,若系统不能对资源共享实施有效管理,以协调好诸如进程对共享资源的访问,也必然影响到进程间并发执行的程度,甚至根本无法并发执行
虚拟(Virtual)
在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为"虚拟"
1.时分复用技术
(1)虚拟处理机技术:利用多道程序设计技术把一台物理上的处理机虚拟为多台逻辑上的处理机,每台逻辑处理机上运行一道程序,我们把用户所感觉到的处理机称为虚拟处理机
(2)虚拟设备技术:通过时分复用将一台物理I/O设备虚拟为多台逻辑上的I/O设备,并允许每个用户访问的设备(临界资源),变为共享资源(如供多个用户"同时"打印)
2.空分复用技术
虚拟存储器:空分复用技术是利用存储器的空闲空间分区域存放和运行其它的多道程序,以此来提高内存的利用率
单纯的空分复用存储器只能提高内存的利用率,并不能在逻辑上扩大存储容量的功能,还必须引入虚拟存储技术才能达到此目的。
虚拟存储技术本质上是实现内存的分时复用 例如一个100MB的应用程序之所以可以在30MB的内存空间上运行,实质上就是每次只把用户程序的一部分调入内存运行,运行完成后将该部分换出,再换另一部分到内存中运行,通过这样的置换功能,便实现了用户程序的各个部分分时地进入内存运行
异步(Asynchronism)
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底。而是走走停停,以不可预知的速度向前推进,这就是进程的异步性。只有系统拥有并发性,才可能导致异步性
操作系统的目标与功能
操作系统的目标
1.方便性:一个未配置OS的计算机系统是极难使用的。用户如果想在计算机硬件上运行编写的程序,就必须用机器语言书写,但是如果在硬件之上配置了OS,系统便可使用编译命令将用户的高级语言翻译成机器代码,或者直接通过使用OS所提供的各种命令操作计算机系统,极大方便了用户,使得计算机变得易学易用
2.有效性:有效性包含的第一层含义是提高系统资源的利用率,另一层含义是提高系统的吞吐量。OS可以通过合理的组织计算机的工作流程,加速程序的运行,缩短程序的运行周期,从而提高了系统的吞吐量
3.可扩充性:为适应计算机硬件、体系结构和计算机应用发展的要求,OS必须具有很好的可扩充性,近年来OS已广泛采用了微内核结构,能够方便地添加和修改功能和模块,具有良好的可扩充性
4.开放性:所谓开放性,是指系统能遵循世界标准规范,也别是遵循开放系统互连OSI国际标准。凡遵循国际标准所开发的硬件和软件,都能彼此兼容,方便实现互连。
操作系统的功能
1.OS作为用户与计算机 硬件系统之间的接口:
命令方式 (命令接口)
联机命令方式 (交互式命令接口)
适用于分时或实时系统的接口
用户输入一条指令,操作系统就解释并执行该指令,强调了交互性
“雇主”说一句话,“工人”做一件事,并作出反馈
脱机命令方式 (批处理命令接口)
适用于批处理系统
用户输入一组作业控制命令,操作系统中解释执行的作业说明书上的命令,从而间接地控制作业的运行
“雇主”把工人要做的事情写在清单上,“工人”按照清单命令逐条完成这些事
程序接口
由一组系统调用(也称广义指令)组成
用户通过在程序中使用这些系统调用来请求操作系统为其提供服务,如使用各种外部设备、申请分配和回收内存以及其他各种要求
图形用户接口
图形接口不是操作系统的一部分,但图形接口所调用的系统调用命令是操作系统的一部分
2.OS作为计算机系统资源的管理者:OS的主要功能是对处理机、存储器、I/O设备和文件(数据和程序)这四类(软硬件)资源进行有效的管理。
处理机管理是用于分配和控制处理机
存储器管理主要负责内存的分配和回收
I/O设备管理是负责I/O设备的分配(回收)与操纵
文件管理是用于实现对文件的存取、共享和保护
3.OS实现了对计算机资源的抽象:OS首先在裸机上覆盖一层I/O管理设备软件,实现了对计算机硬件操作的第一层次抽象;在第一层软件上再覆盖文件管理软件,实现了对硬件资源操作的第二层次抽象。OS通过在计算机硬件上安装多层系统软件,增强了系统功能,隐藏了对硬件操作的细节,由他们共同实现了对计算机资源的抽象。 OS是铺设在计算机硬件上的多层软件的集合,他们不进增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型
虚机器/扩充机器:它向用户提供了一个对硬件(下层)操作的抽象模型。用户可以利用该模型提供的(上层)接口使用计算机,无需了解物理(下层)接口实现的细节,从而使用户更容易地使用计算机硬件(下层)资源
(二)操作系统的发展历程
未配置操作系统的计算机系统
1.人工操作方式
早期的操作方式是由程序员将实现已穿孔的纸带(卡片),装入纸带(卡片)输入机,再启动它们将纸带(卡片)上的程序和数据输入计算机,然后启动运行。仅当程序运行完毕并取走计算结果后,才允许下一个用户上机
两大缺点
用户独占全机,即一台计算机的全部资源由上机用户所独占
CPU等待人工操作。人机速度矛盾导致CPU利用率低。当用户进行装带、卸带等人工操作时,CPU及内存等资源是空闲的也导致资源利用率低
2.脱机输入/输出(Off-Line I/O)方式
脱机I/O
脱机I/O 是指事先将装有用户程序和数据的纸带或卡片装入纸带输入机或卡片机,在外围机的控制下,把纸带或卡片上的数据或程序输入到磁带上。该方式下的输入输出由外围机控制完成,是在脱离主机的情况下进行的。
何谓脱机I/O和联机I/O?
两大优点
减少了CPU的空闲时间。装带、卸带,以及将数据从低速I/O设备送到高速磁带上的操作,都是在脱机情况下由外围机完成的,并不占用主机时间,从而有效地减少了CPU的空闲时间
提高了I/O速度。当CPU在运行中需要输入数据时,是直接从高速的磁带将数据输入到内存,这便极大的提高了I/O速度,从而进一步减少了CPU的空闲时间
联机I/O
而联机I/O方式是指程序和数据的输入输出都是在主机的直接控制下进行的。
单道批处理系统
1.单道批处理系统的处理过程
监督程序将磁带上的第一个作业装入内存,并把运行控制权交给该作业
当该作业处理完成时,又把控制权交还给监督程序,再由监督程序把磁带上的第二个作业调入内存
计算机系统就这样自动地一个作业紧接一个作业地进行处理,直至磁带上的所有作业全部完成
2.单道批处理系统的优缺点
缺点
系统中的资源得不到充分的利用(内存中的作业进行低俗的I/O操作时高速的CPU处于等待状态)
优点
缓解了一定程度的人机速度矛盾,资源利用率有所提升
3.单道批处理系统的主要特性
自动性
磁带上的一批作业自动地逐个运行,无需人工干预
顺序性
磁带上的各个作业顺序地进入内存,顺序的完成作业
单道性
内存中仅有一道程序运行,即监督程序每次从磁带上只调入一道程序进入内存运行
多道批处理系统
(Multiprogrammed Batch Processing System)
1.多道程序设计的基本概念
多道程序设计技术是指在内存同时放若干道程序,使它们在系统中并发执行,共享系统中的各种资源。当一道程序暂停执行时,CPU立即转去执行另一道程序。
直到出现了中断和通道技术之后,多道程序概念才变得有用
通道是一种控制一台或多台外部设备的硬件机构,一旦被启动就独立于CPU运行,因而做到了I/O操作与CPU并行工作
硬件上引入中断技术,才能在I/O操作结束时、或硬件发生某种故障时,由相应的硬件向CPU发出信号,这时的CPU才需要停下工作而转向处理中断请求,待处理完中断后再继续原来的工作
2.多道批处理系统的优缺点
(1)资源利用率高。多道程序并发执行,共享资源,以保持CPU处于忙碌状态,可提高内存的利用率和I/O设备的利用率
(2)系统吞吐量大。①CPU和其他资源保持忙碌状态 ②仅当作业完成时或运行不下去时才进行切换,系统开销小
(3)平均周转时间长。由于作业要排队依次进行处理,因而作业的周转时长较长,通常需要几个小时甚至几天。
(4)无人机交互能力。用户一旦把作业提交给系统后,完成之前用户无法与自己的作业进行交互,修改与调试程序极不方便。
3.多道批处理系统需要解决的问题
(1)处理机争用问题。既要满足各道程序运行的需要,又要能提高处理机的利用率。
(2)内存分配和保护问题。系统应能为每道程序分配必要的内存空间,且不会因某道程序出现异常情况而破坏其他程序。
(3)I/O设备分配问题。采用适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的。
(4)文件的组织和管理问题。系统应能有效地组织存放在系统中的大量程序和数据,使他们既方便用户使用,又能保证数据的安全性。
(5)作业管理问题。系统中存在各种作业(应用程序),系统应能对所有作业进行合理的组织,以满足这些作业用户的不同要求。
(6)用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS的接口
分时系统
(Time Sharing System)
分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算机,共享主机中的资源
1.分时系统的引入
为了满足用户对人—机交互的需求推动了分时系统的形成
(1)人—机交互:人—机交互能力使用户能直接控制自己的作业
(2)共享主机:多个用户共享主机,CPU 的分时使用缩短了作业的平均周转时间
2.分时系统实现中的关键问题
(1)及时接收:配置多路卡实现分时多路复用,即主机以很快的速度周期性地扫描各个终端,在每个终端处停留很短的时间用于接收用户发来的指令或数据。
(2)及时处理:
①作业直接进入内存。因为作业在磁盘上是不能运行的,所以作业应该直接进入内存。
②采用轮转运行方式。规定每个作业每次只能运行一个时间片(例如30ms)然后暂停,并调度下一个作业运行。如果在不长的时间内能使所有的作业都执行一个时间片的时间,便可以使每一个用户都能及时的与自己的作业进行交互。从而使用户的请求得到及时的响应。
3.分时系统的特征
与多道批处理系统相比
(1)多路性(同时性)。系统允许将多台终端同时连接到一台主机上,并按分时原则为每个用户服务。显著地提高了资源利用率,降低了使用费用。
(2)独立性。系统提供了每个用户在各自终端上进行操作,彼此间互不干扰的特点。
(3)及时性。用户的请求能在短时间内获得响应,采用时间片轮转的方式使一台计算机同时为多个终端服务,轮转时间是根据用户能接受的等待时间确定的(1~3s)
(4)交互性。用户可以请求系统提供多方面的服务,如进行文件编辑和数据处理,访问系统中的文件系统和数据库系统,请求提供打印服务等。
4.分时操作系统的优缺点
优点
解决了人机交互问题
多个用户可以共享主机
缺点
不能优先处理紧急任务(小于一个时间片的时间要求)
实时系统
(Real Time System)
实时系统是指系统能够及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致的运行。引入实时OS 是为了满足应用的需求,更好地满足实时控制领域和实时信息处理领域的需要
为什么要引入实时操作系统?
1.实时系统的类型
工业(武器)控制系统
火炮的自动控制系统
飞机的自动驾驶系统
导弹的制导系统
信息查询系统
火车飞机订票系统等
多媒体系统
音视频多媒体系统(实时信息处理)
嵌入式系统
智能仪器和设备
2.实时任务的类型
(1)周期性实时任务和非周期性实时任务
周期性实时任务是指这样一类任务,外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备
非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间(开始截止时间,完成截止时间),或称最后期限
(2)硬实时任务和软实时任务
硬实时任务(Hard Real-time Task, HRT)是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果。一般用于工业和武器控制的实时系统
软实时任务(Soft Real-time Task, SRT)也联系着一个截止时间,但并不严格,若偶尔错过任务的截止时间,对系统产生的影响也不会太大。诸如用于信息查询系统和多媒体系统。
3.实时系统与分时系统特征的比较
(1)多路性。都为多用户,实时系统周期性对多路现场信息采集或对多个对象进行控制。而分时系统多路性则与用户情况有关,时多时少。
(2)独立性。两者都是互不干扰。分时系统每个终端项分时系统提出服务请求时,彼此独立操作,互不干扰;实时系统中,对信息的采集和对象的控制也是互不干扰。
(3)及时性。两者类似,以人所能接受的等待事件来确定。实时系统更具有及时性。
(4)交互性。两个都具有,分时系统可以从终端向用户提交复杂的服务;而实时系统的交互仅限定于访问系统中某些特定的服务程序。
(5)可靠性。实时系统具有更高的可靠性,实时系统中,往往采用多级容错措施来保障系统的安全及数据的安全。
网络操作系统和分布式计算机系统
网络操作系统把计算机网络中的各台计算机有机地结合起来,提供一种统一、经济而有效的使用各台计算机的方法,实现各台计算机之间数据的互相传送
主要特点是网络中各种资源的共享及各台计算机之间的通信
分布式计算机系统是由多台计算机组成并满足下列条件的系统
系统中任意两台计算机通过通信方式交换信息
系统中的每台计算机都有同等的地位,既没有主机又没有从机
每台计算机上的资源为所有用户所共享
系统中的任意台计算机都可以构成一个子系统,并且还能重构
任何工作都可以分布在几台计算机上,由他们并行工作、协调完成
分布式计算机系统的主要特点是
分布性
并行性
与网络操作系统的本质不同是:分布式操作系统中的若干计算机互相协同完成同一任务
微机操作系统的发展
1.单用户单任务操作系统:只允许一个用户上机,且只允许用户程序作为一个任务运行,主要配置在8位和16位微机上
CP/M:8位微机操作系统,具有较好的体系结构,可适应性强,可移植性以及易学易用等优点
MS-DOS:16位微机操作系统,扩充于CP/M,在功能上有很大的提高,性能优越受到当时用户的广泛欢迎
2.单用户多任务操作系统:只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效的改善了系统的性能。目前基本在32位微机上配置
Windows
3.多用户多任务操作系统:允许多个用户通过各自的终端,使用同一台机器,共享主机系统的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而可进一步提高资源利用率和系统吞吐量。在大中小型机中所配置的大多是此,在32位微机上也有不少配置。
UNIX OS
Solaris OS
Linux OS
(三)程序运行环境
1、CPU的运行模式
内核模式/内核态 (Kernal Mode)
处于内核态(核心态或管态)时,说明此时正在运行的是内核程序,此时可以执行特权指令
特权指令:是指有特殊权限的指令(如清内存、置时钟、分配系统资源等),由于这类指令的权限最大,使用不当则会危害系统安全,因此这类指令只能用于系统软件,因此特权指令必须运行在核心态
用户模式/用户态 (User Mode)
处于用户态(目态)时,说明此时正在运行的是应用程序,此时只能执行非特权指令
该运行状态由CPU的PSW寄存器存储
用户模式和内核模式的转化
内核态→用户态
执行一条特权指令——一般是中断返回指令修改PSW的一个状态标志位为“用户态”,这个动作意味着操作系统将主动让出CPU的使用权
用户态→内核态
由中断引发,硬件自动完成模式转化的过程,触发中断信号意味着操作系统将重新夺回CPU的使用权
用户程序请求操作系统的服务,即系统调用
用户程序中产生了一个错误状态
用户程序中企图执行一条特权指令
唯一途径:中断或异常
处理器为什么要区分核心态和用户态两种操作方式?
区分执行态的目的是保护系统程序,防止应用程序调用系统的特权指令而威胁到系统安全
为了保护系统的安全——引入了CPU的运行模式机制,内核模式执行特权指令,用户模式执行非特权指令
为了提高系统效率,实现并发进制——由操作系统实现处理机等资源的调度,提高系统资源的利用率
2、中断和异常的处理
为了进行内核态与用户态这两种状态的切换,便引入了中断机制
内核态可以运行用户态无法执行的特权指令
系统调用(访管指令)是在用户态使用,将用户态转为内核态,因此其不属于特权指令
中断是让操作系统夺回CPU使用权的唯一途径
中断的分类
外中断(中断interruption)
指来自于CPU执行指令之外的事件的发生
I/O中断:如I/O设备向CPU表示输入输出处理已经完成
时钟中断:如固定时间片已到,让处理机进行程序的轮转
人工干预:如用户强行终止进程
内中断(异常、例外exception或陷入trap)
指来自于CPU指令执行内部的事件
终止abort:如硬件故障、软件中断:算术溢出,除数为0
故障fault:如缺页中断
陷入trap/访管中断:如系统调用(陷入指令/访管指令)
中断的处理过程
①关中断:CPU响应中断后,为了保护程序的执行状态,得关中断以此避免更高级的中断请求
②保存断点:为了保证中断服务程序执行完毕之后能够返回原有程序,则必须保存原来程序的断点(程序计数器PC的值)
③中断服务程序寻址:取出中断服务程序的入口地址送入程序计数器PC
中断隐指令由硬件完成
④保护现场和屏蔽字:进入中断服务程序之后要保存原程序的执行状态(程序状态字寄存器PSWR)和某些通用寄存器(存放程序数据)的内容
⑤开中断:允许更高级的中断请求
⑥执行中断服务程序:即实现中断请求的目的
⑦关中断:保证在恢复现场和屏蔽字的时候不被中断
⑧恢复现场和屏蔽字:恢复程序的原本执行状态
⑨开中断、中断返回:中断服务程序的最后一条指令通常是中断返回指令,返回原程序的断点处,以便继续执行原程序
中断程序完成
3、系统调用
什么是系统调用?有何作用?
(1)概念
所谓系统调用,是指用户在程序中调用操作系统所提供的一些子功能,系统调用可视为特殊的公共子程序
(2)作用
由于系统中的各种共享资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作(如存储分配、进行I/O传输及文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,并由操作系统代为完成。
系统调用会使处理器从用户态变为核心态
(3)分类
设备管理
完成设备的请求或释放,以及设备启动等功能
文件管理
完成文件的读、写、创建及删除等功能
进程控制
完成进程的创建、撤销、阻塞及唤醒等功能
进程通信
完成进程之间的消息传递或信号传递等功能
内存管理
完成内存的分配、回收以及获取作业占用内存区大小及始址等功能
系统调用的过程
1.传递系统调用参数
2.执行陷入指令(访管指令/trap指令)
CPU由用户态进入内核态
3.执行系统调用的相应服务
4.返回用户程序
库函数与系统调用 的区别于联系
库函数是语言或应用程序的一部分,可以运行在用户空间中,而系统调用是操作系统的一部分,是内核为用户提供的程序接口,运行在内核空间中,而且许多库函数都会使用系统调用来实现功能
未使用系统调用的库函数,其执行效率通常要比系统调用的高,因为使用系统调用时,需要上下文的切换及状态的转换
系统调用是操作系统向上层提供的接口
有的库函数是对系统调用的进一步封装
当今编写的绝大多数应用程序大多都是通过高级语言提供的库函数间接地进行系统调用
4、程序的链接与装入
5、程序运行时内存映像与地址空间
(四)操作系统结构
分层
分层式结构OS
1)分层式结构的基本概念
将模块接口法中的无序性变为了有序性,引入了有序分层法,常采用自底向上法来铺设目标系统和裸机系统之间的中间层
2)分层结构的优缺点
优点
易保证系统的正确性。自下而上的设计方式使后续的结构是基于可靠的基础上的。
易扩充和易维护性。在系统中修改一个层次或者模块只需要改变相应的接口,不会影响其他层次。
缺点
主要缺是系统效率较低。由于层次结构是分层单向依赖的,必须在每层之间都建立层次间的通信机制,OS每执行一个功能,通常要自上而下穿越多个层次,会增加系统通信的开销导致系统效率的降低
模块化
模块化结构OS
1)模块化程序设计技术的基本概念
该技术基于“分解”和“模块化”的原则来控制软件的复杂度,按其功能划分为若干个具有一定独立性和大小的模块,并仔细地规定各模块间的接口使其之间可以交互,再进一步将模块细分为子模块,同样规划好接口,这种设计方法即为模块-接口法
2)模块的独立性
内聚性:指模块内部各部分间联系的紧密程度。内聚性越高,模块独立性越强
耦合度:指模块间相互联系和相互影响的程度。耦合性越低,模块独立性越强
3)模块接口法的优缺点
优点
提高OS设计的正确性、可理解性和可维护性
增强OS的可适应性
加速OS的开发过程
缺点
在OS设计时,对模块间的接口规定很难满足模块设计完成后对接口的实际需求
各模块的设计难以齐头并进,造成各种决定的“无序性”,因此模块接口法又称为“无序模块法”
宏内核
宏内核OS结构
大内核系统将操作系统的主要功能模块都作为一个紧密联系的整体运行在核心态,从而为应用提供高性能的系统服务。因为各管理模块之间共享信息,能有效利用相互之间的有效特性,所以具有无可比拟的性能优势
微内核
微内核OS结构
1.微内核操作系统的基本概念
1)足够小的内核
微内核是指精心设计的、能实现现代OS最基本核心功能的小型内核,只将操作系统中最基本的部分放入微内核
①与硬件处理紧密相关的部分
②一些较基本的功能
③客户和服务器之间的通信
2)基于客户/服务器模式
将操作系统中最基本的功能放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现
3)应用“机制与策略分离”原理
机制:是指实现某一功能的具体执行机构
策略:是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标
在微内核操作系统中通常将机制放在OS的微内核中,正因如此,内核才有可能做的很小
4)采用面向对象技术
可以确保操作系统的“正确性”“可靠性”“易修改性”和“易扩展性”
12.微内核操作系统从哪四个方面进行描述。
2.微内核的基本功能
1)进程(线程)管理
为实现进程(线程)的调度功能,需要在进程管理中设置优先级队列,这属于调度功能的机制部分,应将它放入微内核中
由于进程(线程)之间的通信属于微内核OS的最基本功能,被频繁使用,所以进程间的通信功能,进程切换,线程的调度,以及多处理机间的同步等功能也放入微内核中
2)低级存储器管理
通常在微内核中,只配置最基本的低级存储器管理机制,如用于实现将用户的逻辑地址变换为内存空间物理地址的页表机制和地址变换机制,这一部分是依赖硬件的,因此放入微内核
3)中断和陷入处理
大多数微内核操作系统都是将与硬件紧密相关的一小部分放入微内核中处理,此时微内核的主要功能是捕获发生的中断和陷入事件
在微内核OS中是将进程管理,存储器管理以及I/O管理这些功能一分为二,属于机制的很小一部分放入微内核中,另外绝大部分放在微内核外中的各种服务器中来实现
3.微内核操作系统的优点
(1)提高了系统的可扩展性。当开发了新的硬件或软件时,微内核OS只需要在相应的服务器中增加新的功能或者添加新的服务器即可。
(2)增强了系统的可靠性
微内核是通过精心设计和严格测试的,容易保证其正确性
它提供了规范而精简的API,为微内核外部程序编制高质量代码创造了条件
由于服务器都是运行在用户态,服务器之间采用的是消息传递通信机制,因此当某个服务器出现错误时不会影响内核,也不会影响其他服务器
(3)可移植性强。所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其他的绝大部分—各种服务器,均与硬件平台无关
(4)提供了对分布式系统的支持。微内核OS中,客户和服务器之间、服务器和服务器之间的通信均采用消息传递通信机制,致使微内核OS能够很好的支持分布式系统和网络系统
(5)融入了面向对象技术
11.微内核操作系统具有哪些优点?它为何能有这些优点?
4.微内核操作系统存在的问题
较之早期的操作系统,微内核操作系统的运行效率有所降低
在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换
早期OS:①客户发送请求给系统②系统完成服务返回客户
微内核OS:①客户发送请求给微内核②微内核把客户请求发给服务器③服务器返回响应消息给微内核④微内核响应消息给客户(如果某个服务器尚无能力完成,还需要寻求其他服务器的帮助)
为了改善运行效率,可以重新把一些常用的操作系统基本功能由服务器移入微内核中。但这样又会使微内核容量增大,在小型接口定义和适应性方面的优点也有所下降,并提高了微内核的代价
外核
外核OS结构
外核将资源保护及其管理分割开来。由于外核只提供有限的原语,所以外核操作系统效率很高。由于进程间通信、虚拟内存管理等传统概念都是在应用层实现的,所以可以很容易对他们进行扩展、专业化和替换
(五)操作系统引导
主题
主题
主题
(六)虚拟机
主题
主题
主题