標籤: 暫無標籤

操作系統(Operating System,簡稱OS), 是電子計算機系統中負責支撐應用程序運行環境以及用戶操作環境的系統軟體,同時也是計算機系統的核心與基石。它的職責常包括對硬體的直接監管、對各種計算資源(如內存、處理器時間等)的管理、以及提供諸如作業管理之類的面嚮應用程序的服務等等。操作系統的理論是計算機科學中一個古老而又活躍的分支,而操作系統的設計與實現則是軟體工業的基礎與核心。操作系統是控制其他程序運行,管理系統資源並為用戶提供操作界面的系統軟體的集合。

1 操作系統 -定義

操作系統(Operating System,簡稱OS), 是電子計算機系統中負責支撐應用程序運行環境以及用戶操作環境的系統軟體,同時也是計算機系統的核心與基石。操作系統是控制和管理計算機軟硬體資源、合理組織計算機工作流程,以及方便用戶操作的程序集合。它的職責常包括對硬體的直接監管、對各種計算資源(如內存、處理器時間等)的管理、以及提供諸如作業管理之類的面嚮應用程序的服務等等。操作系統的理論是計算機科學中一個古老而又活躍的分支,而操作系統的設計與實現則是軟體工業的基礎與核心。
操作系統(英語;Operating System,簡稱OS)是一管理電腦硬體與軟體資源的程序,同時也是計算機系統的內核與基石。操作系統身負諸如管理與配置內存、決定系統資源供需的優先次序、控制輸入與輸出設備、操作網路與管理文件系統等基本事務。操作系統是管理計算機系統的全部硬體資源包括軟體資源及數據資源;控制程序運行;改善人機界面;為其它應用軟體提供支持等,使計算機系統所有資源最大限度地發揮作用,為用戶提供方便的、有效的、友善的服務界面。操作系統是一個龐大的管理控制程序,大致包括5個方面的管理功能:進程與處理機管理、作業管理、存儲管理、設備管理、文件管理。目前微機上常見的操作系統有DOS、OS/2、UNIX、XENIX、LINUX、Windows、Netware等。但所有的操作系統具有併發性、共享性、虛擬性和不確定性四個基本特徵。

操作系統的型態非常多樣,不同機器安裝的OS可從簡單到複雜,可從手機的嵌入式系統到超級電腦的大型操作系統。許多操作系統製造者對OS的定義也不大一致,例如有些OS集成了圖形化使用者界面,而有些OS僅使用文本介面,而將圖形界面視為一種非必要的應用程序。

操作系統理論在計算機科學中為歷史悠久而又活躍的分支,而操作系統的設計與實現則是軟體工業的基礎與內核。

2 操作系統 -類型

操作系統大致可分為6種類型。

①簡單操作系統。它是計算機初期所配置的操作系統,如IBM公司的磁碟操作系統DOS/360和微型計算機的操作系統CP/M等。這類操作系統的功能主要是操作命令的執行,文件服務,支持高級程序設計語言編譯程序和控制外部設備等。

②分時系統。它支持位於不同終端的多個用戶同時使用一台計算機,彼此獨立互不干擾,用戶感到好像一台計算機全為他所用。

③實時操作系統。它是為實時計算機系統配置的操作系統。其主要特點是資源的分配和調度首先要考慮實時性然後才是效率。此外,實時操作系統應有較強的容錯能力。

④網路操作系統。它是為計算機網路配置的操作系統。在其支持下,網路中的各台計算機能互相通信和共享資源。其主要特點是與網路的硬體相結合來完成網路的通信任務。

⑤分佈操作系統。它是為分佈計算系統配置的操作系統。它在資源管理,通信控制和操作系統的結構等方面都與其他操作系統有較大的區別。由於分佈計算機系統的資源分佈於系統的不同計算機上,操作系統對用戶的資源需求不能像一般的操作系統那樣等待有資源時直接分配的簡單做法而是要在系統的各台計算機上搜索,找到所需資源后才可進行分配。對於有些資源,如具有多個副本的文件,還必須考慮一致性。所謂一致性是指若干個用戶對同一個文件所同時讀出的數據是一致的。為了保證一致性,操作系統須控制文件的讀、寫、操作,使得多個用戶可同時讀一個文件,而任一時刻最多只能有一個用戶在修改文件。分佈操作系統的通信功能類似於網路操作系統。由於分佈計算機系統不像網路分佈得很廣,同時分佈操作系統還要支持并行處理,因此它提供的通信機制和網路操作系統提供的有所不同,它要求通信速度高。分佈操作系統的結構也不同於其他操作系統,它分佈於系統的各台計算機上,能并行地處理用戶的各種需求,有較強的容錯能力。

⑥智能操作系統。

3 操作系統 -功能

操作系統的主要功能是資源管理,程序控制和人機交互等。計算機系統的資源可分為設備資源和信息資源兩大類。設備資源指的是組成計算機的硬體設備,如中央處理器,主存儲器,磁碟存儲器,印表機,磁帶存儲器,顯示器,鍵盤輸入設備和滑鼠等。信息資源指的是存放於計算機內的各種數據,如文件,程序庫,知識庫,系統軟體和應用軟體等。

從資源管理角度看

操作系統具有以下五大功能。
(1) 進程管理
又稱處理器管理,其主要任務是對處理器的時間進行合理分配、對處理器的運行實施有效的管理。
(2) 存儲器管理
由於多道程序共享內存資源,所以存儲器管理的主要任務是對存儲器進行分配、保護和擴充。
(3) 設備管理
根據確定的設備分配原則對設備進行分配,使設備與主機能夠并行工作,為用戶提供良好的設備使用界面。
(4) 文件管理
有效地管理文件的存儲空間,合理地組織和管理文件系統,為文件訪問和文件保護提供更有效的方法及手段。
(5) 用戶介面
用戶操作計算機的界面稱為用戶介面(或用戶界面),通過用戶介面,用戶只需進行簡單操作,就能實現複雜的應用處理。用戶介面有兩種類型:
n      命令介面  用戶通過交互命令方式直接或間接地對計算機進行操作。
n      程序介面  供用戶以程序方式進行操作。程序介面也稱為應用程序編程介面(Application Programming Interface,API),用戶通過API可以調用系統提供的例行程序,實現既定的操作。

4 操作系統 -資源管理

系統的設備資源和信息資源都是操作系統根據用戶需求按一定的策略來進行分配和調度的。操作系統的存儲管理就負責把內存單元分配給需要內存的程序以便讓它執行,在程序執行結束后將它佔用的內存單元收回以便再使用。對於提供虛擬存儲的計算機系統,操作系統還要與硬體配合做好頁面調度工作,根據執行程序的要求分配頁面,在執行中將頁面調入和調出內存以及回收頁面等。

處理器管理或稱處理器調度,是操作系統資源管理功能的另一

操作系統操作系統
個重要內容。在一個允許多道程序同時執行的系統里,操作系統會根據一定的策略將處理器交替地分配給系統內等待運行的程序。一道等待運行的程序只有在獲得了處理器后才能運行。一道程序在運行中若遇到某個事件,例如啟動外部設備而暫時不能繼續運行下去,或一個外部事件的發生等等,操作系統就要來處理相應的事件,然後將處理器重新分配。

操作系統的設備管理功能主要是分配和回收外部設備以及控制外部設備按用戶程序的要求進行操作等。對於非存儲型外部設備,如印表機、顯示器等,它們可以直接作為一個設備分配給一個用戶程序,在使用完畢后回收以便給另一個需求的用戶使用。對於存儲型的外部設備,如磁碟、磁帶等,則是提供存儲空間給用戶,用來存放文件和數據。存儲性外部設備的管理與信息管理是密切結合的。

