【操作系统】OS概念、分类、功能、发展、结构

 

写在前面

  • 关于文章

    众所周知,操作系统是一门涉及较多硬件的系统软件课程,在计算机软 硬件课程的设置上起着承上启下的作用。既涉及硬件资源管理又涉及软件算法,是计算机课程的专业主干课。其特点是概念多、较抽象和涉及面广,整体实现思想和技术又比较难于理解。在这里主要学习操作系统的概念定义、特征、发展以及分类。

操作系统的概念

从不同角度看OS

  • 计算机应用角度看,操作系统是几乎人人都要使用的系统界面和接口
  • 软件设计和开发的角度看,操作系统起着系统软件开发基础和工具的作用
  • 黑客和网络攻击者角度看,操作系统是他们要攻破的第一道防线
  • 计算机系统发展角度来看,操作系统主要作用是提供虚拟机和扩展机

计算机系统

在学习操作系统之前,首先了解些什么是计算机系统。

概念

计算机系统是一种可以按用户的要求接收和存储信息,自动进行数据处理并输出结果信息的系统。

分类

计算机系统包括硬件(子)系统和软件(子)系统。这两个部分构成了计算机系统的资源。

  • 硬件系统是计算机系统赖以工作的实体-->硬件资源
  • 软件系统则保障计算机系统按用户指定的要求协调工作--> 软件资源

组成

程序的执行

任何一个程序在计算机系统中执行前,必须先要得到计算机系统的内存空间后才能被装入内存,程序的执行要依靠中央处理器完成,并且程序在执行过程中需要调用公共服务子程序和共享文件,还要使用各种计算机外部设备,以完成信息的输入和输出。这里的中央处理器、内存空间、公共服务子程序和共享文件以及计算机外部设备等都是计算机系统中的资源。可见,任何程序的执行都要占用计算机系统的资源

程序均由CPU执行

CPU只能执行机器语言程序

CPU执行的程序均在内存中

但是,各个程序对计算机资源的要求和使用是不同的。不同用户对计算机资源的请求和使用还可能会产生冲突。

在计算机系统中,集中了资源管理功能和控制程序执行功能的一种软件,称为操作系统

操作系统

概念

操作系统是计算机系统中的一个系统软件,它是这样一些程序模块的集合-—它们能有效地组织和管理计算机系统中的硬件及软件资源,合理地组织计算机的工作流程,控制程序的执行,并向用户提供各种服务功能,使用户能够灵活,方便、有效地使用计算机,并使整个计算机系统能高效地运行

OS是直接控制和管理计算机硬件、软件资源,合理地对各类作业进行调度,以方便用户使用的程序集合

地位

 

 

操作系统的作用

资源管理

  • 组织和管理计算机系统中的硬件及软件资源在操作系统内部,为了掌握整个计算机系统的硬件和软件资源,设计了各种不同类型的表格或数据结构,将所有的硬件和软件资源一加以登记。资源的名称、类型、数量,用途、完好状态以及目前使用状态等信均在有关数据结构中保存,并动态、实时地不断更新着。

控制执行

  • 合理地组织计算机的工作流程,并控制程序的执行操作系统应该根据用户不同的要求,作业的各自特点以及紧急程度等,合理地组织计算机的工作流程,并控制程序的执行。
    这里的“合理”是指操作系统要“公平”对待不同的用户程序,保证系统不发生“死锁”和“饥饿”的现象。

提供服务

  • 向用户提供各种服务功能一方面,向程序开发和设计人员提供高效的程序设计接口;另一方面,向使用计算机系统的用户提供接口,使用户能够灵活、方便.有效地使用计算机。
    这里的“方便”是指操作系统的人机界面要考虑用户使用界面和程序设计接口两个方面的易用性、易学性和易维护性

 

操作系统的特征

并发性

并发性是指在计算机系统中同时存在若干个运行着的程序。从宏观上看,这些程序在同时向前推进。

实际从微观上看,在单处理器的环境下,这些同时运行着的程序是交替在中央处理器上运行的。在多处理器系统的环境中,多个程序的并发特征,不仅在宏观上是并发的,而且在微观上,即在处理器一级上,程序也是并发执行的。

  • 并发:指两个或多个事件在同一时间间隔内发生
  • 并行:指两个或多个事件在同一时刻发生。

共享性

