网络操作系统:Windows Server 2012 R2配置与管理(第2版)
上QQ阅读APP看书,第一时间看更新

1.1 网络操作系统概述

计算机网络是由硬件和软件两部分组成的,其中网络操作系统是构建计算机网络的软件核心和基础,是网络的心脏和灵魂。网络操作系统与单机操作系统之间并没有本质的区别,仅仅是增加了网络连接功能和网络服务,它是向网络计算机提供服务的特殊操作系统。由于网络操作系统是运行在服务器之上的,所以有时也将它称为服务器操作系统。

1.1.1 网络操作系统的概念

严格地说,单机操作系统只能为本地用户使用本机资源提供服务,不能满足开放的网络环境的要求。与单机操作系统不同,网络操作系统服务的对象是整个计算机网络,具有更复杂的结构和更强大的功能,必须支持多用户、多任务和网络资源共享。

对于联网的计算机系统来说,它们的资源既是本地资源,又是网络资源;既要为本地用户使用资源提供服务,又要为远程网络用户使用资源提供服务。这就要求网络操作系统能够屏蔽本地资源与网络资源的差异性,为用户提供各种基本网络服务功能,完成网络共享系统资源的管理,并提供网络系统的安全性服务。

网络操作系统是建立在计算机操作系统基础上,用于管理网络通信和共享资源,协调各主机上任务的运行,并向用户提供统一的有效的网络接口的软件集合。从逻辑上看,网络操作系统软件由以下3个层次组成。

位于低层的网络设备驱动程序。

位于中间层的网络通信协议。

位于高层的网络应用软件。

它们相互之间是一种高层调用低层,低层为高层提供服务的关系。

与一般操作系统不同的是,网络操作系统可以将它们的功能分配给连接到网络上的多台计算机,另一方面,它又依赖于每台计算机的本地操作系统,使多个用户可以并发访问共享资源。

一个计算机网络除了运行网络操作系统,还要运行本地(客户机)操作系统。网络操作系统运行在称为服务器的计算机上,在整个网络系统中占主导地位,指挥和监控整个网络的运行。网络中的非服务器的计算机通常称为工作站或客户机,它们运行桌面操作系统或专用的客户端操作系统。

1.1.2 网络操作系统的工作模式

早期网络操作系统采用集中模式,实际上是由分时操作系统加上网络功能演变而成的,系统由一台主机和若干台与主机相连的终端构成,将多台主机连接形成网络,信息的处理和控制都是集中在主机上,UNIX就是典型的例子。现代网络操作系统主要有以下两种工作模式。

1.客户机/服务器(Client/Server)模式

客户机/服务器模式简称C/S模式,是目前较为流行的工作模式。它将网络中的计算机分成两类站点,一类是作为网络控制中心或数据中心的服务器,提供文件打印、通信传输、数据库等各种服务;另一类是本地处理和访问服务器的客户机。客户机具有独立处理和计算能力,仅在需要某种服务时才向服务器发出请求。服务器与客户机之间的关系如图1-1所示。

提示:服务器与客户机的概念有多重含义,有时指硬件设备,有时又特指软件(进程)。在指软件的时候,也可以称服务(Service)和客户(Client)。

采用这种模式的网络操作系统软件由两部分组成,即服务器软件和客户机软件,两者之间的关系如图1-2所示,其中服务器软件是系统的主要部分。同一台计算机可同时运行服务器软件和客户端软件,既可充当服务器,也可充当客户机。

图1-1 服务器与客户机

图1-2 服务器软件与客户端软件

这一模式的信息处理和控制都是分布式的,任务由服务器和客户机共同承担,主要优点是数据分布存储、数据分布处理、应用实现方便,适用于计算机数量较多、位置相对分散、信息传输量较大的网络。NetWare和Windows网络操作系统采用的就是这种模式。

2.对等(Peer to Peer)模式

采用对等模式的网络操作系统允许用户之间通过共享方式互相访问对方的资源,联网的各台计算机同时扮演服务器和客户机两个角色,并且具有对等的地位。这种模式的主要优点是平等性、可靠性和可扩展性较好。它适用于小型计算机网络之间资源共享的场合,无需购置专用服务器。Windows 8操作系统就内置了对等式操作系统,通过相应的设置可以方便地实现对等模式网络。