信息管理是操作系統的一個重要的功能,主要是向用戶提供一個文件系統。一般說,一個文件系統向用戶提供創建文件,撤銷文件,讀寫文件,打開和關閉文件等功能。有了文件系統后,用戶可按文件名存取數據而無需知道這些數據存放在哪裡。這種做法不僅便於用戶使用而且還有利於用戶共享公共數據。此外,由於文件建立時允許創建者規定使用許可權,這就可以保證數據的安全性。

5 操作系統 -程序控制

一個用戶程序的執行自始至終是在操作系統控制下進行的。一個用戶將他要解決的問題用某一種程序設計語言編寫了一個程序后就將該程序連同對它執行的要求輸入到計算機內,操作系統就根據要求控制這個用戶程序的執行直到結束。操作系統控制用戶的執行主要有以下一些內容:調入相應的編譯程序,將用某種程序設計語言編寫的源程序編譯成計算機可執行的目標程序,分配內存儲等資源將程序調入內存並啟動,按用戶指定的要求處理執行中出現的各種事件以及與操作員聯繫請示有關意外事件的處理等。

6 操作系統 -人機交互

操作系統的人機交互功能是決定計算機系統「友善性」的一個重要因素。人機交互功能主要靠可輸入輸出的外部設備和相應的軟體來完成。可供人機交互使用的設備主要有鍵盤顯示、滑鼠、各種模式識別設備等。與這些設備相應的軟體就是操作系統提供人機交互功能的部分。人機交互部分的主要作用是控制有關設備的運行和理解並執行通過人機交互設備傳來的有關的各種命令和要求。早期的人機交互設施是鍵盤顯示器。操作員通過鍵盤打入命令,操作系統接到命令后立即執行並將結果通過顯示器顯示。打入的命令可以有不同方式,但每一條命令的解釋是清楚的,唯一的。隨著計算機技術的發展,操作命令也越來越多,功能也越來越強。隨著模式識別,如語音識別、漢字識別等輸入設備的發展,操作員和計算機在類似於自然語言或受限制的自然語言這一級上進行交互成為可能。此外,通過圖形進行人機交互也吸引著人們去進行研究。這些人機交互可稱為智能化的人機交互。這方面的研究工作正在積極開展。

7 操作系統 -系統大全

早期操作系統(專利保護)非Unix商業操作系統Unix及類似系統麒麟操作系統(Kylin)其他
TRS-DOS,ROM OS's
TI99-4
Commodore PET,64,和 VIC-20,
第一套IBM-PC
蘋果電腦
Sinclair Micro和QnX等
CPM操作系統
MP/M-80
UCSD P-system
Mini-FLEX
SSB-DOS
CP/M-86
DR-DOS
FreeDOS
MS-DOS
PC-DOS
Mach 由卡納尼基梅隆大學研究
L4微內核 第二代微內核
CHORUS
Choices
Multics
OS-9
NSJ
Netware:一種網路伺服器操作系統
A/UX(Apple UNIX)
Unix
微軟Xenix
ChorusOS
Cromix
UNIflex
OS-9
IBM的AIX
BSD
FreeBSD
NetBSD
OpenBSD
DragonFly BSD
PC-BSD
Digital UNIX,即之後康柏Tru64
DNIX
HP的HP-UX
GNU/Hurd
SGI的IRIX
Inferno
Linux(或稱GNU/Linux)
Mac OS X
MenuetOS
Minix
OSF/1
Plan9
SCO的SCO UNIX
Sun的SunOS,即之後的Solaris
System V
Ultrix
UniCOS
OS/390
z/OS
Syllable

Acorn
Arthur
ARX
RISC OS
RISCiX
Amiga
AmigaOS
Atari ST
TOS
MultiTOS
MiNT

動態可擴展操作系統

MIT的Exo Kernel

華盛頓大學的 SPIN

哈佛大學的 VINO

illinois大學的Choices
ReactOS


蘋果電腦(Apple/Macintosh)Digital/康柏(Compaq)IBM微軟(Microsoft)西門子個人電子助理(PDA)操作系統智能手機操作系統
Apple DOS
ProDOS
Mac OS
Mac OS X
pink OS
BeOS
A/UX
Be
BeOS
BeIA
AIS
OS-8
RSTS/E
RSX-11
RT-11
TOPS-10
TOPS-20
VMS(后更名為OpenVMS)
OS/2
AIX
OS/400
OS/390
VM/CMS
DOS/VSE
VSE/SP
VSE/ESA
OS/360
MFT
MVT
SVS
MVS
TPF
ALCS
z/OS
PC-DOS
pink OS

MS-DOS
Xenix
Microsoft Bob
基於MS-DOS操作系統的Windows
Windows 1.0
Windows 2.0
Windows 3.1
Windows 95
Windows 98
Windows ME
Windows NT
Windows NT 3.5
Windows NT 4
Windows 2000
Windows XP

Windows XPSP1

Windows XP SP2
Windows XP SP3
Windows XP Media Center Edition
Windows XP Home Edition
Windows XP Tablet PC Edition
Windows XP Professional
Windows XP Professional x64 Edition
Windows Server 2003
Windows Server 2003 64-bit Edition
Windows Vista

Windows Vista  SP1
Windows Vista Home Basic
Windows Vista Home Premium
Windows Vista Business
Windows Vista Ultimate
Windows Vista Enterprise
Windows Vista Starter

window xpwindow xp
BS2000 - 用於西門子公司的大型主機。
SINIX(也稱Reliant UNIX) - 用於西門子公司的UNIX電腦系統。
Palm OS
Pocket PC
EPOC
Microsoft Windows CE
Linux
Windows Mobile系列
Embedded Linux由Montavista創造,在Motorola's A760,E680等機型上使用
Mobilinux由Montavista創造
Symbian OS系列

8 操作系統 -發展過程