共享性是指操作系统程序与多个用户程序共用系统中的各种资源。这种共享性是在操作系统控制下实现的。资源的共享性主要针对计算机系统中的如下几项重要资源:CPU、内存、外存、外部设备等

在计算机系统中,对资源的共享一般有两种形式:互斥共享同时共享

  • 互斥共享系统中的有些资源比如打印机、磁带机、扫描仪等,虽然可以供多个用户程序同时使用,但是在一段特定的时间内只能由某一个用户程序使用。通常把这样的资源称为临界资源。许多操作系统维护的重要系统数据都是临界资源,它们都要求被互斥共享
  • 同时共享系统中还有一类资源,它们在同一段时间内可以被多个程序同时访问。需要说明的是,这种同时访问是指宏观上的同时,微观上这些程序访问这个资源有可能还是交替进行的,而且它们交替访问这个资源的顺序对访问结果没有什么影响。一个典型的可以同时共享的资源就是硬盘,当然,那些可以重入的操作系统代码也是可以被同时共享的。

随机性(异步性)

操作系统的运行是在一种随机的环境下进行的。这种随机环境的含义是,操作系统不能对所运行的程序的行为以及硬件设备的情况作出任何事先的假定

虚拟性

指通过某种技术把一个物理实体变成若干个逻辑上的对应物。

操作系统的功能

按照资源管理的观点,操作系统的这些功能主要可以分为进程管理(处理器管理)存储管理文件管理作业管理设备管理。下面分别对它们进行简要的分析介绍。

进程管理

进程管理的实质是对中央处理器进行管理,所以进程管理往往又称为处理器管理。CPU是计算机系统中最宝贵的硬件资源,为了提高CPU的利用率,现代操作系统都采用了多道程序技术。为了描述多道程序的并发执行,就要引入进程的概念。通过对进程的管理,协调多道程序之间的关系,解决有关处理器分配调度策略、分配的实施和回收等问题,以使CPU资源得到最充分的利用。进程管理主要包括进程控制,进程同步,进程间通信进程调度等几方面的内容。

进程控制

在多道程序环境下,进程是操作系统进行资源分配的单位。进程控制主要处理进程的创建,状态转换、进程撤销以及相关的进程资源的分配与回收等事务。

进程同步

进程同步主要处理进程之间的关系,包括进程的同步和互斥。

多个进程的执行是并发的,它们以异步的方式运行,它的执行进度也是不可预知的。为了使多个进程可以有条不紊地运行,操作系统要提供进程同步机制,以协调进程的执行。一般有两种协调方式:互斥和同步

  • 互斥是指多个进程对临界资源访问时采用互斥的形式;
  • 同步则是在相互协作共同完成任务的进程之间,用同步机制协调它们之间的执行顺序。

进程间通信

进程间通信主要处理相互协作进程之间信息的交换问题。

进程间通信主要发生在相互协作的进程之间。既然需要协作,那么协作的进程之间,就存在着信息或数据的交换。由操作系统提供的进程间通信机制是协作的进程之间相互交换数据和消息的手段。一个比较典型的例子是通过网络的在线流式媒体播放。

进程调度

进程调度则是按照一定的算法从就绪队列中挑选一个进程在处理器中真正执行它。

调度又称为处理器调度,通常包括进程调度线程调度作业调度等。进程(线程)调度的任务就是从进程(线程)的就绪队列中按照一定的算法挑选出一个,把处理器资源分配给它,并准备好特定的执行上下文让它执行起来

存储管理

存储管理的任务是管理计算机内存的资源。在当代计算机系统中,计算机内存空间越来越大,2GB的内存空间已是很普通的容量。内存空间还受到CPU寻址能力的限制,内存的容量不能无限扩充

内存分配与回收

操作系统要为每个进程分配内存空间,在分配的过程中,还要尽可能提高内存资源的使用效能。对于已经退出运行的进程所占据的内存空间,操作系统还要把它们加以回收,重新使用。OS在实现内存分配时,可采取静态和动态两种方式。

  • 静态分配在静态分配方式中,每个作业的内存空间是在作业装入时确定的;在作业装入后的整个运行期间, 不允许该作业再申请新的内存空间,也不允许作业在内存中“移动”。
  • 动态分配在动态分配方式中,每个作业所要求的基本内存空间, 也是在装入时确定的,但允许作业在运行过程中,继续申请新的附加内存空间,以适应程序和数据的动态增涨,也允许作业在内存中“移动”。

