常见的操作系统结构有整体式结构、层次式结构、微内核(客户/服务器)结构等。下面对这些常见的操作系统结构做简要的介绍。
整体式结构
这是早期操作系统设计中所采用的方法,即首先确定操作系统的总体功能,然后将总功能分解为若干个子功能,实现每个子功能的程序称为模块。再按照功能将上述每个大模块分解为若干个较小的模块,如此下去,直至每个模块仅包含单一功能或紧密联系的小功能为止,即分解为最基本的模块为止。最后通过接口将所有模块连接起来形成一个整体。我们把这种操作系统的结构称之为模块组合结构。它的主要优点是,结构紧密,接口简单直接,系统效率较高。此时,操作系统是一个有多种功能的系统程序,可以看成是一个整体模块,也可看成是由若干个模块按一定的结构方式组成的。模块组合法(或称无序模块法、模块接口法等)中,系统中的模块不是根据程序和数据本身的特性而是根据它们完成的功能来划分的,数据基本上作为全程量使用。在系统内部,不同模块的程序之间可以不加控制地互相调用和转移,信息的传递方式也可以根据需要随意约定,因而可能造成模块间的循环调用。
模块组合法的缺点有以下三点。
第一,模块间转接随便,各模块互相牵连,独立性差, ...
任何事物都有其内部的结构。结构是构成一个事物内部的各种基本成份以及这些基本成份之间的关系。
软件同样有内部结构。为了设计和掌握一个复杂的大型软件系统,设计者总是要将它分解成若千个小的相对独立的成份。这样,对每一个成份就比较容易掌握,而且这种分解往往使得各个成份之间的联系较为简单。
软件结构研究的对象主要是组成软件的各部分划分的原则以及它们之间的关系(即通信),简言之,就是软件的构成法则和组合方法。对软件结构的探讨是从
Dijkstra提出的结构化程序设计思想开始的,经过了若干年的研究及实践已经取得了很大进展。
操作系统结构设计的重要性
如何把一个大型软件划分成若干较小的模块,以及这些模块之间怎样接口。操作系统是一个具有并发特性的大型程序,模块间的接口是相当复杂的,信息交换也是十分频繁的、因而对结构的研究就显得更加重要了。而任何一个软件开发出来投入运行之后,就进入了系统维护阶段。只有易读、易懂,维护人员才能真正了解操作系统的结构和工作原理,从而做好系统维护工作。
所谓操作系统的结构,是指操作系统各部分程序的存在方式及相互关系。若操作系统的各部分程序以程序模块方式存在,相互之间通过调用建立 ...
操作系统是计算机系统的重要组成部分,是计算机系统工作时经常起作用的程序。同时,它又是一种复杂程度高的大型程序,为使计算机系统可靠而有效地工作,必须配置一个高质量的操作系统。
一个高质量的操作系统应具有可靠性、高效性、易维护性、易移植性、安全性和简明性等特征。
可靠性
可靠性包含了正确性和健壮性两个方面的含义。
操作系统是计算机系统中最基本、最重要的软件。随着计算机应用范围的日益扩大,对操作系统的可靠性要求也越来越高。可靠性差的操作系统将严重影响使用效果。例如,用于导弹控制的操作系统必须绝对可靠,否则所造成的后果将不堪设想。
影响操作系统正确性的因素有很多,最主要的是并发、共享以及随之带来的不确定性。
并发使得系统中各条指令流的执行次序可以任意交叉;而共享导致进程对系统资源的竞争,使不同的指令执行序列之间产生直接和间接的相互制约;以上两点原因又会引起系统的不确定。这种不确定性要求系统能动态地应付随时发生的各种内部和外部事件。因此,研究操作系统的结构是相当必要的。
可靠性除了正确性这一基本要求外,还应包括能在预期的环境条件下完成所期望的功能的能力。在发生硬件故障或某种意外的环境下,操作系统 ...
操作系统的设计过程一般可分为三个部分:功能设计、算法设计和结构设计。操作系统的三方面设计是互相渗透的,不能截然分开。在任何一个方面中,其总的目标是不变的,即要求能够设计出一个具有好结构、高功效,又具有所需要功能的操作系统。
功能设计
功能设计指的是根据系统的设计目标和使用要求,确定所设计的操作系统应具备哪些功能以及操作系统的类型。
算法设计
算法设计是根据计算机的性能和操作系统的功能,来选择和设计满足系统功能的算法和策略,并分析和估算其效能。
结构设计
结构设计则是按照系统的功能和特性要求,选择合适的结构,使用相应结构设计方法将系统逐步地分解、抽象和综合,使操作系统结构清晰、简明、可靠、易读、易修改,而且使用方便,适应性强。
我们已经知道,操作系统是一个极其复杂和庞大的软件系统,操作系统本身以及它所管理的对象都是并发的系统,因而操作系统设计有着不同于一般应用系统设计的特征。那么一个操作系统的设计开发会有什么问题呢?本文就操作系统的设计开发所面临的问题、操作系统的设计阶段、设计目标以及操作系统的结构设计做一些探讨,对操作系统的设计开发问题的探讨,有助于读者全面地理解掌握操作系统的本质。
首先讨论在操作系统设计过程中,面临的主要困难。在操作系统设计的过程中主要困难有:设计复杂程度高、正确性难以保证和研制周期长等问题。下面分别进行简要的分析。
设计复杂程度高
操作系统的复杂程度主要表现在:程序长,有的功能模块包含数百万条指令;接口信息多,各个组成部分之间的信息交换很多,而且错综复杂;动态性强,程序本身包含较多的动态部分;并行性强,不同部分之间可以同时操作。下面我们简要地叙述操作系统可能面临的各种复杂问题。
操作系统是一个很大的程序,现代的UNIX操作系统有超过100万行的代码,Windows
2000有超过2900万行的代码。在操作系统中,各种子系统,如文件系统与内存系统之间的相互作用是不可预测的。操作系统必须处 ...
将大量的计算机通过网络连结在一起,可以获得极高的运算能力及广泛的数据共享。这样一种系统称作为分布式系统(Distributed
System)。为分布式系统配置的操作系统称为分布式操作系统(Distributed Op
ting System)。
分布式操作系统是网络操作系统的更高级形式,分布式操作系统除了保持了网络操作系统的各种功能之外,还具备如下的特征
分布式操作系统是一个统一的操作系统,在系统中的所有主机使用的是同一个操作系统。
实现资源的深度共享。在网络操作系统中,由于各个主机使用不同的操作系统,不能随意地将一个计算任务从一台主机迁移到另一台主机执行。而在分布式系统中,通过统一的操作系统的调度,在某台主机上的一个计算任务可以迁移到另一台主机上执行,真正实现了处理器资源的共享。
透明性。即在用户眼里整个分布式系统像是一台具有强大功能的计算机系统。用户并不知道该分布式系统运行在多少台计算机上,各个主机地理位置上的差异对用户来讲是透明的,分布式操作系统屏蔽了这种差异。相应地,在网络操作系统中,用户能够清晰地感觉到本地主机和非本地主机之间的区别。
自治性。即处于分布式系统中的各个主机 ...
为计算机网络配置的操作系统称为网络操作系统。网络操作系统(Network
Operating
System)是基于计算机网络的、在各种计算机操作系统之上按网络体系结构协议标准设计开发的软件,它包括网络管理、通信、安全、资源共享和各种网络应用。
网络操作系统把计算机网络中的各个计算机有机地连接起来,其目标是相互通信及资源共享。通过网络操作系统,用户可以使用网络中其他计算机的资源、实现相互计算机间的信息交换,从而扩大了计算机的应用范围
计算机网络有不同的模式。在集中式模式中,运算处理在主计算机里发生,终端仅作为输入输出设备使用,通过连接两台或更多主机的方式构成计算机网络。在分布式模式中,每台计算机都有运算处理能力,多台计算机通过网络交换数据并共享资源和服务。在分布式模式中,网络环境中的计算机不仅能共享数据、资源及服务,还能够共享运算处理能力。
个人计算机操作系统(Personal Computer Operating
System)是一种单用户多任务的操作系统。个人计算机操作系统主要供个人使用,功能强,价格便宜,在几乎任何地方都可安装使用。它能满足一般人操作、学习、游戏等方面的需求。个人计算机操作系统的主要特点是:计算机在某一时间内为单个用户服务;采用图形界面人机交互的工作方式,界面友好;使用方便,用户无须具备专门知识,也能熟练地操纵系统。
现如今常见的有:Windows、MacOS、Ubuntu Desktop、Ubuntu
Kylin(优麒麟)等等
在各种电器、电子和智能机械上,嵌入安装着各种微处理器或微控制芯片。嵌入式操作系统(Embedded
Operating
System)就是运行在嵌入式芯片环境中,对整个芯片以及它所操作、控制的各种部件装置等资源进行统一协调、调度、指挥和控制的系统软件。
嵌入式操作系统具有高可靠性、实时性、占有资源少、智能化能源管理、易于连接、低成本等优点。嵌入式操作系统的功能可针对需求进行裁剪、调整和生成,以便满足最终产品的设计要求。
嵌入式操作系统通常配有对应的嵌入式操作系统开发环境,在开发环境中提供了源码级可配置的系统模块设计、多种的同步原语、可选择的调度算法、可选择内存分配策略、定时器与计数器、多方式中断处理支持、多种异常处理选择、多种通信方式支持、标准C语言库、数学运算库和开放式应用程序接口。用户可以使用嵌入式操作系统开发环境,设计开发出符合各种应用要求的定制嵌入式操作系统。
嵌入式操作系统是嵌入式系统(Embedded
System)的控制中心,而嵌入式系统则是嵌入式操作系统、相应设备环境与应用环境的结合,是一个很宽的概念。从字面理解好像“嵌入”就应该很小,实际上并不是这样的,小到手机的通信 ...
实时操作系统(Real Time Operating
System,RTOS)是指,使计算机能在规定的时间了弥剂内,及时响应外部事件的请求,同时完成对该事件的处理,并能够控制所有实时设备和实时任务协调一致地工作的操作系统。实时操作系统主要目标是:在严格时间范围内,对外部请求做出反应,系统具有高度可靠性。
实时操作系统主要有两类:
第一类是硬实时系统。硬实时系统对关键外部事件的响应和用处,集理时间有着极严格的要求,系统必须满足这种严格的时间要求,不则合产生严重的不良后发出制系统就是硬实时的,它对飞行数据和外部数据采集与处理时机的把握要非常严格,否则就有可能造成飞机碰撞这样的灾难后果。这种时间精确度的要求通常会在微秒以下。
第二类是软实时系统。软实时系统对事件的响应和处理时间有一定的时间范围要求,不能满足相关的人时间要求会影响系统的服务质量,但是通常不会引发灾难性的后果。如视频(信息)处理、电的反信(自动交换机)、银行、飞机订票等领域的信息处理。在一个网络视频服务中心中,如果度远不能将视频信息连续定期地(如每一秒钟每个用户25帧图像)传送给多个用户,用户将会理完感觉到影像的停滞、跳动或变形 ...