各類平台上操作系統的功能演化綜觀電腦之歷史,操作系統與電腦硬體的發展息息相關。操作系統之本意原為提供簡單的工作排序能力,後為輔助更新更複雜的硬體設施而漸漸演化。從最早的批次模式開始,分時機制也隨之出現,在多處理器時代來臨時,操作系統也隨之添加多處理器協調功能,甚至是分散式系統的協調功能。其他方面的演變也類似於此。另一方面,在個人電腦上,個人電腦之操作系統因襲大型電腦的成長之路,在硬體越來越複雜、強大時,也逐步實踐以往只有大型電腦才有的功能。總而言之,操作系統的歷史就是一部解決電腦系統需求與問題的歷史。
1980年代前
Maurice Vincent Wilkes,微程序的創建者
IBM System/360,大型主機的經典之作第一部電腦並沒有操作系統。這是由於早期電腦的建立方式(如同建造機械算盤)與效能不足以執行如此程序。但在1947年發明了晶體管,以及莫里斯·威爾克斯(Maurice V. Wilkes)發明的微程序方法,使得電腦不再是機械設備,而是電子產品。系統管理工具以及簡化硬體操作流程的程序很快就出現了,且成為操作系統的濫觴。到了1960年代早期,商用電腦製造商製造了批次處理系統,此系統可將工作的建置、調度以及執行序列化。此時,廠商為每一台不同型號的電腦創造不同的操作系統,因此為某電腦而寫的程序無法移植到其他電腦上執行,即使是同型號的電腦也不行。
到了1964年,IBM System/360推出了一系列用途與價位都不同的大型電腦,而它們都共享代號為OS/360的操作系統(而非每種產品都用量身訂做的操作系統)。讓單一操作系統適用於整個系列的產品是System/360成功的關鍵,且實際上IBM目前的大型系統便是此系統的後裔;為System/360所寫的應用程序依然可以在現代的IBM機器上執行!
OS/360也包含另一個優點:永久貯存設備—硬碟驅動器的面世(IBM稱為DASD(Direct access storage device))。另一個關鍵是分時概念的建立:將大型電腦珍貴的時間資源適當分配到所有使用者身上。分時也讓使用者有獨佔整部機器的感覺;而Multics的分時系統是此時眾多新操作系統中實踐此觀念最成功的。
1963年,奇異公司與貝爾實驗室合作以PL/I語言建立的Multics[1],是激發1970年代眾多操作系統建立的靈感來源,尤其是由AT&T貝爾實驗室的丹尼斯·里奇與肯·湯普遜所建立的Unix系統,為了實踐平台移植能力,此操作系統在1969年由C語言重寫;另一個廣為市場採用的小型電腦操作系統是VMS。
80年代
第一代微型計算機並不像大型電腦或小型電腦,沒有裝設操作系統的需求或能力;它們只需要最基本的操作系統,通常這種操作系統都是從ROM讀取的,此種程序被稱為監視程序(Monitor)。1980年代,家用電腦開始普及。通常此時的電腦擁有8-bit處理器加上64KB內存、屏幕、鍵盤以及低音質喇叭。而80年代早期最著名的套裝電腦為使用微處理器6510(6502晶元特別版)的Commodore C64。此電腦沒有操作系統,而是以一8KB只讀內存BIOS初始化彩色屏幕、鍵盤以及軟碟機和印表機。它可用8KB只讀內存BASIC語言來直接操作BIOS,並依此撰寫程序,大部分是遊戲。此BASIC語言的解釋器勉強可算是此電腦的操作系統,當然就沒有內核或軟硬體保護機制了。此電腦上的遊戲大多跳過BIOS層次,直接控制硬體。
家用電腦C64的抽象架構
簡單應用程序 機器語言
(遊戲直接操作)
8k BASIC ROM 
8k ROM-BIOS 
硬體(中央處理器、儲存設備等)
早期最著名的磁碟啟動型操作系統是CP/M,它支持許多早期的微電腦,且被MS-DOS大量抄襲其功能。最早期的IBM PC其架構類似C64。當然它們也使用了BIOS以初始化與抽象化硬體的操作,甚至也附了一個BASIC解釋器!但是它的BASIC優於其他公司產品的原因在於他有可攜性,並且兼容於任何符合IBM PC架構的機器上。這樣的PC可利用Intel-8088處理器(16-bit寄存器)定址,並最多可有1MB的內存,然而最初只有640KB。軟式磁碟機取代了過去的磁帶機,成為新一代的儲存設備,並可在他512KB的空間上讀寫。為了支持更進一步的文件讀寫概念,磁碟操作系統(Disk Operating System,DOS)因而誕生。此操作系統可以合併任意數量的磁區,因此可以在一張磁碟片上放置任意數量與大小的文件。文件之間以檔名區別。IBM並沒有很在意其上的DOS,因此以向外部公司購買的方式取得操作系統。1980年微軟公司利用騙術[2]取得了與IBM的合約,並且收購了一家公司出產的操作系統,在將之修改後以MS-DOS的名義出品,此操作系統可以直接讓程序操作BIOS與文件系統。到了Intel-80286處理器的時代,才開始實作基本的儲存設備保護措施。MS-DOS的架構並不足以滿足所有需求,因為它同時只能執行最多一個程序(如果想要同時執進程式,只能使用TSR的方式來跳過OS而由程序自行處理多任務的部份),且沒有任何內存保護措施。對驅動程序的支持也不夠完整,因此導致諸如音效設備必須由程序自行設置的狀況,造成不兼容的情況所在多有。某些操作的效能也是可怕地糟糕。許多應用程序因此跳過MS-DOS的服務程序,而直接存取硬體設備以取得較好的效能。雖然如此,但MS-DOS還是變成了IBM PC上面最常用的操作系統(IBM自己也有推出DOS,稱為IBM-DOS或PC-DOS)。MS-DOS的成功使得微軟成為地球上最賺錢的公司之一。
MS-DOS在個人電腦上的抽象架構
普通應用程序(Shell script、文本編輯器)
MS-DOS(文件系統) 
BIOS(驅動程序) 
硬體(中央處理器、儲存設備等)
而1980年代另一個崛起的操作系統異數是Mac OS,此操作系統緊緊與麥金塔電腦捆綁在一起。此時一位全錄伯拉圖實驗室的員工Dominik Hagen訪問了蘋果電腦的史蒂夫·喬布斯,並且向他展示了此時全錄發展的圖形化使用者界面。蘋果電腦驚為天人,並打算向全錄購買此技術,但因伯拉圖實驗室並非商業單位而是研究單位,因此全錄回絕了這項買賣。在此之後蘋果一致認為個人電腦的未來必定屬於圖形使用者界面,因此也開始發展自己的圖形化操作系統。現今許多我們認為是基本要件的圖形化介面技術與規則,都是由蘋果電腦打下的基礎(例如下拉式菜單、桌面圖標、拖曳式操作與雙點擊等)。但正確來說,圖形化使用者界面的確是全錄創始的。
90年代
Apple I電腦,蘋果電腦