为了实现内存分配,在内存分配的机制中应具有这样的结构和功能:

  • 内存分配数据结构,该结构用于记录内存空间的使用情况,作为内存分配的依据;
  • 内存分配功能,系统按照一定的内存分配算法,为用户程序分配内存空间;
  • 内存回收功能,系统对于用户不再需要的内存,通过用户的释放请求,去完成系统的回收功能。

内存保护

由于内存是供多个程序共享的,从理论上讲,每个程序都应该在分配给自己的内存区中运行。但是,从实际上看,必须考虑某个程序可能发生越界的情况。这是因为,首先,程序自身可能存在一些错误或隐患,造成程序的突然越界运行,不仅自身发生问题,而且影响或破坏了其他用户程序的运行。如果发生故障的程序越界到操作系统运行的内存空间,那么受到危害将更加严重。

在现代的计算机系统中,通常提供由硬件实现的存储保护机制,操作系统则利用这一机制实现进程的地址保护。

内存扩充

存储器管理中的内存扩充任务,并非是去扩大物理内存的容量,而是借助于虚拟存储技术,从逻辑上去扩充内存容量,使用户所感觉到的内存容量比实际内存容量大得多; 或者是让更多的用户程序能并发运行。这样,既满足了用户的需要,改善了系统的性能,又基本上不增加硬件投资。 为了能在逻辑上扩充内存,系统必须具有内存扩充机制, 用于实现下述各功能: 请求调入功能。 置换功能。

地址映射

一个应用程序(源程序)经编译后,通常会形成若干个目标程序;这些目标程序再经过链接便形成了可装入程序。这些程序的地址都是从“0”开始的,程序中的其它地址都是相对于起始地址计算的; 由这些地址所形成的地址范围称为“地址空间”。“其中的地址称为“逻辑地址”或“相对地址”。此外,由内存中的一系列单元所限定的地址范围称为“内存空间”, 其中的地址称为“物理地址”。

在多道程序环境下,每道程序不可能都从“0”地址开始装入(内存), 这就致使地址空间内的逻辑地址和内存空间中的物理地址不相一致。使程序能正确运行,存储器管理必须提供地址映射功能,以将地址空间中的逻辑地址转换为内存空间中与之对应的物理地址。该功能应在硬件的支持下完成。

文件管理

在计算机系统中的信息资源(如程序和数据)是以文件的形式存放在外存储器(如磁盘﹑磁带)上的,需要时再把它们装人内存。操作系统一般都提供很强的文件系统。文件管理的任务是有效地支持文件的存储、检索和修改等操作,解决文件的共享、保密和保护问题,以使用户方便、安全地访问文件

文件存储空间的管理

任何文件存放在外存储器上,都需要以某种形式占据外存储器的空间。文件系统的一个很重要的功能就是为每个文件分配一定的外存空间,并且尽可能提高外存空间的利用率和文件访问的效能。文件系统设置专门的数据结构记录文件存储空间的使用情况。为了提高空间利用率,存储空间的分配通常采用离散分配方式,以512字节或者几千字节的块为基本单位进行分配。

目录管理

目录管理的主要任务就是给出组织文件的方法,它为每个文件建立目录项,并对众多的目录项加以有效的组织,以便为用户提供方便的按名存取。

文件系统安全性

安全性包括文件的读写权限管理以及存取控制,用以防止未经核准的用户存取文件,防止越权访问文件,防止使用不正确的方式访问文件。

设备管理

操作系统应该向用户提供设备管理。这里的设备管理是指计算机系统中除了CPU和内存以外的所有输入,输出设备的管理。由操作系统的设备管理功能负责外部设备的分配,启动和故障处理,用户不必详细了解设备及接口的技术细节,就可以方便地通过操作系统提供的设备管理手段,对设备进行操作。
在操作系统中,为了提高设备的使用效率和整个系统的运行速度,需要采用一系列的技术,包括中断技术,通道技术,虚拟设备技术和缓冲技术等,尽可能发挥设备和主机的并行工作能力。

设备管理用于管理计算机系统中所有的外围设备, 而设备管理的主要任务是,完成用户进程提出的I/O请求; 为用户进程分配其所需的I/O设备;提高CPU和I/O设备的利用率;提高I/O速度;方便用户使用I/O设备。为实现上述任务,设备管理应具有缓冲管理、设备分配和设备处理,以及虚拟设备等功能。

设备处理