1.1.3 网络操作系统的体系结构

操作系统的体系结构和设计方法都在不断更新,就网络操作系统来说,主要有层次结构和微内核结构两种类型,其中微内核结构与客户机/服务器模式结合起来。

1.内核组织方式:单内核与微内核

无论采用哪种体系结构,操作系统的任务至少都可划分为两类:内核模式和用户模式。内核是操作系统最底层的核心部分。以内核模式运行的代码可访问系统硬件和系统数据。为保护系统和数据,只允许某些代码以内核模式运行,而让其他代码都以用户模式运行。

操作系统设计的一个基本问题就是内核的功能设计。由于操作系统设计的目标和环境不同,内核的大小和功能有很大差别。网络操作系统主要有两种内核组织方式:单内核(monolithic kernel)和微内核(microkernel)。

(1)单内核

单内核结构在硬件层之上定义了一个抽象接口,以实现操作系统的功能,如进程管理、文件系统和存储管理等,这些功能由多个运行在内核模式(核心态)的模块来完成。这些模块通常按层次划分(图1-3),形成垂直型结构。尽管其中每一模块都各自实现自己的功能,但内核代码是高度集成的,所有模块都在同一内核空间上运行,模块之间的联系通过函数或过程调用来实现。

单内核的优点是运行效率高、核心部分简洁。但是由于内核具有较多的功能,整个内核偏大,内部模块之间互相调用的关系较为复杂,一个很小的bug就有可能导致整个系统崩溃。Linux和FreeBSD采用的就是典型的单内核结构。

(2)微内核

微内核是一种新型结构,其基本思想就是内核要尽可能小,将大量的操作系统功能放到内核之外去实现。如图1-4所示,微内核用水平型结构代替垂直型结构,内核中仅存放那些最基本的核心操作系统功能;内核外部的其他服务和应用,作为独立的服务器进程,在用户模式下运行,这些模块之间的联系通过微内核提供的消息传递机制来实现。

微内核体现了操作系统结构设计的新思想,将内核和核外服务程序的开发分离,可为特定应用程序或运行环境要求定制服务程序,具有较好的可伸缩性,简化了实现,提供了灵活性,很适合网络操作系统与分布式系统的构造。另外,微内核还能执行保护功能。

图1-3 单内核(核内分层)

图1-4 微内核(核外子系统)

2.层次式体系结构

层次式体系结构参照了结构化程序设计思想,对操作系统进行严格的分层,使得整个操作系统层次分明,如图1-5所示。UNIX和Linux系统采用的就是这种体系结构。

在采用层次结构的操作系统中,各个模块都有相对固定的位置和相对固定的层次。在严格的分层结构中,任何一层只能调用比它低的层次所提供的服务,并为其上层提供服务。这种结构的优点是功能明确,调用关系清晰(即高层对低层单向依赖),保证设计和实现的正确性;各层可分别实现,且便于扩充;高层错误不会影响到低层。缺点主要是效率低、层次之间的调用开销大、系统内核比较大。

3.微内核体系结构

微内核的提出是为了克服内核由于功能的增加而逐渐变大的缺点,基本的设计思想是将操作系统中与硬件直接相关的部分抽取出来作为一个公共层,称之为硬件抽象层(HAL)。如图1-6所示,这个硬件抽象层其实就是一种虚拟机,它向所有基于该层的其他层通过API接口提供一系列标准服务。操作系统的大部分代码只要在一种统一的硬件体系结构上进行设计就可以了。这种体系结构将必要的核心功能集成到微内核中,将绝大部分功能都放在微内核外面的一组服务器(进程)中实现。

微内核体系结构的优点是具有灵活性和可扩展性,增加新的功能或设备,不必修改内核;可靠性高,较少的微内核代码容易进行测试,较少的API接口为内核之外的操作系统服务生成高质量代码创造了条件;可移植性好,所有与特定CPU有关的代码均在内核中,因而把系统移植到一个新CPU上所做修改较小;支持分布式系统和网络系统。但是,现代微内核结构操作系统还存在着许多问题,目前主要用于研究性操作系统。

图1-5 层次式结构

图1-6 微内核结构

