- 網絡操作系統:Windows Server 2012 R2配置與管理(第2版)
- 陳景亮 鐘小平 宋大勇
- 4662字
- 2020-11-24 14:32:05
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 服務器群集部署
目前主要有兩種服務器群集類型,一種以故障轉移或容錯為主,一旦其中有一臺或幾臺服務器出現停機,其運行的應用由群集中的其他服務器自動接管,從而提高整個系統的可用性;另一種以負載均衡為主,將服務和應用程序部署到多臺服務器,將用戶網絡請求分散到多臺服務器上,從而提高整個系統的性能。
- Linux設備驅動開發詳解(第2版)
- WordPress Mobile Web Development:Beginner's Guide
- 構建可擴展分布式系統:方法與實踐
- 開源安全運維平臺OSSIM疑難解析:入門篇
- Ganglia系統監控
- Installing and Configuring Windows 10:70-698 Exam Guide
- 精解Windows8
- Windows Phone應用程序開發
- Alfresco 4 Enterprise Content Management Implementation
- 零基礎學鴻蒙PC:新一代國產操作系統
- Advanced TypeScript Programming Projects
- 跟老男孩學Linux運維:Shell編程實戰
- Linux基礎使用與案例
- Learning BeagleBone
- Instant Responsive Web Design