设备处理程序又称为设备驱动程序。其基本任务是用于实现CPU和设备控制器之间的通信,即由CPU向设备控制器发出I/O命令,要求它完成指定的I/O操作;反之由CPU接收从控制器发来的中断请求,并给予迅速的响应和相应的处理。

处理过程是:设备处理程序首先检查I/O请求的合法性,了解设备状态是否是空闲的,了解有关的传递参数及设置设备的工作方式。然后,便向设备控制器发出I/O命令,启动I/O设备去完成指定的I/O操作。设备驱动程序还应能及时响应由控制器发来的中断请求,并根据该中断请求的类型,调用相应的中断处理程序进行处理。对于设置了通道的计算机系统, 设备处理程序还应能根据用户的I/O请求,自动地构成通道程序。 

设备分配

设备分配的基本任务,是根据用户进程的I/O请求、系统的现有资源情况以及按照某种设备分配策略,为之分配其所需的设备。如果在I/O设备和CPU之间,还存在着设备控制器和I/O通道时,还须为分配出去的设备分配相应的控制器和通道。

为了实现设备分配,系统中应设置设备控制表、控制器控制表等数据结构,用于记录设备及控制器的标识符和状态。据这些表格可以了解指定设备当前是否可用,是否忙碌,以供进行设备分配时参考。在进行设备分配时,应针对不同的设备类型而采用不同的设备分配方式。对于独占设备(临界资源)的分配,还应考虑到该设备被分配出去后,系统是否安全。 设备使用完后,还应立即由系统回收。

缓冲管理

CPU运行的高速性和I/O低速性间的矛盾自计算机诞生时起便已存在。 而随着CPU速度迅速、大幅度的提高,使得此矛盾更为突出,严重降低了CPU的利用率。如果在I/O设备和CPU之间引入缓冲,则可有效地缓和CPU和I/O设备速度不匹配的矛盾,提高CPU的利用率,进而提高系统吞吐量。 因此,在现代计算机系统中, 都毫无例外地在内存中设置了缓冲区,而且还可通过增加缓冲区容量的方法,来改善系统的性能。

最常见的缓冲区机制有单缓冲机制、能实现双向同时传送数据的双缓冲机制,以及能供多个设备同时使用的公用缓冲池机制。

用户接口

接口管理的任务是为用户提供一个使用系统的良好环境,使用户能有效地组织自己的工作流程,并使整个系统能高效地运行

操作系统的发展

  • 手工操作
  • 监控程序(早期批处理)
  • 多道批处理
  • 分时系统
  • UNIX通用操作系统
  • 个人计算机操作系统
  • Android操作系统

操作系统的分类

批处理操作系统

工作方式

批处理操作系统的基本工作方式是:用户将作业交给系统操作员,系统操作员在收到作业后,并不立即将作业输入计算机,而是在收到一定数量的用户作业之后,组成一批作业,再把这批作业输人到计算机中。这批作业可在系统中形成一个连续的、自动转接的作业流。系统操作员然后启动操作系统,系统自动、依次地执行每个作业。最后由操作员将执行完毕的作业结果交给用户。

特点与分类

批处理操作系统的特点是成批处理。在批处理系统中,用户自己不能干预自己作业的运行。显然,在用户提交的作业投入运行之后,如果发现错误则无法及时改正,需要重新提交一份。批处理操作系统追求的目标是系统资源利用率高,作业吞吐率高

作业吞吐率是指单位时间内计算机系统处理作业的个数。

批处理操作系统的优点是作业流程自动化较高,资源利用率较高,作业吞吐量大,从而提高了整个系统效率。其缺点是用户不能直接与计算机交互,不适合调试程序。

依据系统的复杂程度和出现时间的先后,可以把批处理操作系统分类为简单批处理系统多道批处理系统

待解决的问题

多道批处理系统是一种十分有效,但又非常复杂的系统,为使系统中多道程序间能协调地运行,系统必须解决下述一系列问题:
(1) 处理机争用问题。既要能满足各道程序运行的需要,又要能提高处理机的利用率。
(2) 内存分配和保护问题。系统应能为每道程序分配必要的内存空间,使它们“各得其所”,且不会因某道程序出现异常情况而破坏其它程序。
(3) I/O设备分配问题。系统应采取适当的策略来分配系统中的I/O设备,以达到既能方便用户对设备的使用,又能提高设备利用率的目的

(4) 文件的组织和管理问题。系统应能有效地组织存放在系统中的大量的程序和数据,使它们既便于用户使用,又能保证数据的安全性。