4.与客户机/服务器模式结合的微内核体系结构

由于客户机/服务器模式具有很多优点,微内核操作系统中几乎都采用这种模式。它将操作系统分成两大部分,一部分是运行在用户模式并以客户机/服务器方式运行的进程;另一部分是运行在内核模式的内核(即操作系统最基本部分)。微内核结构与客户机/服务器模式结合方式如图1-7所示,这种结合非常适合网络环境及分布式计算环境。

除内核部分外,操作系统的其他部分被分成若干相对独立的进程,每一个进程实现一类服务,称为服务器进程。用户进程也在该层并以客户机/服务器方式活动,是一种客户机进程。用户进程与服务器进程形成了客户机/服务器关系。客户机进程与服务器进程之间是借助微内核提供的消息传递机制来实现信息交互的。客户机和服务器都运行于相同的微内核中,让用户和服务器都以用户进程的方式运行,一台机器可以运行单个进程,多个客户机、多个服务器或二者的混合。

提示:在实际应用中,以单内核结构为基础的操作系统却一直占据着主导地位。微软声称Windows网络操作系统基于改良的微内核架构。

图1-7 微内核结构与客户机/服务器模式结合

1.1.4 常用的网络操作系统

随着计算机网络的迅速发展,市场上出现了多种网络操作系统并存的局面。各种操作系统在网络应用方面都有各自的优势,都极力提供跨平台的应用支持。目前主流的网络操作系统主要有Windows、UNIX和Linux。Windows操作系统的突出优点是便于部署、管理和使用,深受国内企业的青睐;UNIX 版本很多,大多要与硬件相配套,一般提供关键任务功能的完整套件,在高端市场处于领先地位;Linux 凭借其开放性和高性价比等特点,近年来获得了长足发展,市场份额不断增加。

1.1.5 服务器在网络中的部署

服务器是在网络环境中为用户计算机提供各种服务的计算机,承担网络中数据的存储、转发和发布等关键任务,是网络应用的基础和核心。运行网络操作系统的服务器在网络中起着关键作用。

服务器一般要为网络中的所有用户提供服务,用户对服务器访问的频繁程度远高于对其他计算机的访问,与服务器的连接往往成为网络瓶颈,为此在网络中部署服务器应当遵循以下4项基本原则。

服务器应当直接连接到中心集线设备(交换机或路由器)。

服务器应当连接至集线设备所能提供的最高速率的端口上。

服务器应当连接至性能最高的交换机上。

将需要频繁访问服务器的计算机与服务器连接到同一集线设备,如果中心集线设备端口受限,尽可能将其连接到该集线设备的直接下级集线设备,以减少交换层次。

这里给出常见的服务器部署的网络拓扑。

1.单一服务器部署

中小型网络通常部署一台服务器,服务器往往承担多种角色,如文件服务器、Web服务器、数据库服务器等,部署在网络的中心位置,如图1-8所示。

2.多服务器分层部署

大中型网络通常部署多台服务器,根据业务特点分层级部署。如图1-9所示,在核心层部署企业级服务器,为整个网络提供服务,如Web服务器、数据库服务器;在接入层或分支区域部署部门级服务器,主要为部门或分支机构提供服务,如文件和打印服务器。

图1-8 单一服务器部署

图1-9 多服务器分层部署

3.服务器链式部署

大型网站访问量大,对带宽要求高,往往需要多台服务器来承担不同角色并提供服务,最简单的是链式部署,让用户首先访问缓存服务器,如图1-10所示。

4.服务器群集部署

群集(Cluster)将多台服务器连接到一起,以一台服务器的形式向用户提供服务,旨在提高整个系统的性能和可用性。群集中的所有服务器通过高速网络相互连接,往往共享数据存储空间,拥有一个公共接口,用户通过该接口可以访问其中任意一台服务器,如图1-11所示。

图1-10 服务器链式部署

图1-11 服务器群集部署

目前主要有两种服务器群集类型,一种以故障转移或容错为主,一旦其中有一台或几台服务器出现停机,其运行的应用由群集中的其他服务器自动接管,从而提高整个系统的可用性;另一种以负载均衡为主,将服务和应用程序部署到多台服务器,将用户网络请求分散到多台服务器上,从而提高整个系统的性能。