加入收藏 | 设为首页 | 会员中心 | 我要投稿 天瑞地安资讯网 (https://www.52baoding.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Unix > 正文

Linux操作系统:如何理解操作系统的结构设计?

发布时间:2022-10-24 17:30:52 所属栏目:Unix 来源:转载
导读: 这个知识点介绍了操作系统的四种结构,即整体结构、层次结构、虚拟机结构和客户机-服务器结构。你要清楚地知道,这四种结构是什么?目前典型的操作系统都采用的是什么结构。你还需要了解一

这个知识点介绍了操作系统的四种结构,即整体结构、层次结构、虚拟机结构和客户机-服务器结构。你要清楚地知道,这四种结构是什么?目前典型的操作系统都采用的是什么结构。你还需要了解一下UNIX和 Linux系统的核心结构。

(一)整体结构

早期的操作系统多数都采用这种体系结构。这种体系结构其实是没有结构的,各组成单位密切联系,好似“铁板一块”,顾名整体结构。

如图1-7所示,整体结构的操作系统中各个模块之间直接调用,不分层次。优点是耦合紧密,运行的效率高;缺点是系统的结构关系不清晰,难于进行扩充和修改,会“牵一发而动全身”,使得系统的可靠性降低,模块间会出现循环调用,这有很大危险性。

模块调用示意图

(二)层次结构

层次结构操作系统的设计思想是:按照操作系统各模块的功能和相互依存关系,把系统中的模块分为若干层,其中任一层模块(除底层模块外)都建立在它下面一层的基础上。因而,任一层模块只能调用它下层中的模块,而不能调用高层的模块。

第一个按这种方式构造的操作系统是THE系统,1968年由E.W.Dijkstra和他的学生们建造的。它是一个简单的批处理系统,有6层,如图所示

THE操作系统的层次结构

现在实际使用的操作系统多数都采用层次结构,如著名的UNIX系统的核心层就采用层次结构。层次结构既具有上述整体系统的长处,又有结构关系清晰,系统的可靠性、可移植性和可维护性强等优点。

但是,一个操作系统应划分多少层、各层处于什么位置、相互间如何联系等并无固定的模式,在实际设计上这有很多困难。一般原则是:接近用户应用的模块在上层,贴近硬件的驱动程序模块在下层。处于下层的程序模块也称作操作系统的内核,这一部分模块包括中断处理程序、各种常用设备的驱动程序、以及运行频率较高的模块(如时钟管理程序、进程调度和低级通信模块以及被许多模块公用的程序、内存管理程序)等。为了提高操作系统的执行效率和便于实施特殊保护,它们一般常驻内存。

(三)虚拟机结构

操作系统的虚拟机结构是以一个操作系统作为底层基本平台,称为“主OS”。在它上面安装并运行虚拟机软件,将本地主机上的硬盘和内存划分出一部分或几部分,虚拟成若干台机器,每台机器可以运行单独的操作系统而互不干扰,从而在同一台裸机上可以同时运行多个操作系统。这些“新”机器各自拥有自己独立的CMOS,硬盘和操作系统(通常称为“客OS”),你可以像使用普通机器一样对它们进行分区、格式化、安装系统和应用软件等操作,还可以将这几个操作系统联成一个网络。

IBM的VM/370系统是虚拟机结构的一个典型实例,如图1-9所示。其核心部分是虚拟机监督程序(VMM),它运行在裸机上,并形成多道程序环境——它对上一层提供多台虚拟机。这些虚拟机仅仅是裸机硬件的复制品,包括核心态/用户态,I/O机构、中断以及实际机器所具有的其他成分。当然,这些虚拟机是通过共享物理机器资源来实现的。

带CMS的VM/370结构

由于每台虚拟机在功能上就等同于一台实际的裸机,VM/370从效果上就呈现出多台裸机。这样,不同的虚拟机上往往运行不同的操作系统,有的运行批处理或事务处理系统,而另外的运行单用户、交互式系统(即CMS),供分时用户交互使用。这样,不需要重新启动计算机,就可以同时运行多个操作系统。

采用虚拟机的优点是:

缺点是:对硬件的要求比较高,主要是CPU,硬盘和内存。虽然虚拟机结构简化了系统,但它本身仍非常复杂,因为要模拟许多机器实体并不是一件简单的工作。另外,执行任务时的速度会受到一些影响。

目前常见的虚拟机有四种:VMware Workstation、Microsoft Virtual_PC、Windows Server 2008 R2/Windows 8 Hyper-V和VirtualBox。

(四)客户机-服务器结构

现代操作系统有一种发展趋势,就是把实现扩展机器功能的这部分代码向上移入更高层次中,从而尽可能地使操作系统保持最小的核心,因而称作微内核(如Mach操作系统)。采用这种方法构造操作系统通常是把所有非本质成分从核心移出,而以用户进程的身份实现它们的功能。用户进程(也称客户进程)为了请求一个服务(如读取一个文件块),要向服务器进程发送请求,后者接收该请求,进行工作,然后发回结果。

客户-服务器系统模型

客户机-服务器结构的优点是:

1.UNIX系统

UNIX是当代最著名的多用户、多进程、多任务分时操作系统。

UNIX的前身是MULTICS操作系统。MULTICS是在1968-1969年间由MIT, AT&T和GE等众多单位联合开发的大型、多用户分时系统,美国AT&T公司Bell实验室的Ken Thompson 与Dennis Ritchie也参加了该项目的开发工作。在1970年, Ken Thompson用汇编语言在PDP-7计算机上设计了一个小型的操作系统,取名为UNIX。1971年,Dennis Ritchie开发了C语言,并在1973年用C语言重写了UNIX,这就成为今日UNIX的最初蓝本。

UNIX的主要特点有:可移植性好,在微机工作站、小型机到大型机上都能运行;有良好的用户界面,包括系统调用、shell命令和图形用户界面;树形分级结构的文件系统;字符流式文件;丰富的核外系统程序,提供了相当完备的程序设计环境;设计思想先进,核心精干;提供了管道机制;提供电子邮件和对网络通信的有力支持,是Internet网上服务器级的主流操作系统;系统安全,可靠性高。

UNIX族系演变过程

UNIX系统可分为三层:靠近硬件的底层是内核,即UNIX操作系统常驻内存部分;核心外的中间层是shell层;最高层是应用层。内核是UNIX操作系统的主要部分,它实现进程管理、存储管理、文件系统和设备管理等功能,从而为核外的所有程序提供运行环境。

UNIX S_5(即system V)的核心结构如图所示。可以看出,UNIX核心基本上采用层次结构。它可视为左、右两大部分。左边是文件系统部分,右边是进程控制系统部分。文件系统部分涉及操作系统中各种信息的保存,通常都是以文件形式存放的,它相当于核心的“静态”部分。进程控制系统部分涉及操作系统中各种活动的调度和管理,通常以进程形式展现其生命活力,它相当于核心的“动态”部分。两部分存在密切联系。

UNIX S_5的核心结构图

2.Linux系统

在20世纪80年代,Andrew S. Tanenbaum教授为了满足教学的需要,自行设计了一个微型UNIX操作系统——MINIX。在此基础上,1991年,芬兰赫尔辛基大学的学生Linus Torvalds开发了Linux核心,并利用Internet发布了源代码,从而创建了Linux操作系统。之后unix系统设计,许多系统软件设计专家共同对它进行改进和提高。到现在为止,Linux已成为具有全部UNIX特征、与POSIX(可移植操作系统界面)兼容的操作系统。近年来,Linux在国际上发展迅速,并且得到包括IBM,COMPAQ,HP,Oracle,Sybase,Informix等许多软硬件公司的支持。它们提供技术支持,开发Linux的应用软件,将Linux系统的应用推向各个领域,并为它进入大型企业Intranet的应用领域奠定了基础。

有人曾说过,当今真正能与Windows匹敌的系统是Linux。Linux系统的功能强大而全面,与其他操作系统相比,具有一系列显著特点,包括:

(1)与UNIX兼容。所有UNIX的主要功能都有相应的Linux工具和实用程序。Linux实际上就是一个完整的UNIX类操作系统。

(2)自由软件,源码公开。Linux的许多重要组成部分直接来自自由软件项目。其源码是公开的,任何人只要遵守GPL(通用公共许可证)条款,就可以自由使用Linux源程序。

(3)性能高,安全性强。在相同的硬件环境下,Linux可以像其他著名的操作系统那样运行,提供各种高性能的服务,可以作为中小型ISP或Web服务器工作平台。

(4)便于定制和再开发。在遵从GPL版权协议的条件下,各部门、企业、单位或个人可根据自己的实际需要和使用环境对Linux系统进行裁剪、扩充、修改或者再开发。

(5)互操作性高。Linux操作系统能够以不同的方式实现与非Linux系统的不同层次的互操作,如Linux可以为基于MS DOS,Windows及其他UNIX的系统提供文件存储、打印机、终端、后备服务及关键性业务应用等。

(6)全面的多任务和真正的32位操作系统。Linux和其他UNIX系统一样,是真正的多任务系统,它允许多个用户同时在一个系统上运行多道程序。Linux支持多种硬件平台。

从结构上看,Linux操作系统是采用整体结构的操作系统,即所有的内核系统功能都包含在一个大型的内核软件之中。当然,Linux系统也支持可动态装载和卸载的模块结构。利用这些模块,可以方便地在内核中添加新的组件或卸载不再需要的内核组件。Linux系统内核结构框图如图所示。

Linux系统内核结构框图

常见的国内外Linux发行版本有以下几种:Red Hat、Turbo Linux、Slackware、Open Linux、SuSE Linux、Debian、红旗Linux、中软Linux等。

(编辑:天瑞地安资讯网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章