(5) 作业管理问题。系统中存在着各种作业(应用程序),系统应能对系统中所有的作业进行合理的组织,以满足这些作业用户的不同要求。

(6) 用户与系统的接口问题。为使用户能方便的使用操作系统,OS还应提供用户与OS之间的接口。

分时系统

从操作系统的发展历史上看,分时操作系统出现在批处理操作系统之后,它是为了弥补批处理方式不能向用户提供交互式快速服务的缺点而发展起来的。

工作方式

在分时系统中,一台计算机主机连接了若干个终端,每个终端可由一个用户使用。用户通过终端交互式地向系统提出命令请求,系统接受用户的命令之后,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。用户根据系统送回的处理结果发出下一道交互命令。

特点

  • 多路性:指有多个用户在同时使用一台计算机。从宏观上看是多个人同时使用一个处理器,从微观上看是多个人在不同时刻轮流使用一个处理器。
  • 交互性:指用户根据系统响应的结果提出下一个请求。用户直接干预操作每一步的进行。
  • 独占性:指每个用户感觉不到计算机为其他人服务,就好像整个系统为他个人所独占一样。
  • 及时性:指系统能够对用户提出的请求及时给予响应。

一般通用操作系统结合了分时系统与批处理系统两种系统的特点。典型的通用操作系统是UNIX操作系统。在通用操作系统中,对于分时与批处理的处理原则是:分时优先,批处理在后。

实时系统

实时操作系统( Real Time Operating System ,RTOS)是指使计算机能在规定的时间内及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统主要目标是:在严格时间范围内,对外部请求作出反应,系统具有高度可靠性

分类

  • 硬实时系统硬实时系统对关键外部事件的响应和处理时间有着极严格的要求,系统必须满足这种严格的时间要求,否则会产生严重的不良后果。
  • 软实时系统软实时系统对事件的响应和处理时间有一定的时间范围要求,不能满足相关的要求会影响系统的服务质量,但是通常不会引发灾难性的后果。

实时系统为了能够实现硬实时或软实时的要求,除了具有多道程序系统的基本能力外,还需要具有以下几方面的能力。

  • 实时时钟管理
  • 过载防护
  • 高可靠性‘

嵌入式操作系统

嵌入式操作系统(Embedded Operating System)就是运行在嵌入式芯片环境中,对整个芯片以及它所操作、控制的各种部件装置等资源进行统一协调、调度﹑指挥和控制的系统软件。
嵌入式操作系统具有高可靠性、实时性、占有资源少、智能化能源管理、易于连接、低成本等优点。

个人计算机操作系统

个人计算机操作系统( Personal Computer Operating System)是一种单用户多任务的操作系统。个人计算机操作系统主要供个人使用,功能强,价格便宜,在几乎任何地方都可安装使用。它能满足一般人操作、学习,游戏等方面的需求。

网络操作系统

为计算机网络配置的操作系统称为网络操作系统。网络操作系统( Network Operating Sys-tem)是基于计算机网络的,在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网络管理、通信、安全、资源共享和各种网络应用。
网络操作系统把计算机网络中的各个计算机有机地连接起来,其目标是相互通信及资源共享。通过网络操作系统,用户可以使用网络中其他计算机的资源,实现相互计算机间的信息交换,从而扩大了计算机的应用范围。

分布式操作系统

将大量的计算机通过网络联结在一起,可以获得极高的运算能力及广泛的数据共享。这样一种系统称为分布式系统( Distributed System)。为分布式系统配置的操作系统称为分布式操作系统(Distributed Operating System) 。

分布式操作系统是网络操作系统的更高级形式,分布式操作系统除了保持了网络操作系统的各种功能之外,还具备如下的特征:

  • 分布式操作系统是一个统一的操作系统,在系统中的所有主机使用的是同一个操作系统。
  • 实现资源的深度共享。在网络操作系统中,由于各个主机使用不同的操作系统,不能随意地将一个计算任务从一台主机迁移到另一台主机执行。而在分布式系统中,通过统一的操作系统的调度,在某台主机上的一个计算任务可以迁移到另一台主机上执行,真正实现了处理机资源的共享
  • 透明性。整个分布式系统在用户眼里就像是一台具有强大功能的计算机系统。用户并不知道该分布式系统运行在多少台计算机上,各个主机地理位置上的差异对用户来讲是透明的,分布式操作系统屏蔽了这种差异。相应地,在网络操作系统中,用户能够清晰地感觉到本地主机和非本地主机之间的区别
  • 自治性。处于分布式系统中的各个主机都处于平等的地位,各个主机之间没有主从关系。一个主机的失效一般不会影响整个分布式系统

