操作系统操作系统引论
Posted 常无非
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了操作系统操作系统引论相关的知识,希望对你有一定的参考价值。
▲操作系统(Operating System,OS)是配置在计算机硬件上的第一层软件,是对硬件系统的首次扩充;
▲OS是现代计算机系统中最基本和最重要的系统软件,其他系统软件以及大量应用软件,都直接依赖于操作系统的支持;
一、操作系统的目标和作用
▲操作系统的目标与应用环境有关;
(一)操作系统的目标
1、方便性
▲一个未配置OS的计算机系统是极难使用的;
2、有效性
▲有效性所包含的第一层含义是提高系统资源的利用率;另一层含义是提高系统的吞吐量;
3、可扩充性
▲可扩充性的好坏与OS的结构有着十分紧密的联系;
▲无结构→模块化结构→层次化结构→微内核结构;
▲微内核结构能方便地增添新的功能和模块,以及对原有的功能和模块进行修改,具有良好的可扩充性;
4、开放性
▲软硬件的兼容性;软硬件标准;单机系统→网络环境;
▲所谓开放性,是指系统能遵循世界标准规范,特别是遵循开放系统互连OSI国际标准;
(二)操作系统的作用
1、OS作为用户与计算机硬件系统之间的接口
▲OS作为用户与计算机硬件系统之间接口的含义是:OS处于用户与计算机硬件系统之间,用户通过OS来使用计算机系统;
▲用户可通过三种方式来使用计算机:即通过命令方式、系统调用方式和图标-窗口方式来实现与操作系统的通信,并取得它的服务;
2、OS作为计算机系统资源的管理者
▲一个计算机系统通常含有多种硬件和软件资源,可归纳为以下四类;
▲处理机管理是用于分配和控制处理机;
▲存储器管理主要负责内存的分配与回收;
▲I/O设备管理是负责I/O设备的分配(回收)与操纵;
▲文件管理是用于实现对文件的存取、共享和保护;
3、OS实现了对计算机资源的抽象
▲一台完全无软件的计算机系统(裸机)向用户提供的仅是硬件接口(物理接口);
▲为了方便用户使用I/O设备,人们在裸机上覆盖上一层I/O设备管理软件,由它来是实现对I/O设备操作的细节,并向上将I/O设备抽象成一组数据结构以及一组I/O操作命令;亦即,I/O设备管理软件实现了对计算机硬件操作的第一个层次的抽象;
▲通常把覆盖了上述软件的机器称为扩充机器或虚机器;
▲在第一层软件(I/O管理软件)上再覆盖一层用于文件管理的软件,由它来实现对文件操作的细节,并向上提供一组实现对文件存取操作的数据结构及命令;亦即,文件管理软件实现了对硬件资源操作的第二个层次的抽象;
▲以此类推,可多层抽象,从而形成一台功能更强的虚机器;
▲OS是铺设在计算机硬件上的多层软件的集合,它们不仅增强了系统的功能,还隐藏了对硬件操作的具体细节,实现了对计算机硬件操作的多个层次的抽象模型;
(三)推动操作系统发展的主要动力
1、不断提高计算机资源利用率
▲OS最初发展的推动力;
▲SPOOLing系统;虚拟存储器技术;
2、方便用户
▲当资源利用率不高的问题得到基本解决后,用户在上机、调试程序时的不方便性便成为主要矛盾,这又称为继续推动OS发展的主要因素;
▲图形用户界面;
3、器件的不断更新换代
▲随着IT技术的飞讯发展,尤其是微机芯片的不断更新迭代,使得计算机的性能快速提高,从而也推动了OS的功能和性能迅速增强和提高;
4、计算机体系结构的不断发展
▲计算机体系结构的发展,也不断推动着OS的发展,并产生新的OS系统;
▲单处理机系统→多处理机系统;网络操作系统;
5、不断提出新的应用需求
▲操作系统能如此迅速发展的另一个重要原因是人们不断提出新的应用需求;
▲实时系统;多媒体功能;系统的安全性;嵌入式操作系统;
二、操作系统的发展过程
▲批处理OS;多道程序批处理系统;分时系统;实时系统;微机OS、多处理机OS和网络OS;
(一)未配置操作系统的计算机系统
1、人工操作方式
▲人工操作方式严重降低了计算机资源的利用率,此即所谓的人机矛盾;
▲通道技术、缓冲技术,未能很高解决;脱机输入/输出技术,较为满意的方式;
2、脱机输入/输出(Off-Line I/O)方式
▲该技术是事先将装有用户程序和数据的纸带装入纸带输入机,在一台外围机的控制下,把纸带(卡片)上的数据(程序)输入到磁带上;
▲类似地,当CPU需要输出时,可先由CPU把数据直接从内存高速地输出到磁带上,然后在另一台外围机的控制下,再将磁带上的结果通过相应的输出设备输出;
▲脱机输入/输出方式;联机输入/输出(On-Line I/O)方式;
▲减少了CPU的空闲时间;提高了I/O速度;
(二)单道批处理系统
1、单道批处理系统(Simple Batch Processing System)的处理过程
▲虽然系统对作业的处理的成批进行的,但在内存中始终只保持一道作业,故称为单道批后处理系统;现已很少使用
2、单道批处理系统的缺点
▲最主要缺点是,系统中的资源得不到充分的利用;
(三)多道批处理系统(Multiprogrammed Batch Processing System)
▲IBM的OS/360操作系统是第一个能运行多道程序的批处理系统;
1、多道程序设计的基本概念
▲在该系统中,用户所提交的作业先存放在外村上,并排成一个队列,称为“后备队列”;然后由作业调度程序按一定的算法,从后备队列中选择若干个作业调入内存,使它们共享CPU和系统中的各种资源;
2、多道批处理系统的优缺点
(1)资源利用率高;
(2)系统吞吐量大;
(3)平均周转时间长;
(4)无交互能力;
3、多道批处理系统需要解决的问题
(1)处理机争用问题;
(2)内存分配和保护问题;
(3)I/O设备分配问题;
(4)文件的组织和管理问题;
(5)作业管理问题;
(6)用户与系统的接口问题;
▲对上述问题的解决方案→一组软件→操作系统;
▲我们可以把操作系统定义为:操作系统是一组能有效地组织和管理计算机硬件和软件资源,合理地对各类作业进行调度,以及方便用户使用的程序的集合;
(四)分时系统(Time Sharing System)
1、分时系统的引入
▲推动多道批处理系统的主要动力是提高资源利用率和系统吞吐量;
▲推动分时系统形成和发展的主要动力是为了满足用户对人-机交互的需求;
(1)人-机交互;
(2)共享主机;
▲分时系统是指,在一台主机上连接了多个配有显示器和键盘的终端并由此所组成的系统,该系统允许多个用户同时通过自己的终端,以交互方式使用计算,共享主机中的资源;
2、分时系统实现中的关键问题
(1)及时接收
▲多路卡:作用是实现分时多路复用;
▲为每个终端配置一个缓冲区,用来暂存用户键入的命令(或数据);
(2)及时处理:
▲作业直接进入内存;
▲采用轮转运行方式:时间片,系统规定每个作业每次只能运行一个时间片,然后就暂停该作业的运行,并立即调度下一个作业运行;
3、分时系统的特征
(1)多路性;
(2)独立性;
(3)及时性;
(4)交互性;
(五)实时系统(Real Time System)
▲所谓“实时”,是表示“及时”,而“实时计算”,则可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间;
▲实时系统是指系统能及时响应外部事件的请求,在规定的时间内完成对该事件的处理,并控制所有实时任务协调一致地运行;
1、实时系统的类型
(1)工业(武器)控制系统;
(2)信息查询系统;
(3)多媒体系统;
(4)嵌入式系统;
2、实时任务的类型
(1)周期性实时任务和非周期性实时任务;
▲周期性实时任务是指外部设备周期性地发出激励信号给计算机,要求它按指定周期循环执行,以便周期性地控制某外部设备;
▲非周期性实时任务并无明显的周期性,但都必须联系着一个截止时间(Deadline),或称为最后期限;又可分为开始截止时间和完成截止时间;
(2)硬实时任务和软实时任务
▲硬实时任务是指系统必须满足任务对截止时间的要求,否则可能出现难以预测的后果;
▲软实时任务也联系着一个截止时间,但并不严格,偶尔错过对系统产生的影响也不会太大;
3、实时系统与分时系统特征的比较
(1)多路性;
(2)独立性;
(3)及时性;
(4)交互性;
(5)可靠性;
(六)微机操作系统的发展
▲配置在微机上的操作系统称为微机操作系统;
▲可按微机字长来分类,也可按运行方式分类;
1、单用户单任务操作系统
▲含义是只允许一个用户上机,且只允许用户程序作为一个任务运行,这是最简单的微机操作系统;
(1)CP/M;
(2)MS-DOS;
2、单用户多任务操作系统
▲含义是只允许一个用户上机,但允许用户把程序分为若干个任务,使它们并发执行,从而有效地改善了系统的性能;
3、多用户多任务操作系统
▲含义是允许多个用户通过各自的终端,使用同一台机器,共享主机系统中的各种资源,而每个用户程序又可进一步分为几个任务,使它们能并发执行,从而进一步提高资源利用率和系统吞吐量;
(1)Solaris OS;
(2)Linux OS;
三、操作系统的基本特性
(一)并发
1、并行与并发
▲并行性是指两个或多个事件在同一时刻发生;
▲并发性是指两个或多个事件在同一时间间隔内发生;
▲宏观上程序同时运行,微观上程序是分时交替进行;
▲若系统有多个处理机,则并发执行的程序可分配到多个处理机上实现并行执行,即利用每个处理机来处理一个可并发执行的程序;
2、引入进程
▲对内存中的多个程序都分别建立一个进程,它们就可以并发执行,这样便能极大地提高系统资源的利用率,增加系统的吞吐量;
▲所谓进程,是指在系统中能独立运行并作为资源分配的基本单位,它是由一组机器指令、数据和堆栈等组成的,是一个能独立运行的活动实体;
▲多个进程之间能并发执行和交换信息;
▲进程和并发是现代操作系统中最重要的基本概念;
(二)共享
▲在OS环境下的资源共享称为资源复用,是指系统中的资源可供内存中多个并发执行的进程共同使用,在宏观上限定了时间(进程在内存期间),也限定了地点(内存);
▲系统必须对资源共享进行管理;
1、互斥共享方式
▲在一段时间内只允许一个进程访问的资源,称为临界资源(或独占资源);
▲对临界资源的共享方式是互斥式共享;
2、同时访问方式
▲系统中还有类资源允许在同一段时间内由多个进程“同时”对它们进行访问;这里所谓的“同时”,在但处理机环境下是宏观意义的,而在微观上,这些进程对该资源的访问是交替进行的;
▲并发和共享是多用户(多任务)OS的两个最基本的特征,它们又是互为存在的条件;
(三)虚拟
▲最早出现在通信系统中;
▲在OS中,把通过某种技术将一个物理实体变为若干个逻辑上的对应物的功能称为“虚拟”;相应地,把用于实现虚拟的技术称为虚拟技术;
1、时分复用技术
▲时分复用技术能提高资源利用率的根本原因在于,它利用某设备为一用户程序的空闲时间,又转去为其他用户服务,使设备得到最充分的利用;
(1)虚拟处理技术:利用多道程序设计技术,可将一台物理上的处理机虚拟为多台逻辑上的处理机,在每台逻辑处理机上运行一道程序,我们把用户所感觉到的处理机称为虚拟处理器;
(2)虚拟设备技术:使原来仅允许在一段时间内由一个用户访问的设备(即临界资源),变为允许多个用户“同时”访问的共享设备,即宏观上能“同时”为多个用户服务;
2、空分复用技术
▲频分复用技术:用于电信业,将一个频率范围比较宽的信道划分为多个频率范围较窄的信道(称为频带),其中的任何一个频带都仅供一对用户通话;
▲空分复用技术是利用存储器的空闲空间分区域存放和运行其他的多道程序,以此来提高内存的利用率;
▲虚拟存储技术:在本质上是实现内存的分时复用,即它可以通过分时复用内存的方式,实现用户程序的各个部分分时地进入内存运行,使一道程序仅在远小于它的内存空间中运行;
▲虚拟的实现,若是采用时分复用的方法,即对某一物理设备进行分时使用,设N是某物理设备所对应的虚拟设备数,则每台虚拟设备的平均速度必然等于或低于物理设备速度的1/N;类似地,利用空分复用方法来实现虚拟,一台虚拟设备平均占用的空间必然也等于或低于物理设备所拥有空间的1/N;
(四)异步
▲在多道程序环境下,系统允许多个进程并发执行;在单处理机环境下,由于系统中只有一台处理机,因而每次只允许一个进程执行,其余进程只能等待;
▲由于资源等因素的限制,使进程的执行通常都不可能“一气呵成”,而是以“走走停停”的方式运行;
▲进程是以人们不可预知的速度向前推进的,此即进程的异步性;
▲只要在OS中配置有完善的进程同步机制,且运行环境相同,则作业即便经过多次运行,也都会获得完全相同的结果;因此异步运行方式是允许的,而且是操作系统的一个重要特征;
四、操作系统的主要功能
▲引入操作系统的目的是,为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率,方便用户的使用;
(一)处理机管理功能
▲在传统的多道程序系统中,处理机的分配和运行都是以进程为基本单位的,因而对处理机的管理可归结为对进程的管理;
▲处理机管理的主要功能有:创建和撤销进程,对诸进程的运行进行协调,实现进程之间的信息交换,以及按照一定的算法把处理机分配给进程;
1、进程控制
▲在多道程序环境下为使作业能并发执行,必须为每道作业创建一个或几个进程,并为之分配必要的资源;
▲在设置有线程的OS中,进程控制还应包括为一个进程创建若干个线程,以提高系统的并发性;
2、进程同步
▲为使多个进程能有条不紊地运行,系统中必须设置相应的进程同步机制;该机制的主要任务是为多个进程(含线程)的运行进行协调;
▲常用的协调方式:进程互斥方式(最常用的机制是为每一个临界资源配置一把锁W);进程同步方式(最常用的是信号量机制);
3、进程通信
▲进程通信的任务是实现相互合作进程之间的信息交换;
▲在同一计算机系统中,一般用直接通信方式:由源进程利用发送消息命令直接讲消息(message)挂到目标进程的消息队列上;
4、调度
(1)作业调度
▲基本任务是从后备队列中按照一定的算法选择出若干个作业,为它们分配运行所需的资源,在将这些作业调入内存后,分别为它们建立进程,使它们都成为可能获得处理机的就绪进程,并将它们插入就绪队列中;
(2)进程调度
▲任务是从进程的就绪队列中按照一定的算法选出一个进程,将处理机分配给它,并为它设置运行现场,使其投入执行;
(二)存储器管理功能
▲主要任务是为多道程序的运行提供良好的环境,提高存储器的利用率,方便用户使用,并能从逻辑上扩充内存;
1、内存分配
(1)为每道程序分配内存空间
(2)提高存储器的利用率
(3)允许正在运行的程序申请附加的内存空间
▲静态分配:每个作业的内存空间在作业装入时就确定,不允许其再申请新的内存空间;不允许作业在内存中“移动”;
▲动态分配:每个作业所要求的基本内存空间在装入时确定,但允许其在运行过程中继续申请新的附加内存空间;允许作业在内存中“移动”;
2、内存保护
(1)确保每道用户程序都仅在自己的内存空间内运行,币次级互不干扰;
(2)决不允许用户程序访问操作系统的程序和数据;也不允许用户程序转移到非共享的其他用户程序中取执行;
▲一种比较简单的内存保护机制是设置两个界限寄存器,分别用于存放正在执行程序的上界和下界;若越界则发出越界中断处理请求,停止该程序的执行;
4、内存扩充
▲从逻辑上扩充内存,以下是内存扩充机制;
(1)请求调入功能
▲系统允许在仅装入部分用户程序和数据的情况下,便能启动该程序运行;
(2)置换功能
▲若发现在内存中已无足够的空间来装入需要调入的程序和数据时,系统应能将内存中的一部分暂时不用的程序和数据调至硬盘上,将所需调入的部分装入内存;
(三)设备管理功能
▲主要任务:完成用户进程提出的I/O请求,为用户分配所需的I/O设备,并完成指定的I/O操作;提高CPU和I/O设备的利用率,提高I/O速度,方便用户使用I/O设备;
1、缓冲管理
▲在I/O设备和CPU之间引入缓冲,可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量;
▲不同的系统可采用不同的缓冲区机制:单缓冲机制、双缓冲机制、公用缓冲池机制;以上这些缓冲区都由OS缓冲管理机制将它们管理起来;
2、设备分配
▲基本任务是根据用户进程的I/O请求、系统现有资源情况以及按照某种设备分配策略,为之分配其所需的设备;
▲为实现设备分配,系统中应设置设备控制表,控制器控制表等数据结构,用于记录设备及控制器等的标识符和状态;
▲在进行设备分配时,应针对不同的设备类型而采用不同的设备分配方式;在设备使用完后,应立即由系统回收;
3、设备处理
▲设备处理程序又称设备驱动程序;基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之,由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理;
▲对于设置了通道的计算机系统,设备处理程序还应能根据用户的I/O请求自动地构成通道程序;
(四)文件管理功能
▲主要任务是对用户文件进行管理以方便用户使用,并保证文件的安全性;
▲为此,文件管理应具有对文件存储空间的管理、目录管理、文件的读/写管理以及文件的共享与保护等功能;
1、文件存储空间的管理
▲主要任务是:为每个文件分配必要的外存空间,提高外存的利用率,进而提高文件系统的存、取速度;还应具有对存储空间进行分配和回收的功能;
2、目录管理
▲主要任务是为每个文件建立一个目录项,目录项包括文件名、文件属性、文件在磁盘上的物理位置等,并对众多的目录项加以有效的组织,以实现方便的按名存取;
▲还应实现文件共享和快速的目录查询功能;
3、文件的读/写管理和保护
(1)文件的读/写管理
▲该功能是根据用户的请求,从外存中读取数据,或将数据写入外存;
▲由于读和写操作不会同时进行,故可合用一个读/写指针;
(2)文件保护
▲防止未经核准的用户存取文件;防止冒名顶替存取文件;防止以不正确的方式使用文件;
(五)操作系统与用户之间的接口
1、用户接口
(1)联机用户接口
▲由一组键盘操作命令及命令解释程序组成,用户可通过先后键入不同命令的方式来实现对作业的控制,直至作业完成;
(2)脱机用户接口
▲用户用作业控制语言JCL把需要对作业进行的控制和干预的命令事先写在作业说明书上,然后将它与作业一起提供给系统;
(3)图形用户接口
▲采用了图形化的操作界面,用非常容易识别的各种图标(icon)来将系统的各项功能、各种应用程序和文件直观、逼真地表示出来;
2、程序接口
▲程序接口是为用户程序在执行中访问系统资源而设置的,是用户程序取得操作系统服务的唯一途径;它是由一组系统调用组成的,每一个系统调用都是一个能完成特定功能的子程序;每当应用程序要求OS提供某种服务(功能)时,便调用相应功能的系统调用(子程序);
(六)现代操作系统的新功能
1、系统安全
(1)认证技术
▲用来确认被认证的对象是否名副其实的过程,以确定对象的真实性,防止入侵者进行假冒和篡改等;
(2)密码技术
▲即对系统中所需存储和传输的数据进行加密,使之成为密文;
(3)访问控制技术
▲控制用户存取权限;控制文件属性;
(4)反病毒技术
2、网络的功能和服务
(1)网络通信
▲用于在源主机和目标主机之间,实现无差别的数据传输;
(2)资源管理
▲对网络中的共享资源(硬件和软件)实施有效的管理,协调诸用户对共享资源的使用,保证数据的安全性和一致性;
(3)应用互操作
▲在一个由若干个不同网络互连所构成的互连网络中,必须提供应用互操作功能,以实现信息的互通性和互用性;
▲信息的互通性是指在不同网络中的用户之间,能实现信息的互通;
▲信息的互用性是表示用户可以访问不同网络中的文件系统和数据库系统中的信息;
3、支持多媒体
(1)接纳控制功能
(2)实时调度
(3)多媒体文件的存储
五、OS结构设计
▲先后产生了多种操作系统的开发方法,如模块化方法、结构化方法和面向对象的方法等;
(一)传统操作系统结构
▲我们把早期的无结构的OS(第一代)、模块化结构的OS(第二代)和分层式的OS(第三代),都统称为传统结构的OS,而把微内核结构的OS称为现代结构的OS;
1、无结构操作系统
▲此时的OS是为数众多的一组过程的集合,每个过程可以任意地相互调用其他过程,致使操作系统内部复杂混乱,因此,这种OS是无结构的,也有人把它称为整体系统结构;
2、模块化结构OS
(1)模块化程序设计技术的基本概念
▲该技术基于“分解”和“模块化”的原则来控制大型软件的复杂度;这种设计方法称为接口-模块法;
(2)模块独立性
▲在模块-接口法中,关键问题是模块的划分和规定好模块之间的接口;
▲在划分模块时,必须成分注意模块的独立性问题,因为模块独立性越高,各模块之间的交互就越少,系统的结构也就越清晰;
▲内聚性越高,模块独立性越强;耦合度越低,模块独立性越强;
(3)模块接口法的优缺点
▲优点:提高OS设计的正确性、可理解性和可维护性;增强OS的可适应性;加速OS的开发过程;
▲缺点:设计阶段的接口很难满足实际需求;模块要求的层次性与模块设计阶段的齐头并进的矛盾,模块-接口法又称为“无序模块法”;
3、分层式结构OS
(1)分层式结构的基本概念
▲自底向上的分层设计的基本原则是:每一步设计都建立在可靠的基础上;
▲在用这种方法构成操作系统时,已将一个操作系统分为若干个层次,每层又由若干个模块组成,各层之间只存在着单向的依赖关系,即高层仅依赖于紧邻它的低层;
(2)分层结构的优缺点
▲优点:易保证系统的正确性;易扩充和易维护性;
▲缺点:系统效率降低(每执行一个功能,都要自上向下穿越多个层次);
(二)客户/服务器(Client/Server Model)模式简介
1、客户/服务器模式的由来、组成和类型
(1)客户机
(2)服务器
▲工作站中的用户进程与服务器进程形成了客户/服务器关系;
(3)网络系统
2、客户/服务器之间的交互
▲客户机的发送进程和接收进程;服务器的发送进程和接收进程;客户机软件和服务器软件;
(1)客户发送请求消息
(2)服务器接收消息
(3)服务器回送消息
(4)客户机接收消息
3、客户/服务器模式的优点
(1)数据的分布处理和存储
(2)便于集中管理:分布处理功能,集中管理方式;
(3)灵活性和可扩充性:客户机和服务器的数量不受限制;
(4)易于改编应用软件
▲不足之处是存在着不可靠性和瓶颈问题(比如单服务器的服务器崩溃);
(三)面向对象的程序设计
1、面向对象技术的基本概念
▲该技术是基于“抽象”和“隐蔽”原则来控制大型软件的复杂度的;
(1)对象
▲在面向对象的技术中,是利用被封装的数据结构(变量)和一组对它进行操作的过程(方法)来表示系统中的某个对象的;
▲对象中变量(数据)也称为属性,它可以是单个标量或一张表;
▲面向对象中的方法是用于执行某种功能的过程,它可以改变对象的状态,更新对象中的某些数据数值或作用于对象所要访问的外部资源;
▲对象中的变量(数据)对外是隐蔽的,因而外界不能对它直接进行访问,必须通过该对象中的一组方法(操作函数)对它进行访问;
(2)对象类
▲一个类同样定义了一组变量和针对该变量的一组方法,用它们来描述一组对象的共同属性和行为;
▲类是在对象上的抽象,对象则是类的实例;
(3)继承
▲在面向对象的技术中,可以根据已有类来定义一个新的类,新类被称为子类,原来的类被称为父类;
▲继承是父类和子类之间共享变量和方法的机制,该机制规定子类自动继承父类中定义的变量和方法,并允许子类再增加新的内容;
▲一个父类可以定义多个子类;
▲允许一个子类有两个父类或多个父类,称为“多重继承”;
2、面向对象技术的优点
(1)通过“重用”提高产品质量和生产率;
(2)使系统具有更好的易修改性和易扩展性;
▲通过封装,可隐蔽对象中的变量和方法,因而当改变对象中的变量和方法时,不会影响到其他部分,从而可方便地修改老的对象类;
▲继承是面向对象技术的重要特性,在创建一个新对象类时,通过利用继承特性可显著减少开发的时空开销;
(3)更易于保护系统的“正确性”和“可靠性”;
▲对象是构成操作系统的基本单元,由于可以独立地对它进行测试,易于保证每个对象的正确性和可靠性,因此也就比较容易保证整个系统的正确性和可靠性;
▲封装对对象类中的信息进行了隐蔽,可有效防止未经授权者的访问和用户不正确的使用;
(四)微内核OS结构
▲能有效支持多处理机运行,故非常适用于分布式系统环境,当前比较流行的、能支持多处理机运行的OS,几乎全部都采用了微内核结构;
1、微内核操作系统的基本概念
▲将操作系统划分为两大部分:微内核和多个服务器;
(1)足够小的内核
▲在微内核操作系统中,内核是指精心设计的,能实现现代OS最基本核心功能的小型内核,微内核并非是一个完整的OS,而只是将操作系统中最基本的部分放入微内核,通常包含有:与硬件处理紧密相关的部分;一些较基本的功能;客户和服务器之间的通信;
▲这些OS最基本的部分只是为构建通用OS提供一个重要基本,这样就可以确保把操作系统内核做得很小;
(2)基于客户/服务器模式
▲将操作系统中最基本的部分放入内核中,而把操作系统的绝大部分功能都放在微内核外面的一组服务器(进程)中实现;
▲客户与服务器之间是借助微内核提供的消息传递机制来实现信息交互的;
(3)应用“机制和策略分离”原理
▲所谓机制,是指实现某一功能的具体执行机构;
▲策略则是在机制的基础上借助于某些参数和算法来实现该功能的优化,或达到不同的功能目标;
▲通常,机制处于一个系统的基层,而策略则处于系统的高层;
▲在微内核操作系统中,通常将机制和硬件紧密相关的部分放在OS的微内核中;
(4)采用面向对象技术
▲面向对象技术能带来许多好处,故被广泛应用于现代操作系统的设计中;
2、微内核的基本功能
(1)进程(线程)管理
▲机制类放入微内核中,策略类放入微内核外的服务器中;
▲进程的通信功能,进程的切换,进程的调度,多处理机之间的同步等功能都放入微内核中;
(2)低级存储器管理
(3)中断和陷入处理
▲大多数微内核操作系统都是将与硬件紧密相关的一小部分放入微内核中处理,此时微内核的主要功能是捕获所发生的中断和陷入事件,并进行相应的前期处理,然后将有关事件的信息转换成消息后,把它发送给相关的服务器;
▲在微内核OS中是将进程管理、存储器管理以及I/O管理这些功能一分为二,属于机制的一小部分放入微内核中,另外绝大部分放在微内核外的各种服务器中来实现;
3、微内核操作系统的优点
▲微内核OS结构建立在模块化、层次化结构的基础上,并采用了客户/服务器模式和面向对象的程序设计技术;
(1)提高了系统的可扩展性
▲开发了新的硬件和软件时,只需在相应的服务器中增加新的功能或增加一个专门的服务器;
(2)增强了系统的可靠性
▲微内核经过精心设计和严格测试;
▲提供了规范而精简的应用程序接口(API);
▲服务器运行在用户态,服务器与服务器之间采用的是消息传递通信机制,某个服务器出现错误时,不会影响内核和其他服务器;
(3)可移植性强
▲在微内核结构的操作系统中,所有与特定CPU和I/O设备硬件有关的代码,均放在内核和内核下面的硬件隐藏层中,而操作系统其它绝大部分——各种服务器,均与硬件平台无关;
(4)提供了对分布式系统的支持
(5)融入了面向对象技术
4、微内核操作系统存在的问题
▲运行效率有所降低:在完成一次客户对操作系统提出的服务请求时,需要利用消息实现多次交互和进行用户/内核模式与上下文的多次切换;
以上是关于操作系统操作系统引论的主要内容,如果未能解决你的问题,请参考以下文章