蘋果電腦蘋果電腦
的第一代產品。延續1980年代的競爭,1990年代出現了許多影響未來個人電腦市場深厚的操作系統。由於圖形化使用者界面日趨繁複,操作系統的能力也越來越複雜與巨大,因此強韌且具有彈性的操作系統就成了迫切的需求。此年代是許多套裝類的個人電腦操作系統互相競爭的時代。
上一年代於市場崛起的蘋果電腦,由於舊系統的設計不良,使得其後繼發展不力,蘋果電腦決定重新設計操作系統。經過許多失敗的項目后,蘋果於1997年釋出新操作系統——MacOS的測試版,而後推出的正式版取得了巨大的成功。讓原先失意離開蘋果的Steve Jobs風光再現。
除了商業主流的操作系統外,從1980年代起在開放原碼的世界中,BSD系統也發展了非常久的一段時間,但在1990年代由於與AT&T的法律爭端,使得遠在芬蘭赫爾辛基大學的另一股開源操作系統——Linux興起。Linux內核是一個標準POSIX內核,其血緣可算是Unix家族的一支。Linux與BSD家族都搭配GNU計劃所發展的應用程序,但是由於使用的許可證以及歷史因素的作弄下,Linux取得了相當可觀的開源操作系統市佔率,而BSD則小得多。相較於MS-DOS的架構,Linux除了擁有傲人的可移植性(相較於Linux,MS-DOS只能運行在Intel CPU上),它也是一個分時多進程內核,以及良好的內存空間管理(普通的進程不能存取內核區域的內存)。想要存取任何非自己的內存空間的進程只能通過系統調用來達成。一般進程是處於使用者模式(User mode)底下,而執行系統調用時會被切換成內核模式(Kernel mode),所有的特殊指令只能在內核模式執行,此措施讓內核可以完美管理系統內部與外部設備,並且拒絕無許可權的進程提出的請求。因此理論上任何應用程序執行時的錯誤,都不可能讓系統崩潰(Crash)。
幾乎完整的Linux架構圖
使用者
模式 應用程序(sh、vi、OpenOffice.org等)
複雜函數庫(KDE、glib 等) 
簡單函數庫(opendbm、sin 等) 
C函數庫(open、fopen、socket、exec、calloc 等)
內核
模式 系統中斷、調用、錯誤等軟硬體消息
內核(驅動程序、進程、網路、內存管理等)
硬體(處理器、內存、各種設備)
另一方面,微軟對於更強力的操作系統呼聲的回應便是Windows NT於1999年的面世。
1983年開始微軟就想要為MS-DOS建構一個圖形化的操作系統應用程序,稱為Windows(有人說這是比爾蓋茲被蘋果的Lisa電腦上市所刺激)。一開始Windows並不是一個操作系統,只是一個應用程序,其背景還是純MS-DOS系統,這是因為當時的BIOS設計以及MS-DOS的架構不甚良好之故。在1990年代初,微軟與IBM的合作破裂,微軟從OS/2(早期為命令行模式,後來成為一個很成功

操作系統操作系統
但是曲高和寡的圖形化操作系統)項目中抽身,並且在1993年7月27日推出Windows 3.1,一個以OS/2為基礎的圖形化操作系統。並在1995年8月15日推出Windows 95。直到這時,Windows系統依然是建立在MS-DOS的基礎上,因此消費者莫不期待微軟在2000年所推出的Windows 2000上,因為它才算是第一個脫離MS-DOS基礎的圖形化操作系統。
下面的為Windows NT系統的架構:在硬體階層之上,有一個由微內核直接接觸的硬體抽象層(HAL),而不同的驅動程序以模塊的形式掛載在內核上執行。因此微內核可以使用諸如輸入輸出、文件系統、網路、信息安全機制與虛擬內存等功能。而系統服務層提供所有統一規格的函數調用庫,可以統一所有副系統的實作方法。例如儘管POSIX與OS/2對於同一件服務的名稱與調用方法差異甚大,它們一樣可以無礙地實作於系統服務層上。在系統服務層之上的副系統,全都是使用者模式,因此可以避免使用者程序執行非法行動。
簡化版本的Windows NT抽象架構
使用者
模式 OS/2
應用程序 Win32
應用程序 DOS
程序 Win16
應用程序 POSIX
應用程序
其他DLL函數庫 DOS 系統 Windows 模擬系統
OS/2 副系統 Win32 副系統 POSIX.1 副系統
內核
模式 系統服務層
輸入輸出管理
文件系統、網路系統 對象管理系統 / 安全管理系統 / 進程管理 / 對象間通訊管理 / 進程間通訊管理 / 虛擬內存管理
微內核 窗口管理程序
驅動程序 硬體抽象層(HAL) 圖形驅動
硬體(處理器、內存、外部設備等)
副系統架構第一個實作的副系統群當然是以前的微軟系統。DOS副系統將每個DOS程序當成一進程執行,並以個別獨立的MS-DOS虛擬機器承載其運行環境。另外一個是Windows 3.1模擬系統,實際上是在Win32副系統下執行Win16程序。因此達到了安全掌控為MS-DOS與早期Windows系統所撰寫之舊版程序的能力。然而此架構只在Intel 80386處理器及後繼機型上實作。且某些會直接讀取硬體的程序,例如大部分的Win16遊戲,就無法套用這套系統,因此很多早期遊戲便無法在Windows NT上執行。Windows NT有3.1、3.5、3.51與4.0版。Windows 2000是Windows NT的改進系列(事實上是Windows NT 5.0)、Windows XP(Windows NT 5.1)以及Windows Server 2003(Windows NT 5.2)與Windows Vista(Windows NT 6.0)也都是立基於Windows NT的架構上。
而本年代漸漸增長並越趨複雜的嵌入式設備市場也促使嵌入式操作系統的成長。
今日
現代操作系統通常都有一個使用的繪圖設備的圖形化使用者界面,並附加如滑鼠或觸控面版等有別於鍵盤的輸入設備。舊的OS或效能導向的伺服器通常不會有如此親切的介面,而是以命令行介面(CLI)加上鍵盤為輸入設備。以上兩種介面其實都是所謂的殼,其功能為接受並處理使用者的指令(例如按下一按鈕,或在命令提示列上鍵入指令)。
選擇要安裝的操作系統通常與其硬體架構有很大關係,只有Linux與BSD幾乎可在所有硬體架構上執行,而Windows NT僅移植到了DEC Alpha與MIPS Magnum。在1990年代早期,個人電腦的選擇就已被局限在Windows家族、類Unix家族以及Linux上,而以Linux及Mac OS X為最主要的另類選擇,直至今日。
大型機與嵌入式系統使用很多樣化的操作系統。大型主機近期有許多開始支持Java及Linux以便共享其他平台的資源。嵌入式系統近期百家爭鳴,從給Sensor Networks用的Berkeley Tiny OS到可以操作Microsoft Office的Windows CE都有。
至2005年為止,用於通用計算機上的分佈的操作系統主要兩個家族:類Unix家族和微軟Windows家族。而主機系統和嵌入式操作系統使用多樣的系統,並且很多和Windows、Unix都沒有直接的聯繫。類Unix家族包括多個組織的操作系統,其中有幾個主要的子類包括System V、BSD和Linux。這裡'Unix'是一個商標,開發組織允許使用操作系統在一個定義前提下自由地開發。這名字是通用大型設置操作系統類似組織 Unix。Unix系統運行在從巨型機到嵌入式系統的多種機器架構上。Unix主要使用於重要的商務伺服器系統以及學院和工程環境中的工作站之上。和 AT&T Unix不同,自由軟體比如Linux和BSD逐步開始流行,並且開始進入桌面操作系統領域。和一些Unix操作系統不同,像惠普公司的HPUX和IBM 公司的AIX是設計僅運行在客戶購買的設備上,其中有一些特殊的(比如SUN公司的Solaris)可以運行在客戶購買設備和基於工業標準的PC上。 APPLE公司的Mac OS X是一個BSD特例,以取代早期小型市場上的蘋果公司Mac OS,眾多流行的Unix操作系統正在走向一體。

微軟公司的Windows操作系統家族起源於早期的IBM PC環境中的MS-DOS,現在版本是基於新的Windows NT內核,第一次是在OS/2中制定。和Unix不同,Windows只能運行在32位和64位的x86 CPU(如Intel或者AMD的晶元)上,儘管早期有版本運行於DEC Alpha,MIPS 和 PowerPC體系結構。今天Windows是一個流行的操作系統,在全球桌面市場中佔有90%左右的份額,同時在中低端伺服器市場也有廣泛的應用,如 Web伺服器和資料庫伺服器。

大型機系統,比如IBM公司的Z/OS,和嵌入式操作系統比如QNX、eCOs和PalmOS都是和Unix和Windows無關的操作系統,而 Windows CE、Windows NT Embedded 4.0和Windows XP Embedded都是和Windows相關的。

老的操作系統停留在市場包括類似IBM Windows的OS/2、來自惠普的VMS(以前的DEC);蘋果公司的Mac OS操作系統、非Unix先驅蘋果公司Mac OS X,以及AmigaOS,第一個圖形用戶界面的操作系統,包括對於普通用戶的高級的多媒體能力。

9 操作系統 -嵌入式系統