集群(Cluster)是分布式系统的一种。一个集群通常由一群处理器密集构成,集群操作系统专门服务于这样的集群。在集群操作系统的指挥下,可以用低成本的微型计算机和以太网设备等产品,构造出性能相当于超级计算机运算性能的集群。

研究OS的观点(了解)

操作系统是计算机系统中的一个极为重要的部分,担负着非常重大的职责,可以说操作系统身兼数职。对操作系统本质的不同看法,会影响操作系统的设计思想。

软件观点

从软件的观点来看,操作系统是一种大型软件系统,它是多种功能程序的集合。作为一种大型软件系统,操作系统有软件的外在特性和内在特性。

资源管理观点

在计算机系统中,硬件和软件资源可以分成以下几部分:中央处理器﹑存储器(内存和外存)、外部设备和信息(文件)。操作系统就是负责记录谁在使用什么样的资源,系统中还有哪些资源空闲,当前响应了谁对资源的要求,以及收回哪些不再使用的资源等。操作系统要提供一些机制去协调程序间的竞争与同步,提供机制对资源进行合理使用,施加保护,以及采取虚拟技术来“扩充”资源等。

进程观点

采用进程的观点,操作系统可看作是由多个可以同时独立运行的程序和一个对这些程序进行协调的核心所组成。每个进程都完成某一特定任务,任务可以来自用户提交的作业,也可来自操作系统。

虚拟机观点

在操作系统的支持下,用户不需要直接操作硬件机器(称为裸机),而是通过操作系统提供的各种手段来控制和使用计算机。操作系统把原来的计算机(裸机)扩充成为功能强﹑使用方便的计算机系统,我们把这种计算机系统称为虚拟计算机,而把操作系统的全部功能,包括系统调用、命令作业控制语言等,统称为操作系统虚机器。

服务提供者观点

从用户的角度,站在操作系统之外观察操作系统,则可以认为该服务提供者为用户提供了比裸机功能更强,服务质量更高,更方便、灵活的虚拟机器。为用户使用便利,该服务提供者提供了一组功能强大、方便、易用的广义指令(称为系统调用)

操作系统的结构

所谓操作系统的结构,是指操作系统各部分程序的存在方式及相互关系

若操作系统的各部分程序以程序模块方式存在,相互之间通过调用建立起关系,那么这种操作系统具有模块接口结构

若各部分程序以进程的方式存在,相互之间通过通信建立起关系,那么这种操作系统具有进程结构

若操作系统能按照诸模块的调用顺序或主进程的信息发送顺序把模块进程分层,各层之间只能单向依赖,这样就分别产生了模块层次结构的操作系统或进程层次结构的操作系统。

模块化操作系统结构

OS是采用“模块化程序设计”技术,按其功能划分为若干个独立的模块,管理相应的功能,同时规定好各模块之间的接口,以实现其交互,对较大模块又可按子功能进一步细分下去。

优点
  • 提高了OS设计的正确性、可理解性
  • 容易扩充和维护
  • 加速了OS的开发过程
缺点
  • 模块及接口划分较困难
  • 从功能上划分模块,未区别共享资源和独占资源
  • 由于管理的差异,使OS结构变得不够清晰

层次结构

分层式OS结构是对模块化结构的一种改进,它按分层式结构设计的基本原则,将OS 划分为若干个层次,每一层都只能使用其底层所提供的功能和服务,从硬件开始,在其上面一层一层地自底向上增添相应功能的软件,这种OS结构称为分层式OS结构。

特点
  • 每一步设计都建立在可靠的基础上,结构更清晰
  • 调试和验证更容易,正确性更高
  • 缺点:系统效率降低了。

微内核结构

在OS内核中只留下一些最基本的功能,而将其他服务分离出去,由工作在用户态下的进程来实现,形成所谓“客户/服务器”模式。客户进程可通过内核向服务器进程发送请求,以获取OS的服务。

特点
  • 小而精练
  • 系统的灵活性和可扩充性好
  • 系统的可靠性高
  • 适用于分布式系统

 

微信关注

WeChat

 

阅读剩余
THE END