计算机的体系结构
扫描二维码
随时随地手机看文章
计算机操作系统诞生初期,其体系结构就属于简单体系结构,由于当时各式各样影响因素的作用,如硬件性能、平台、软件水平等方面的限制,使得当时的计算机操作系统结构呈现出一种混乱且结构模糊的状态,其操作系统的用户应用程序和其内核程序鱼龙混杂,甚至其运行的地址和空间都是一致的。这种操作系统实际上就是一系列过程和项目的简单组合,使用的模块方法也相对较为粗糙,因此导致其结构宏观上非常模糊。
随着科学技术的不断发展和进步,硬件及其平台的水平和性能得到了很大程度的提高,其数量和种类也与日俱增,操作系统的复杂性也逐渐加深,其具备的功能以及性能越来越多,在此背景下,单体内核结构的操作系统诞生并得到了应用,例如UNIX操作系统、windows NT/XP等。一般情况下,单体内核结构的操作系统主要具备以下几种功能,分别是文件及内存管理、设备驱动、CPU调度以及网络协议处理等。由于内核的复杂性不断加深,相关的开发设计人员为了实现对其良好的控制,逐渐开始使用了一些较为成熟的模块化方法,并根据其不同的功能将其进行结构化,进而将其划分为诸多的模块,例如文件及内存管理模块、驱动模块、CPU调度模块及网络协议处理等。这些模块所使用的地址和空间与内核使用的完全一致,其以函数调用的方式构建了用于通讯的结构来实现各个模块之间的通讯。在使用模块化的方法以后,只要其通讯接口没有发生明显的变化,即使整个结构中的任何一个模块发生变化也不会对结构中的其他模块造成任何的影响,为其系统的维护和改良扩充提供了便利。虽然单体内核结构的计算机操作系统经过了模块化的处理,但是其中的全部模块仍然是在硬件之上、应用软件之下的操作系统核心中运转和工作。模块与模块之间活动的层次没有任何的差别。
层次式结构的计算机操作系统是为了减少以往操作系统中各个模块之间由于联系紧密而带来的各种问题而诞生的,其可以做大程度的减少甚至是避免循环调用现象的发生,确保调用有序,为操作系统设计目标的实现奠定了坚实的基础。在层次式结构的计算机操作系统之中,其是由诸多系统分为若干个层次的,其最底层是硬件技术,其他每一个层级均是建立在其下一层级之上的。在设计其计算机操作系统内核时,主要采用与抽象数据类型十分类似的设计方法进行的,在系统中的每一个层级均包含着多种数据和操作,且每一个的数据和操作是其他层不可见的,在每一层当中都配备了用于其他层使用的一操作接口,同时每一层发生的访问行为只能针对其下层进行,不能访问其上层的数据和服务,严格遵守了调用规则,在很大程度上避免了其他层次对某一层次的干扰和破坏。对于理想的层次式计算机系统体系结构来说,其之间的联系不仅仅是单向依赖性的,同时各个层级之间也要具备相互的独立性,且只能对低层次的模块和功能进行调用,例如THE系统。但是这种理想的全序层次式计算机操作系统在现实中建成是较为困难的,其无法完全避免模块之间循环调用现象的出现,某个层级之间仍旧存在某种循环关系,这种层次式结构又被叫作半序层次式计算机操作系统,例如SUE操作系统。
微内核计算机操作系统体系结构又可以被叫作客户机结构或者服务器结构,其实际上就是一种将系统中的代码转移到更高层次当中,尽可能地减少操作系统中的东西,仅仅保留一个小体积的内核,一般情况下其使用的主要方法就是通过用户进程来实现操作系统所具备的各项功能,具体来说就是用户进程可以将相关的请求和要求发送到服务器当中,然后由服务器完成相关的操作以后在通过某种渠道反馈到用户进程当中。在微内核结构中,操作系统的内核主要工作就是对客户端和服务器之间的通信进行处理,在系统中包括许多部分,每一个部分均具备某一方面的功能,例如文件服务、进程服务、终端服务等,这样的部分相对较小,相关的管理工作也较为便利。这种机构的服务的运行都是以用户进程的形式呈现的,既不在核心中运行,也不直接地对硬件进行访问,这样一来即使服务器发生错误或受到破坏也不会对系统造成影响,仅仅只是会造成相对应服务器的崩溃。
外核结构的计算机操作系统本质上就是为了获得更高的性能和灵活性而设计出来的,在系统中,操作系统接口处于硬件层,在内核中提出全部由以往操作系统带来的抽象,并将重点和关键放在了更多硬件资源的复用方面。在操作系统的外核结构中,内核负责的主要工作仅仅为简单的申请操作以及释放和复用硬件资源,其由以往操作系统提供的抽象全部在用户空间当中运行。