嵌入式系統使用非常廣泛的操作系統(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能縮減版本的Linux或者其他操作系統。某些情況下,OS指稱的是一個自帶了固定應用軟體的巨大泛用程序。在許多最簡單的嵌入式系統中,所謂的OS就是指其上唯一的應用程序。

 

10 操作系統 -用例介紹

個人電腦
個人電腦市場目前分為兩大陣營,此兩種架構分別有支持的操作系統:
IBM兼容PC - 微軟Windows, Mac OS X,Unix 家族的OS以及Linux 家族。
Apple Macintosh - Mac OS (一個Unix分支OS,屬 BSD 族系,Darwin),Windows (x86版本), Linux 與 BSD
大型電腦
最早的操作系統是針對20世紀60年代的大型主結構開發的,由於對這些系統在軟體方面做了巨大投資,因此原來的計算機廠商繼續開發與原來操作系統相兼容的硬體與操作系統。這些早期的操作系統是現代操作系統的先驅。現在仍被支持的大型主機操作系統包括:
Burroughs MCP-- B5000,1961 to Unisys Clearpath/MCP, present.
IBM OS/360 -- IBM System/360, 1964 to IBM zSeries, present
UNIVAC EXEC 8 -- UNIVAC 1108, 1964, to Unisys Clearpath IX, present.
現代的大型主機一般也可運行Linux或Unix變種。
嵌入式系統

嵌入式系統使用非常廣泛的操作系統(如VxWorks、eCos、Symbian OS及Palm OS)以及某些功能縮減版本的Linux或者其他操作系統。某些情況下,OS指稱的是一個內置了固定應用軟體的巨大泛用程序。在許多最簡單的嵌入式系統中,所謂的OS就是指其上唯一的應用程序。
類Unix系統
一個在Linux底下執行的客制化KDE桌面系統所謂的類Unix家族指的是一族種類繁多的OS,此族包含了System V、BSD與Linux。由於Unix是The Open Group的註冊商標,特指遵守此公司定義的行為的操作系統。而類Unix通常指的是比原先的Unix包含更多特徵的OS。
Unix系統可在非常多的處理器架構下執行,在伺服器系統上有很高的使用率,例如大專院校或工程應用的工作站。自由軟體Unix變種,例如Linux與BSD近來越來越受歡迎,它們也在個人桌面電腦市場上大有斬獲,例如Ubuntu系統,但大部分都是電腦高手在使用。
某些Unix變種,例如HP的HP-UX以及IBM的AIX僅設計用於自家的硬體產品上,而SUN的Solaris可安裝於自家的硬體或x86電腦上。蘋果電腦的Mac OS X是一個從NeXTSTEP、Mach以及FreeBSD共同派生出來的微內核BSD系統,此OS取代了蘋果電腦早期非Unix家族的Mac OS。經曆數年的披荊斬棘,自由開源的Unix系統逐漸蠶食鯨吞以往專利軟體的專業領域,例如以往電腦動畫運算巨擘──SGI的IRIX系統已被Linux家族及Plan 9[3]叢集所取代。
微軟Windows
Microsoft Windows 系列操作系統是在微軟給IBM機器設計的MS-DOS的基礎上設計的圖形操作系統。現在的Windows系統,如Windows 2000、Windows XP皆是建立於現代的Windows NT內核。NT內核是由OS/2和OpenVMS等系統上借用來的。Windows 可以在32位和64位的Intel和AMD的處理器上運行,但是早期的版本也可以在DEC Alpha、MIPS與PowerPC架構上運行。 雖然由於人們對於開放源代碼作業系統興趣的提升,Windows的市場佔有率有所下降,但是到2004年為止,Windows操作系統在世界範圍內佔據了桌面操作系統90%的市場。[4]
Windows系統也被用在低階和中階伺服器上,並且支持網頁服務的資料庫服務等一些功能。最近微軟花費了很大研究與開發的經費用於使Windows擁有能運行企業的大型程序的能力。
WindowsXP在2001年10月25日發布,2004年8月24日發布最新的升級包WindowsXP Service Pack 2。 微軟最新的操作系統 Windows Vista(開發代碼為Longhorn)於2007年1月30日發售[5]。Windwos Vista增加了許多功能,尤其是系統的安全性和網路管理功能。Windows Vista擁有界面華麗的Aero Glass。
蘋果Mac OS
蘋果Mac OS系列操作系統是蘋果公司 (原稱蘋果電腦)給蘋果個人電腦系列設計的OS。
其他
大型主機以及嵌入式操作系統均與Unix或Windows家族關係不大,除了Windows CE、Windows NT Embedded 4.0及Windows XP Embedded是Windows的血親產品,以及數種*BSD和嵌入式Linux包為例外。
少數較舊的OS今日依然在一些需要穩定性的市場中活躍,例如IBM的OS/2[6]BeOS以及XTS-400。
在達康時代狂潮過後,如AmigaOS與RISC OS等少數人使用的OS依然持續建立,以滿足狂熱的愛好者社群與特殊專業使用者。

11 操作系統 -歷史列表

1956年1959年1960年 1961年1962年1964年1965年1966年1967年

1969年

GM-NAA I/OSHARE Operating SystemIBSYSCTSS

MCP (Burroughs Large Systems)
GCOSEXEC 8
OS/360 (宣稱)
TOPS-10
Multics (宣稱)
OS/360 (上市)
Tape Operating System (TOS)
DOS/360 (IBM)
MS/8
ACP (IBM)
CP/CMS
ITS
WAITS
TENEX

Unix









1970年1971年1972年1973年1974年1975年1976年1978年1979年1980年
DOS/BATCH 11 (PDP-11)OS/8MFT (operating system)
MVT
RDOS
SVS
VM/CMS
Alto OS
RSX-11D
RT-11
VME
MVS (MVS/XA)BS2000CP/M
TOPS-20
Apple DOS 3.1 (蘋果公司第一個操作系統)
TripOS
VMS
Lisp Machine (CADR)
POS

NLTSS
OS-9
QDOS
SOS
XDE (Tajo)
Xenix








1981年1982年1983年1984年1985年1986年1987年1988年1989年1990年
MS-DOSCommodore DOS
SunOS (1.0)
Ultrix
Lisa OS
Coherent
Novell NetWare
ProDOS
Macintosh OS (系統 1.0)
MSX-DOS
QNX
UniCOS
AmigaOS
Atari TOS
MIPS OS
Oberon operating system
Microsoft Windows 1.0 (Windows第一版)
AIX

GS-OS

HP-UX
Arthur
IRIX (SGI推出的第一個版本號是3.0)
Minix
OS/2 (1.0)
Microsoft Windows 2.0
A/UX (蘋果電腦)
LynxOS
MVS/ESA
OS/400
NeXTSTEP (1.0)
RISC OS
SCO Unix (第三版)
Amiga OS 2.0
BeOS (v1)
OSF/1
Microsoft Windows 3.0










1991年1992年1993年1995年1996年1998年1999年
Linux386BSD 0.1
Amiga OS 3.0
Solaris 2.0 (SunOS 4.x的
繼承者,
以SVR4為基礎,而非BSD)
Microsoft Windows 3.1
Plan 9 (第一版)
FreeBSD
NetBSD
Microsoft Windows NT 3.1 (第一版NT)
Digital UNIX (aka Tru64)
OpenBSD
OS/390
Microsoft Windows 95
Windows NT 4.0
1997年
Inferno
Mac OS 7.6 (第一版官方正式命名為Mac OS)
SkyOS
Solaris 7 (第一款
64位元Solaris版本,是2.7捨棄主版本號的稱謂)
Microsoft Windows 98
AROS
Mac OS 8

Microsoft Windows 98 Second Edition
2000年2001年2002年2003年2004年
AtheOS
Mac OS 9
MorphOS
Microsoft Windows 2000
Microsoft Windows Me
Amiga OS 4.0 (2001年5月)
Mac OS X 10.1
Microsoft Windows XP
z/OS
Microsoft Windows XP 64-bit Edition
Windows XP Tablet PC Edition
Windows XP Media Center Edition
Syllable
Mac OS X 10.2
Microsoft Windows Server 2003 (2003年3月28日)
Microsoft Windows XP 64-bit Edition - 以Microsoft Windows Server 2003為基礎,同一天釋出。
Mac OS X 10.3
Microsoft Windows XP Media Center Edition









2005年2006年2007年
Microsoft Windows XP Professional x64 Edition
Mac OS X 10.4
Microsoft Windows VistaMac OS X 10.5




12 操作系統 -管理方法

操作系統位於底層硬體與用戶之間,是兩者溝通的橋樑。用戶可以通過操作系統的用戶界面,輸入命令。操作系統則對命令進行解釋,驅動硬體設備,實現用戶要求。以現代觀點而言,一個標準個人電腦的OS應該提供以下的功能:
進程管理(Processing management)
記憶空間管理(Memory management)
文件系統(File system)
網路通訊(Networking)
安全機制(Security)
使用者界面(User interface)
驅動程序(Device drivers)
進程管理
不管是常駐程序或者應用程序,他們都以進程為標準執行單位。當年運用馮紐曼架構建造電腦時,每個中央處理器最多只能同時執行一個進程。早期的OS(例如DOS)也不允許任何程序打破這個限制,且DOS同時只有執行一個進程(雖然DOS自己宣稱他們擁有終止並等待駐留(TSR)能力,可以部分且艱難地解決這問題)。現代的操作系統,即使只擁有一個CPU,也可以利用多進程(multitask)功能同時執行複數進程。進程管理指的是操作系統調整複數進程的功能。
由於大部分的電腦只包含一顆中央處理器,在單內核(Core)的情況下多進程只是簡單迅速地切換各進程,讓每個進程都能夠執行,在多內核或多處理器的情況下,所有進程通過許多協同技術在各處理器或內核上轉換。越多進程同時執行,每個進程能分配到的時間比率就越小。很多OS在遇到此問題時會出現諸如音效斷續或滑鼠跳格的情況(稱做崩潰(Thrashing),一種OS只能不停執行自己的管理程序並耗盡系統資源的狀態,其他使用者或硬體的程序皆無法執行)。進程管理通常實踐了分時的概念,大部分的OS可以利用指定不同的特權等級(priority),為每個進程改變所佔的分時比例。特權越高的進程,執行優先順序越高,單位時間內占的比例也越高。互動式OS也提供某種程度的回饋機制,讓直接與使用者交互的進程擁有較高的特權值。
除了進程管理之外,OS尚有擔負起進程間通訊(IPC)、進程異常終止處理以及死結(Dead lock)偵測及處理等較為艱深的問題。
在進程之下尚有線程的問題,但是大部分的OS並不會處理線程所遭遇的問題,通常OS僅止於提供一組API讓使用者自行操作或通過虛擬機器的管理機制控制線程之間的交互。
內存管理
根據帕金森定律:「你給程序再多內存,程序也會想盡辦法耗光」,因此程序設計師通常希望系統給他無限量且無限快的內存。大部分的現代電腦內存架構都是階層式的,最快且數量最少的寄存器為首,然後是高速緩存、內存以及最慢的磁碟儲存設備。而OS的內存管理提供尋找可用的記憶空間、配置與釋放記憶空間以及交換內存和低速儲存設備的內含物……等功能。此類又被稱做虛擬內存管理的功能大幅增加每個進程可獲得的記憶空間(通常是4GB,即使實際上RAM的數量遠少於這數目)。然而這也帶來了微幅降低執行效率的缺點,嚴重時甚至也會導致進程崩潰。
內存管理的另一個重點活動就是藉由CPU的幫助來管理虛擬位置。如果同時有許多進程儲存於記憶設備上,操作系統必須防止它們互相干擾對方的內存內容(除非通過某些協議在可控制的範圍下操作,並限制可存取的內存範圍)。分割內存空間可以達成目標。每個進程只會看到整個內存空間(從0到內存空間的最大上限)被配置給它自己(當然,有些位置被OS保留而禁止存取)。CPU事先存了幾個表以比對虛擬位置與實際內存位置,這種方法稱為分頁(paging)配置。
藉由對每個進程產生分開獨立的位置空間,OS也可以輕易地一次釋放某進程所佔據的所有內存。如果這個進程不釋放內存,OS可以退出進程並將內存自動釋放。
磁碟與文件系統
所謂的文件系統,通常指稱管理磁碟數據的系統,可將數據以目錄或文件的型式儲存。每個文件系統都有自己的特殊格式與功能,例如日誌管理或不需磁碟重整。
OS擁有許多種內置文件系統。例如Linux擁有非常廣泛的內置文件系統,如ext2、ext3、ReiserFS、Reiser4、GFS、GFS2、OCFS、OCFS2、NILFS與Google文件系統。Linux也支持非本地文件系統,例如XFS、JFS、FAT家族與NTFS。另一方面,Windows能支持的文件系統只有FAT12、FAT16、FAT32與NTFS。NTFS系統是Windows上最可靠與最有效率的文件系統。其他的FAT家族都比NTFS老舊,且對於文件長度與分割磁碟能力都有很大限制,因此造成很多問題。而UNIX的文件系統多半是UFS,而UNIX中的一個分支Solaris最近則開始支持一種新式的ZFS.
大部份上述的文件系統都有兩種建置方法。系統可以以日誌式(Journaling file system)或非日誌式建置。日誌式文件系統可以以較安全的手法執行系統回復。如果一個沒有日誌式建置的文件系統遇上突然的系統崩潰,導致數據建立在一半時停頓,則此系統需要特殊的文件系統檢查工具才能撤消;日誌式則可自動回復。微軟的NTFS與Linux的ext3、reiserFS與JFS都是日誌式文件系統。
每個文件系統都實作相似的目錄/子目錄架構,但在相似之下也有許多不同點。微軟使用「\」符號以建立目錄/子目錄關係,且文件名稱忽略其大小寫差異;UNIX系統則是以「/」建立目錄架構,且文件名稱大小寫有差異。
網路
許多現代的OS都具備操作主流網路通訊協議TCP/IP的能力。也就是說這樣的操作系統可以進入網路世界,並且與其他系統分享諸如文件、印表機與掃描器等資源。
許多OS也支持多個過去網路啟蒙時代的各路網路通訊協議,例如IBM建立的SNA、DEC在它所生產的系統所設置的DECnet架構與微軟為Windows製作的特殊通訊協議。還有許多為了特殊功能而研發的通訊協議,例如可以在網路上提供文件存取功能的NFS系統。現今大量用於影音流(Streaming media)及遊戲消息傳送的UDP協議等。
安全
大多數OS都含有某種程度的信息安全機制。信息安全機制主要基於兩大理念:
OS提供外界直接或間接存取數種資源的管道,例如本地端磁碟機的文件、受保護的特權系統調用(System call)、使用者的隱私數據與系統執行的程序所提供的服務。
OS有能力認證(Authorization)資源存取的請求。允許通過認證的請求並拒絕無法通過的非法請求,並將適當的權力授權(Authentication)給此請求。有些系統的認證機制僅簡略地把資源分為特權或非特權,且每個請求都有獨特的身份辨識號碼,例如使用者名稱。資源請求通常分成兩大種類:
內部來源:通常是一個正在執行的程序發出的資源請求。在某些系統上,一個程序一旦可執行就可做任何事(例如DOS時代的病毒),但通常OS會給程序一個識別代號,並且在此程序發出請求時,檢查其代號與所需資源的存取許可權關係。
外部來源:從非本地端電腦而來的資源請求,例如遠程登入本機電腦或某些網路連接請求(FTP或HTTP)。為了識別這些外部請求,系統也許會對此請求提出認證要求。通常是請求輸入使用者名稱以及相對應的密碼。系統有時也會應用諸如磁卡或生物識別數據的它種認證方法。在某些例子,例如網路通訊上,通常不需通過認證即可存取資源(例如匿名存取的FTP伺服器或P2P服務)。
除了允許/拒絕形式的安全機制,一個高安全等級的系統也會提供記錄選項,允許記錄各種請求對資源存取的行為(例如「誰曾經讀了這個文件?」)。
肇因於軍方與商業組織將敏感數據記錄在電腦上,安全機制在OS歷史上是一個被長久關注與討論的問題。美國國防部(DoD)便創立了《可信賴之計算機系統評鑒程序》(TCSEC),此手冊確立了評鑒安全機製成效的基本原則。這對OS作者來說非常重要,因為TCSEC是用於評鑒、分類與選拔出用於處理、儲存與獲取敏感或機密數據的電腦系統的標準程序。
內部信息安全
內部信息安全可視為防止正在執行的程序任意存取系統資源的手段。大多OS讓普通程序可直接操作電腦的CPU,所以產生了一些問題,例如怎樣把可如OS一樣處理事務、執行同樣特殊指令的程序強迫停止,畢竟在此情境下,OS也只是另一個平起平坐的程序。為通用OS所生產的CPU通常於硬體層級上實踐了一定程度的特殊指令保護概念。通常特權層級較低的程序想要執行某些特殊指令時會被阻斷,例如直接存取像是硬碟之類的外部設備。因此,程序必須得經由詢問OS,讓OS執行特殊指令來存取磁碟。因此OS就有機會檢查此程序的識別身份,並依此接受或拒絕它的請求。
在不支持特殊指令架構的硬體上,另一個也是唯一的保護方法,則是OS並不直接利用CPU執行使用者的程序,而是藉由模擬一個CPU或提供一p-Code系統(偽代碼執行機),像是Java一樣讓程序在虛擬機器上執行。
內部安全機制在多使用者電腦上特別重要:它允許每個系統使用者擁有自己個人的文件與目錄,且其他使用者不能任意存取或刪除。因為任何程序都可能繞過OS的監控,更有可能繞過側錄程序的監控,擁有強制力的內部安全機制在側錄啟動時也非常重要。
外部信息安全
通常一個操作系統會為其他網路上的電腦或使用者提供(主持)各種服務。這些服務通常藉由埠或OS網路地址后的數字存取點提供。通常此服務包括提供文件共享(NTFS)、列印共享、電子郵件、網頁服務與文件傳輸協議(FTP)。 外部信息安全的最前線,是諸如防火牆等的硬體設備。在OS內部也常設置許多種類的軟體防火牆。軟體防火牆可設置接受或拒絕在OS上執行的服務與外界的連接。因此任何人都可以安裝並執行某些不安全的網路服務,例如Telnet或FTP,並且設置除了某些自用通道之外阻擋其他所有連接,以達成防賭不良連接的機制。
使用者界面
今日大部分的OS都包含圖形化使用者界面。有幾類較舊的OS將圖形化使用者界面與內核緊密結合,

操作系統操作系統
例如最早的Windows與Mac OS實作產品。此種手法可提供較快速的圖形回應能力,且實作時不需切割模塊因而較為省工,但是會有強烈副作用,例如圖形系統崩潰將導致整個系統崩潰,例如死亡藍屏幕。許多近代的OS已模塊化,將圖形界面的副系統與內核分開(已知Linux與Mac OS X原先就是如此設計,而某些擴充版本的Windows終於也採用此手法)。
許多OS允許使用者安裝或創造任何他們喜歡的圖形界面[7]。大部分的Unix與Unix派生系統(BSD、Linux與Minix)通常會安裝X Window系統配合GNOME或KDE桌面環境。而某些OS就沒有這麼彈性的圖形化使用者界面,例如Windows。這類的OS只能通過外加的程序來改變其圖形化使用者界面,甚或根本只能改變諸如菜單風格或顏色配置等部分[來源請求]。
圖形化使用者界面與時並進,例如Windows在每次新版本上市時就會將其圖形化使用者界面改頭換面,而Mac OS的GUI也在Mac OS X上市時出現重大轉變。
驅動程序
所謂的驅動程序是指某類設計來與硬體交互的電腦軟體。通常是一設計完善的設備交互介面,利用與此硬體連接的電腦匯排流或通訊子系統,提供對此設備下令與接收信息的功能;以及最終目的,將消息提供給OS或應用程序。驅動程序是針對特定硬體與特定OS設計的軟體,通常以操作系統內核模塊、應用軟體包或普通電腦程序的形式在OS內核底下執行,以達到通透順暢地與硬體交互的效果,且提供硬體在處理非同步的時間依賴性介面(asynchronous time-dependent hardware interface)時所需的中斷處理程序(Interrupt handler)。
設計驅動程序的主要目的在於操作抽象化,任何硬體模塊,即使是同一類的設備,在硬體設計面上也有巨大差異。廠商推出的較新模塊通常更可靠更有效率,控制方法也會有所不同。電腦與其OS每每不能預期那些現有與新設備的變異之處,因此無法知道其操作方法。為解決此問題OS通常會主動制訂每種設備該有的操作方式,而驅動程序功能則是將那些OS制訂的行為描述,轉譯為可讓設備了解的自定義操作手法。
理論上適合的驅動程序一旦安裝,相對應的新設備就可以無誤地執行。此新驅動程序可以讓此設備完美地切合在OS中,讓使用者察覺不到這是OS原本沒有的功能。

13 操作系統 -詳細結構

操作系統理論研究者有時把操作系統分成四大部分:
驅動程序 - 最底層的、直接控制和監視各類硬體的部分,它們的職責是隱藏硬體的具體細節,並向其他部分提供一個抽象的、通用的介面。
內核 - 操作系統之最內核部分,通常運行在最高特權級,負責提供基礎性、結構性的功能。
支承庫 - (亦作「介面庫」)是一系列特殊的程序庫,它們指責在於把系統所提供的基本服務包裝成應用程序所能夠使用的編程介面(API),是最靠近應用程序的部分。例如,GNU C運行期庫就屬於此類,它把各種操作系統的內部編程介面包裝成ANSI C和POSIX編程介面的形式。
外圍 - 所謂外圍,是指操作系統中除以上三類以外的所有其他部分,通常是用於提供特定高級服務的部件。例如,在微內核結構中,大部分系統服務,以及UNIX/Linux中各種守護進程都通常被劃歸此列。
當然,本節所提出的四部結構觀也絕非放之四海皆準。例如,在早期的微軟視窗操作系統中,各部分耦合程度很深,難以區分彼此。而在使用外核結構的操作系統中,則根本沒有驅動程序的概念。因而,本節的討論只適用於一般情況,具體特例需具體分析。
操作系統中四大部分的不同布局,也就形成了幾種整體結構的分野。常見的結構包括:簡單結構、層結構、微內核結構、垂直結構、和虛擬機結構。
內核結構
內核是操作系統最內核最基礎的構件,因而,內核結構往往對操作系統的外部特性以及應用領域有著一定程度的影響。儘管隨著理論和實踐的不斷演進,操作系統高層特性與內核結構之間的耦合有日趨縮小之勢,但習慣上,內核結構仍然是操作系統分類之常用標準。
內核的結構可以分為單內核、微內核、超微內核、以及外核等。
單內核結構是操作系統中各內核部件雜然混居的形態,該結構於1960年代(亦有1950年代初之說,尚存爭議),歷史最長,是操作系統內核與外圍分離時的最初形態。
微內核結構是1980年代產生出來的較新的內核結構,強調結構性部件與功能性部件的分離。20世紀末,基於微內核結構,理論界中又發展出了超微內核與外內核等多種結構。儘管自1980年代起,大部分理論研究都集中在以微內核為首的「新興」結構之上,然而,在應用領域之中,以單內核結構為基礎的操作系統卻一直佔據著主導地位。
在眾多常用操作系統之中,除了QNX和基於Mach的UNIX等個別系統外,幾乎全部採用單內核結構,例如大部分的Unix、Linux,以及Windows(微軟聲稱Windows NT是基於改良的微內核架構的,儘管理論界對此存有異議)。 微內核和超微內核結構主要用於研究性操作系統,還有一些嵌入式系統使用外核。
基於單內核的操作系統通常有著較長的歷史淵源。例如,絕大部分UNIX的家族史都可上溯至1960年代。該類操作系統多數有著相對古老的設計和實現(例如某些UNIX中存在著大量1970年代、1980年代的代碼)。另外,往往在性能方面略優於同一應用領域中採用其他內核結構的操作系統(但通常認為此種性能優勢不能完全歸功於單內核結構)。

14 操作系統 -工作方式

操作系統的分類沒有一個單一的標準,可以根據工作方式分為批處理操作系統、分時操作系統、實時操作系統、網路操作系統和分散式操作系統等;根據架構可以分為單內核操作系統等;根據運行的環境,可以分為桌面操作系統,嵌入式操作系統等;根據指令的長度分為8bit, 16bit, 32bit, 64bit的操作系統。
通用與專用、嵌入式
通用操作系統是面向一般沒有特定應用需求的操作系統。由於沒有特定的應用需求,通用操作系統為了適應更廣泛的應用,需要支持更多的硬體與軟體,需要針對所有的用戶體驗,對系統進行更新。通用操作系統是一個工程量繁重的操作系統。
實時與非實時
「實時操作系統」(Real Time OS)泛指所有據有一定實時資源調度以及通訊能力的操作系統。而所謂「實時」,不同語境中往往有著非常不同的意義。某些時候僅僅用作「高性能」的同義詞。但在操作系統理論中「實時性」所指的通常是特定操作所消耗的時間(以及空間)的上限是可預知的。比如,如果說某個操作系統提供實時內存分配操作,那也就是說一個內存分配操作所用時間(及空間)無論如何也不會超出操作系統所承諾的上限。實時性在某些領域非常重要,比如在工業控制、醫療器材、影音頻合成、以及軍事領域,實時性都是無可或缺的特性。
常用實時操作系統有QNX、VxWorks、RTLinux等等,而Linux、多數UNIX、以及多數Windows家族成員等都屬於非實時操作系統。操作系統整體的實時性通常依仗內核的實時能力,但有時也可在非實時內核上建立實時操作系統,很多在Windows上建立的實時操作系統就屬於此類。
在POSIX標準中專有一系用於規範實時操作系統的API,其中包括POSIX.4、POSIX.4a、POSIX.4b(合稱POSIX.4)以及POSIX.13等等。符合POSIX.4的操作系統通常被認可為實時操作系統(但實時操作系統並不需要符合POSIX.4標準)。

未來展望

研究與建立未來的操作系統依舊進行著。操作系統朝提供更省電、網路化、華麗的使用者界面的方向來改進。Linux及一些類UNIX OS正努力讓自己成為個人用戶舒適的環境。GNU Hurd是一個企圖完全兼容Unix並加強許多功能的微內核架構。微軟Singularity是一個奠基於.Net並以建立較佳內存保護機製為目目標研究計劃。

15 操作系統 -Android操作系統

Android 是一個真正意義上的開放性移動設備綜合平台。它包括操作系統、用戶界面和應用程序 - 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙。谷歌與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關係,我們希望藉助建立標準化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。我們認為此舉必將推進更好、更快的創新,為移動用戶提供不可預知的應用和服務。 

使用Android系統的Google手機:HTC G1
Android 作為谷歌企業戰略的重要組成部分,將進一步推進"隨時隨地為每個人提供信息"這一企業目標的實現。我們發現,全球為數眾多的行動電話用戶從未使用過任何基於 Android 的電話。谷歌的目標是讓(移動通訊)不依賴於設備甚至平台。出於這個目的,Android 將補充,而不會替代谷歌長期以來奉行的移動發展戰略:通過與全球各地的手機製造商和移動運營商結成合作夥伴,開發既有用又有吸引力的移動服務,並推廣這些產品。
開放手機聯盟的成立和 Android 的推出是對現狀的重大改變,在帶來初步效益之前,還需要不小的耐心和高昂的投入。但是,我們認為全球移動用戶從中能獲得的潛在利益是值得付出這些努力的。如果你也是一個開發者,並對我們的想法感興趣,就請再給我們一星期的時間,屆時谷歌便能提供 SDK 了。如果你是一名移動用戶,只需再等一段時間,我們的一些合作夥伴計劃在 2008 年下半年推出基於 Android 平台的電話產品。如果你已經擁有一部你了解並喜愛的電話,請登錄 mobile.google.com ,確保你已經安裝谷歌手機地圖、Gmail 以及其他一些專為你的手機開發的精彩應用。谷歌將繼續努力,讓這些服務變得更好,同時也將添加更有吸引力的特性、應用和服務。
HTC G1操作界面Android 是Google開發的基於Linux平台的開源手機操作系統。它包括操作系統、用戶界面和應用程序 —— 行動電話工作所需的全部軟體,而且不存在任何以往阻礙移動產業創新的專有權障礙。谷歌與開放手機聯盟合作開發了 Android,這個聯盟由包括中國移動、摩托羅拉、高通、宏達和 T-Mobile 在內的 30 多家技術和無線應用的領軍企業組成。通過與運營商、設備製造商、開發商和其他有關各方結成深層次的合作夥伴關係,我們希望藉助建立標準化、開放式的行動電話軟體平台,在移動產業內形成一個開放式的生態系統。我們認為此舉必將推進更好、更快的創新,為移動用戶提供不可預知的應用和服務。
國內Android本地化做的較好的操作系統主要是點心操作系統,點心操作系統——Tapas是基於Android平台、針對中國用戶使用習慣打造的互聯網智能手機操作系統,在底層技術架構優化的基礎上,為用戶提供流暢的操作體驗;同時根據本土化需求,提供貼心的功能設計及豐富的移動互聯網應用。它由前百度員工張磊開發,在創新工場創辦一周年之際正式亮相。Tapas為用戶提供了大量的應用程序和豐富多彩的應用,還有動態的照片管理器、天氣預報、音樂播放器功能。此外,點心還推出「均衡雲計算」理念,整合網路環境、終端設備等負責狀況,智能分配手機端及雲端計算量、管理流量分配,為用戶提供安全貼心的雲計算服務。點心操作系統由北京風靈創景科技有限公司開發。該公司是李開復博士旗下的創新工場投資孵化的第一家公司。
上一篇[謝艾]    下一篇 [16世紀]

相關評論

同義詞:暫無同義詞