한국   대만   중국   일본 
操作系? - ?基百科,自由的百科全? 跳?到?容

操作系?

本页使用了标题或全文手工转换
?基百科,自由的百科全?
(重定向自 作業系統
Operating System 」的各地常用名稱
中?大陸 操作系?
臺灣 作業系統
港澳 作業系統
操作系?簡略架構
操作系?架構,以 Linux ?例

操作系? (英語: Operating System ,縮寫: OS )是一?主管?控制 ?算机 操作、?用和?行 硬件 ?件 資源 和提供公共 服? ???用?交互的相互??的 系??件 程序 ,同?也是?算机系?的核心?基石。操作系?需要?理如管理與配置 ?存 、決定系統資源供需的優先次序、控制輸入與輸出裝置、操作 ?? 與管理 文件系? 等基本事務。操作系?也提供一個讓使用者與系統互動的操作界面。

操作系?的型態非常多樣,不同機器安裝的操作系?可從簡單到複雜,可從 行動電話 嵌入式系? 超級電腦 大型作業系統 。許多操作系?製造者對?涵盖范?的定?也不?一致,例如有些操作系?整合了 ?形用?界面 ,而有些僅使用 命令行界面 ,將?形用?界面視?一種非必要的應用程式。

操作系?理?在 ?算机科? 中,?歷史悠久而又活? [1] 的分支;而操作系?的??????是?件工?的基??核心 [2]

歷史 [ ?? ]

各類平台上作業系統的功能演化

綜觀電腦之歷史,作業系統與電腦硬體的發展息息相關。作業系統之本意原?提供簡單的 工作排序 能力,後?輔助更新更複雜的硬體設施而漸漸演化。從最早的 批次模式 開始, 分時機制 也隨之出現,在 多處理器 時代來臨時,作業系統也隨之添加多處理器協調功能,甚至是 分散式系統 的協調功能。其他方面的演變也類似於此。?一方面,在個人電腦上,個人電腦之作業系統因襲大型電腦的成長之路,在硬體越來越複雜、?大時,也逐步實踐以往?有大型電腦才有的功能。

總而言之,作業系統的歷史就是一部解決電腦系統需求與問題的歷史。

1980年代前 [ ?? ]

IBM System/360 ,大型主機的經典之作

第一部電腦?沒有作業系統。這是由於早期電腦的建立方式(如同建造機械 算盤 )與效能不足以執行如此程式。但在1947年發明了 電晶體 ,以及 莫里斯·威?克斯 發明的 微程序 方法,使得電腦不再是機械裝置,而是電子?品。系統管理工具以及簡化硬體操作流程的程式?快就出現了,且成?作業系統的起源。到了1960年代早期,商用電腦製造商製造了 批次處理 系統,此系統可將工作的建置、排程以及執行 序列化 。此時,廠商?每一台不同型號的電腦創造不同的作業系統,因此?某電腦而寫的程式無法移植到其他電腦上執行,?使是同型號的電腦也不行。

到了1964年, IBM System/360 推出了一系列用途與價位都不同的 大型電腦 ,而?們都共用代號? OS/360 的作業系統(而非每種?品都用量身訂做的作業系統)。讓單一作業系統適用於整個系列的?品是System/360成功的關鍵,且實際上IBM目前的大型系統便是此系統的後裔,?System/360所寫的應用程式依然可以在現代的IBM機器上執行。

OS/360也包含?一個優點:永久貯存裝置? 硬? 的面世(IBM稱? DASD )。?一個關鍵是 分時 ?念的建立:將大型電腦珍貴的時間資源適當分配到所有使用者身上。分時也讓使用者有獨?整部機器的感覺;而 Multics 的分時系統是此時?多新作業系統中實踐此觀念最成功的。

1963年, 奇異公司 貝爾實驗室 合作以PL/I語言建立的 Multics [3] ,是激發1970年代?多作業系統建立的靈感來源,尤其是由 AT&T 貝爾實驗室的 丹尼斯·里奇 肯·湯普遜 所建立的 Unix 系統,?了實踐平台移植能力,此作業系統在1973年由 C語言 重寫;?一個廣?市場採用的 小型電腦 作業系統是 VMS

1980年代 [ ?? ]

第一代 微型?算机 ?不像大型電腦或小型電腦,沒有裝設作業系統的需求或能力;?們只需要最基本的作業系統,通常這種作業系統都是從 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 ,?支援許多早期的微電腦。最早期的IBM PC其架構類似C64。當然?們也使用了BIOS以初始化與抽象化硬體的操作,甚至也附了一個BASIC直譯器!但是?的BASIC優於其他公司?品的原因在於他有可?性,?且相容於任何符合IBM PC架構的機器上。這樣的PC可利用 Intel-8088處理器 (16-bit暫存器)定址,?最多可有1MB的記憶體,然而最初只有640KB。 軟式磁?機 取代了過去的磁帶機,成?新一代的儲存裝置,?可在?512KB的空間上讀寫。?了支援更進一步的?案讀寫?念, 磁?作業系統 (Disk Operating System,DOS)因而誕生。此作業系統可以合?任意數量的磁區,因此可以在一張磁?片上放置任意數量與大小的?案。?案之間以?名區別。IBM?沒有?在意其上的DOS,因此以向外部公司購買的方式取得作業系統。1980年微軟公司取得了與IBM的合約,?且收購了一家公司出?的作業系統,在將之修改後以 MS-DOS 的名義出品,此作業系統可以直接讓程式操作BIOS與?案系統。到了 Intel-80286處理器 的時代,才開始實作基本的儲存裝置保護措施。其後,MS-DOS成爲了 IBM PC 上面最常用的作業系統(IBM自己也有推出DOS,稱?IBM-DOS或 PC-DOS )。MS-DOS的成功使得 微? 成?地球上最?錢的公司之一。

MS-DOS在個人電腦上的抽象架構
普通 應用程式 (Shell script、 文字編輯器
MS-DOS (?案系統)
BIOS (驅動程式)
硬體 中央處理器 、儲存裝置等)

而1980年代?一個?起的作業系統異數是 Mac OS ,此作業系統緊緊與 ?金塔?? ??在一起。此時一位 施? ?羅奧多?究中心 的員工Dominik Hagen拜訪了?果電腦的 史?夫·?布斯 ,?且向他展示了此時全錄發展的圖形化使用者介面。?果電腦驚?天人,?打算向全錄購買此技術,但因?羅奧多?究中心?非商業單位而是?究單位,因此全錄回?了這項買賣。在此之後?果一致認?個人電腦的未來必定屬於圖形使用者介面,因此也開始發展自己的圖形化作業系統。

1990年代 [ ?? ]

Apple I 電腦,?果電腦的第一代?品

延續1980年代的競爭,1990年代出現了許多影響未來個人電腦市場深厚的作業系統。由於圖形化使用者介面日趨繁複,作業系統的能力也越來越複雜與巨大,因此??且具有彈性的作業系統就成了迫切的需求。此年代是許多套裝類的 個人電腦 作業系統互相競爭的時代。

上一年代於市場?起的?果電腦,由於舊系統的設計不良,使得其後繼發展不力,?果電腦決定重新設計作業系統。經過許多失敗的專案後,?果於1997年釋出新作業系統?? Mac OS X 的測試版,而後推出的正式版取得了巨大的成功。讓原先失意離開?果的 史?夫·?布斯 風光再現。

除了商業主流的作業系統外,從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),所有的特殊指令?能在核心模式執行,此措施讓核心可以完美管理系統內部與外部裝置,?且拒?無權限的行程提出的請求。因此理論上任何應用程式執行時的錯誤,都不可能讓系統 崩潰


幾乎完整的Linux架構圖
使用者
模式
應用程式(sh、 vi OpenOffice.org 等)
複雜 函式庫 KDE 、glib等)
簡單函式庫(opendbm、sin等)
C函式庫(open、fopen、socket、exec、calloc等)
核心
模式
系統中斷、呼叫、錯誤等軟硬體訊息
核心(驅動程式、行程、網路、?存管理等)
硬體(處理器、?存、各種裝置)

?一方面,微軟對於更?力的作業系統呼聲的回應便是 Windows NT 於1993年的面世。

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的基礎上,不?微?在?同?也在??不依?于DOS的NT系列Windows系?,?在后?完全放?了DOS而?向NT作?Windows的基?。

底下的表格?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的架構上。

而本年代漸漸增長?越趨複雜的嵌入式設備市場也促使 嵌入式作業系統 的成長。

今日 [ ?? ]

現代作業系統通常都有一個使用的繪圖裝置的 ?形用?界面 (GUI),?附加如滑鼠或觸控面版等有別於鍵盤的輸入裝置。舊的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 都有。

?人?? [ ?? ]

個人電腦市場目前分?兩大陣營,此兩種架構分別有支持的作業系統:

  • Apple Macintosh - Mac OS X,Windows(僅Intel平台),Linux、BSD。
  • IBM相容PC - Windows、Linux、BSD、Mac OS X(非正式支援)。

大型電腦 [ ?? ]

最早的操作系?是??20世?60年代的大型主????的,由于??些系?在?件方面做了巨大投?,因此原?的?算机?商?????原?操作系?相兼容的硬件?操作系?。?些早期的操作系?是?代操作系?的先?。?在仍被支持的大型主机操作系?包括:

?代的大型主机一般也可?行Linux或Unix??。

嵌入式 [ ?? ]

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

類Unix系統 [ ?? ]

Unix 系?的演?
KDE SC 4 ?面

所謂的 類Unix 家族指的是一族種類繁多的OS,此族包含了 System V BSD Linux 。由於Unix是 The Open Group 的註冊商標,特指遵守此公司定義的行?的作業系統。而類Unix通常指的是比原先的Unix包含更多特徵的OS。

類Unix系統可在非常多的處理器架構下執行,在 伺服器 系統上有?高的使用率,例如大專院校或工程應用的 工作站

1991年,芬??生 林?斯·托瓦? 根据?Unix系? Minix ????布了 Linux 操作系??核,其后在 理?德·斯托曼 的建?下以 GNU通用公共?可? ?布,成? 自由軟體 Unix變種. Linux近來越來越受歡迎,?們也在個人?面電腦市場上大有斬獲,例如 Ubuntu 系統。

某些Unix變種,例如 惠普 HP-UX 以及IBM的 AIX 僅設計用於自家的硬體?品上,而 SUN Solaris 可安裝於自家的硬體或 x86 電腦上。?果電腦的 Mac OS X 是一個從 NeXTSTEP Mach 以及 FreeBSD 共同衍生出來的微核心BSD系統,此OS取代了?果電腦早期非Unix家族的Mac OS。

經歷數年的披荊斬棘,自由 開源 的Linux系統逐漸蠶食以往專利軟體的專業領域,例如以往電腦動?運算巨擘── 硅谷?形公司 (SGI)的 IRIX 系統已被Linux家族及 貝爾實驗室 ?發小組設計的 九號計? Inferno 系統取代,皆用於分散運算式環境。?們?不像其他Unix系統,而是選擇內建 ?形用?界面 。九號計?原先?不普及,因??剛推出時?非自由軟體。後來改在自由及開源軟體許可證 Lucent Public License 釋出後,便開始擁有廣大的使用者及社群。Inferno已被?予 Vita Nuova ?以GPL/MIT許可證釋出。

當前,計算機按照計算能力排名世界500?中全數皆使用Linux系統。 [4]

微軟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%的市場。 [5]

Windows系統也被用在低階和中階伺服器上,?且支援網頁服務的資料庫服務等一些功能。最近微軟花費了?大?究與開發的經費用於使Windows擁有能運行企業的大型程式的能力。

Windows XP在2001年10月25日發佈,2004年8月24日發佈服務包2(Service Pack 2),2008年4月21日發佈最新的服務包3,但只有32位元(Service Pack 3)。

Windows XP的下一代?Windows Vista(開發代碼?Longhorn)於2007年1月30日發? [6] Windows Vista 增加了許多功能,尤其是系統的安全性和網路管理功能,?且其擁有介面華麗的 Aero Glass 。但是整體而言,其在全球市場上的口碑??不是?好。其後繼者 Windows 7 則是於2009年10月22日發?, Windows 7 改善了 Windows Vista ?人?病的效能問題,相較於 Windows Vista ,在同樣的硬體環境下, Windows 7 的表現較Windows Vista?好。

Windows 8 於2012年10月26日發?,與Windows Phone 8共用核心,取消了開始按?,?使用了全新動態?介面,?可使用Windows 市集購買安裝App,但由於整體介面相較於前幾版是?大的更改,以及?觸控設計的介面,讓不少鍵盤滑鼠使用者比較不習慣。微軟於隔年2013年10月18日發布了Windows 8.1,?加回了開始按?。

而最多人使用的Windows 的 Windows 10 則是於2015年7月29日發?。而每次大更新後就更改版本號,目前最新?21H2。會在2025年10月25日停止支援Windows 10家用版及專業版

Windows 11於2021年10月5日發行ISO等安裝?,但無發?盒裝版。是目前最新的Windows,也是唯一可以安裝Android App與只有64位元版的Windows

?果macOS [ ?? ]

macOS ,前?“Mac OS X”或“OS X”,是一套?行于?果 Macintosh 系列??上的操作系?。Mac OS是首?在商用?域成功的 ?形用?界面 系?。Macintosh??成?包括 比?·阿特金森 (Bill Atkinson)、 杰夫·拉斯金 (Jef Raskin)和 安迪·赫茨菲?德 (Andy Hertzfeld)。?OS X 10.8?始在名字中去掉Mac,?保留OSX和版本?。在WWDC 2016 上,?果公司?OS X更名?macOS,?行的最新的系?版本是 macOS Sonoma

Chrome OS [ ?? ]

Google Chrome OS是一?Google的?型??操作系???,其基于Google的??器 Google Chrome 的Linux?核。

其他 [ ?? ]

大型主機以及 嵌入式 作業系統均與Unix或Windows家族關係不大,除了 Android Windows CE Windows NT Windows XP Embedded 是Windows的血親?品,以及數種*BSD和嵌入式Linux套件?例外。

少數較舊的OS今日依然在一些需要穩定性的市場中活躍,例如IBM的 OS/2 BeOS 以及 XTS-400

達康時代 狂潮過後,如 AmigaOS RISC OS 等少數人使用的OS依然持續建立,以滿足狂熱的愛好者社群與特殊專業使用者。

?秀的操作系?必定要具?能?各?能力??的用??足各?需求的工具包可?化的高效?便程序?境,以程序??建程序,就如立法的法律指??范新的法案的?建。?其?是操作系?所?含的一部分,?定了可以有多强的?充能力。比如,某?操作系?有??的??者工具包集成?境程序?且是?可?化的,?能?能力不太高的人一看能?的,用于修改某??音合成器包含???示,可要是操作系?本身不支持也?有提供可用的工具程序,就??得?繁?,?可能?了?到??目?,??者就要??好各?相?的工具程序,甚至自己???一系列相?的工具程序?建??的工具包,最后?要??代?。若是有人想通?音??生成五??,要??似???言的五??????一下,?各?音色,音准采集???出一整套?律,通??音??可以??出?器的??等,?而?出?符完成??音到??的???生成。可是?人?却又更???也不必要如此。若是需要用?音的波形?重??音,?有相?的工具集是相????,?外只有使用同一套?音的波形?制??的所生成的波形?用?再?的?音才是原?的?音。

在作?商品出?的操作系??件的?史中常常因?其中包含的??器,媒?播放器在美?遭到反??起?,差点使得功能上?缺不全。少?操作系??件能?提供??全面的App和?用工具程序。

操作系??件的??也需要??的???境。

在同一台?算机上?行不同的操作系??件,就能?以不同的方式?使用?算机?源。比如,在Mac上?行OS X和Windows以??不同的技? OpenCL Core Image : DirectX ?使用?形????似的作用。

通??像??和?音????行信息搜索。

能??足不同需求所要求的精?程度???的精??分,以及尺度?分可以互?,同步,??原本必須由多?人?同合作才能完成的??需要?整?相互同步的操控作?,?就必?有??消息?送?示,可?化的用于??同步??任?的配置脚本,以及?行????任?的完整?件。

未來 [ ?? ]

?究與建立未來的作業系統依舊進行著。作業系統朝提供更省電、網路化、易用、華麗的使用者介面的方向來改進。類UNIX OS通過和 ?面環境 開發者協作,正努力讓自己改進使用環境。

eyeOS是一套基於PHP實現的半開源模擬雲端運算操作系?,但其實質只是在網路瀏覽器中提供一種類似無界限的類獨立操作系?,其?非於任何類似虛擬化中實現的?正電腦操作系?,能提供諸如Word、PPT、Excel的在線處理功能…

GNU Hurd 是一個以完全相容Unix?加?許多功能?目?的微核心架構。微軟 Singularity 是一個奠基於 .Net ?以建立較佳 記憶體保護 機制?目標的?究計?。

功能 [ ?? ]

操作系?位于底?硬件?用?之?,是?者?通的?梁。用?可以通?操作系?的用?界面,?入命令。操作系???命令?行解?,??硬件??,??用?要求。以?代?准而言,一??准PC的操作系???提供以下的功能:

  • ?程管理(Processing management)
  • ?存管理(Memory management)
  • 文件系?(File system)
  • ??通信(Networking)
  • 安全机制(Security)
  • 用?界面(User interface)
  • ??程序(Device drivers)

?程管理 [ ?? ]

不管是常駐程式或者應用程式,他們都以 行程 ?標準執行單位。當年運用 馮·諾伊曼結構 建造電腦時,每個 中央處理器 最多只能同時執行一個行程。早期的操作系?(例如DOS)也不允許任何程式打破這個限制,且DOS同時只有執行一個?程(雖然DOS自己宣稱他們擁有終止?等待駐留能力,可以部分且艱難地解決這問題)。現代的作業系統,?使只擁有一個CPU,也可以利用 多?程 (multitask)功能同??行多??程。 ?程管理 指的是操作系??整多?行程的功能。

由於大部分的電腦只包含一顆中央處理器,在單核心(Core)的情況下多行程只是簡單迅速地切換各行程,讓每個行程都能?執行,在多核心或多處理器的情況下,所有行程透過許多 協同技術 在各處理器或核心上轉換。越多行程同時執行,每個行程能分配到的時間比率就越小。?多操作系?在遇到此問題時會出現諸如音效斷續或滑鼠跳格的情況(稱做??(Thrashing),一種操作系?只能不停執行自己的管理程式?耗盡系統資源的狀態,其他使用者或硬體的程式皆無法執行。行程管理通常實踐了 分時 的?念,大部分的操作系?可以利用指定不同的特權等級(priority),?每個行程改變所?的分時比例。特權越高的行程,執行優先順序越高,單位時間內?的比例也越高。互動式操作系?也提供某種程度的回饋機制,讓直接與使用者互動的行程擁有較高的特權?。

除了行程管理之外,操作系??有擔負起 行程間通訊 (IPC)、行程異常終止處理以及 死? (Dead Lock)偵測及處理等較?艱深的問題。

在行程之下?有 執行? 的問題,但是大部分的操作系??不會處理執行?所遭遇的問題,通常操作系?僅止於提供一組API讓使用者自行操作或透過 虛擬機器 的管理機制控制執行?之間的互動。

?存管理 [ ?? ]

根據 ?金森定律 :「 ??程序再多?存,程序也?想??法耗光 」,因此 程式設計師 通常希望系統給他 無限量 無限快 的記憶體。大部分的現代電腦記憶體架構都是 階層式 的,最快且數量最少的 暫存器 ?首,然後是 快取 記憶體 以及最慢的 磁?儲存裝置 。而操作系?的 記憶體管理 提供尋?可用的記憶空間、配置與釋放記憶空間以及交換記憶體和低速儲存裝置的內含物……等功能。此類又被稱做 虛擬記憶體管理 的功能大幅增加每個行程可獲得的記憶空間(通常是4 GB ,?使實際上RAM的數量遠少於這數目)。然而這也帶來了微幅降低執行效率的缺點,嚴重時甚至也會導致行程崩潰。

記憶體管理的?一個重點活動就是藉由CPU的?助來管理虛擬位置。如果同時有許多行程儲存於記憶裝置上,作業系統必須防止?們互相干擾對方的記憶體內容(除非透過某些協定在可控制的範圍下操作,?限制可存取的記憶體範圍)。分割記憶體空間可以達成目標。每個行程只會看到整個記憶體空間(從0到記憶體空間的最大上限)被配置給?自己(當然,有些位置被操作系?保留而禁止存取)。CPU事先存了幾個表以比對虛擬位置與實際記憶體位置,這種方法稱? 分頁 配置。

藉由對每個行程?生分開獨立的位置空間,操作系?也可以輕易地一次釋放某行程所?據的所有記憶體。如果這個行程不釋放記憶體,操作系?可以結束行程?將記憶體自動釋放。

磁??文件系? [ ?? ]

所謂的 ?案系統 ,通常指稱管理磁?資料的系統,可將資料以目錄或?案的型式儲存。每個?案系統都有自己的特殊格式與功能,例如日誌管理或不需磁?重整。

操作系?擁有許多種內建?案系統。例如 Linux 擁有非常廣泛的內建?案系統,如 ext2 ext3 ext4 ReiserFS Reiser4 GFS GFS2 OCFS OCFS2 NILFS Google?案系統 。Linux也支援非原生?案系統,例如 XFS JFS FAT 家族與 NTFS 。?一方面, Windows 能支援的?案系統?有FAT12、FAT16、FAT32、EXFAT與NTFS。NTFS系統是Windows上最可?與最有效率的?案系統。其他的FAT家族都比NTFS老舊,且對於?案長度與分割磁?能力都有?大限制,因此造成?多問題。而UNIX的?案系統多半是 UFS ,而UNIX中的一個分支 Solaris 最近則開始支援一種新式的 ZFS

大部?上述的?案系統都有兩種建置方法。系統可以以 日誌式 或非日誌式建置。日誌式?案系統可以以較安全的手法執行系統恢?。如果一個沒有日誌式建置的?案系統遇上突然的系統崩潰,導致資料建立在一半時停頓,則此系統需要特殊的?案系統檢?工具才能復原;日誌式則可自動恢?。 微? 的NTFS與Linux的ext3、ext4、reiserFS與JFS都是日誌式?案系統。

每個?案系統都實作相似的目錄/子目錄架構,但在相似之下也有許多不同點。微軟使用「 \ 」符號以建立目錄/子目錄關係,且?案名稱忽略其大小寫差異;UNIX系統則是以「 / 」建立目錄架構,且?案名稱大小寫有差異。(其實這是給系??用的,"/"或"\"?不實際存在硬?)

?? [ ?? ]

許多現代的操作系?都具備操作主流網路通訊協定 TCP/IP 的能力。也就是說這樣的作業系統可以進入網路世界,?且與其他系統分享諸如?案、印表機與掃描器等資源。

許多操作系?也支援多個過去網路?蒙時代的各路網路通訊協定,例如 IBM 建立的 系統網路架構 DEC 在?所生?的系統所設定的 DECnet 英? DECnet 架構與微軟?Windows製作的特殊通訊協定。還有許多?了特殊功能而?發的通訊協定,例如可以在網路上提供?案存取功能的 NFS 系統。現今大量用於影音串流(Streaming media)及遊?訊息傳送的 UDP 協定等。

安全 [ ?? ]

大多數操作系?都含有某種程度的 資訊安全 機制。資訊安全機制主要基於兩大理念:

  • 操作系?提供外界直接或間接存取數種資源的管道,例如本地端磁?機的?案、受保護的特權 系統呼叫 、使用者的隱私資料與系統執行的程式所提供的服務。
  • 操作系?有能力 認證 資源存取的請求。允許通過認證的請求?拒?無法通過的非法請求,?將適當的權力 授權 Authorization 英? 授? )給此請求。有些系統的認證機制僅簡略地把資源分?特權或非特權,且每個請求都有獨特的身?辨識號碼,例如使用者名稱。資源請求通常分成兩大種類:
    • 內部來源:通常是一個正在執行的程式發出的資源請求。在某些系統上,一個程式一旦可執行就可做任何事情(例如 DOS 時代的 病毒 ),但通常操作系?會給程式一個識別代號,?且在此程式發出請求時,檢?其代號與所需資源的存取權限關係。
    • 外部來源:從 非本地端電腦 而來的資源請求,例如遠端登入本機電腦或某些網路連線請求( FTP HTTP )。?了識別這些外部請求,系統也許會對此請求提出認證要求。通常是請求輸入使用者名稱以及相對應的密碼。系統有時也會應用諸如磁?或生物識別資料的?種認證方法。在某些例子,例如網路通訊上,通常不需通過認證?可存取資源(例如匿名存取的FTP伺服器或 P2P 服務)。

除了允許/拒?形式的安全機制,一個高安全等級的系統也會提供記錄選項,允許記錄各種請求對資源存取的行?(例如「誰曾經讀了這個?案?」)。

肇因於軍方與商業組織將敏感資料記錄在電腦上,安全機制在操作系?歷史上是一個被長久關注與討論的問題。 美國 國防部 (DoD)便創立了 可信賴之計算機系統評鑑程序 TCSEC 英? TCSEC ),此手冊確立了評鑑安全機制成效的基本原則。這對操作系?作者來說非常重要,因?TCSEC是用於評鑑、分類與選拔出用於處理、儲存與獲取敏感或機密資料的電腦系統的標準程序。

內部通?安全 [ ?? ]

內部資訊安全可視?防止正在執行的程式任意存取系統資源的手段。大多操作系?讓普通程式可直接操作電腦的 CPU ,所以?生了一些問題,例如?樣把可如操作系?一樣處理事務、執行同樣特殊指令的程式?迫停止,畢竟在此情境下,操作系?也只是?一個平起平坐的程式。?通用操作系?所生?的CPU通常於硬體層級上實踐了一定程度的特殊指令保護?念。通常特權層級較低的程式想要執行某些特殊指令時會被阻斷,例如直接存取像是硬?之類的外部裝置。因此,程式必須得經由詢問操作系?,讓操作系?執行特殊指令來存取磁?。因此操作系?就有機會檢?此程式的識別身?,?依此接受或拒??的請求。

在不支援特殊指令架構的硬體上,?一個也是唯一的保護方法,則是操作系??不直接利用CPU執行使用者的程式,而是藉由 模擬 一個CPU或提供一 P-code机 系統( ?代碼 執行機),像是 Java 一樣讓程式在 虛擬機器 上執行。

內部安全機制在多使用者電腦上特別重要:?允許每個系統使用者擁有自己個人的?案與目錄,且其他使用者不能任意存取或刪除。因?任何程式都可能繞過操作系?的監控,更有可能繞過側錄程式的監控,擁有?制力的內部安全機制在側錄?動時也非常重要。

外部通?安全 [ ?? ]

通常一個作業系統會?其他網路上的電腦或使用者提供(主持)各種服務。這些服務通常藉由 端口 或操作系?網路地址後的數字存取點提供。通常此服務包括提供?案共享(NFS)、列印共享、 電子郵件 網頁服務 與?案傳輸協定( FTP )。外部資訊安全的最前線,是諸如 防火? 等的硬體裝置。在操作系?內部也常設置許多種類的軟體防火牆。軟體防火牆可設定接受或拒?在操作系?上執行的服務與外界的連線。因此任何人都可以安裝?執行某些不安全的網路服務,例如 Telnet 或FTP,?且設定除了某些自用通道之外阻?其他所有連線,以達成防堵不良連線的機制。

使用者界面 [ ?? ]

今日大部分的操作系?都包含 ?形用?界面 (GUI)。有幾類較舊的操作系?將圖形化使用者介面與 核心 緊密結合,例如最早的Windows與 Mac OS 實作?品。此種手法可提供較快速的圖形回應能力,且實作時不需切割模組因而較?省工,但是會有?烈副作用,例如圖形系統崩潰將導致整個系統崩潰,例如 藍白當機?面 。許多近代的操作系?已 模組化 ,將圖形介面的子系統與核心分開(已知Linux與Mac OS X原先就是如此設計,而某些擴充版本的Windows終於也採用此手法)。

許多操作系?允許使用者安裝或創造任何他們喜歡的?形用?界面 [7] 。大部分的Unix與Unix衍生系統(BSD、Linux與 Minix )通常會安裝 X Window 系統配合 GNOME KDE ?面環境。而某些操作系?就沒有這?彈性的圖形化使用者介面,例如Windows。這類的操作系?只能透過外加的程式來改變其圖形化使用者介面,甚至根本只能改變諸如選單風格或?色配置等部分 [來源請求]

圖形化使用者介面與時?進,例如Windows在每次新版本上市時就會將其圖形化使用者介面改頭換面,而Mac OS的GUI也在Mac OS X上市時出現重大轉變。

??程序 [ ?? ]

所謂的 驅動程式 (Device driver)是指某類設計來與硬體互動的電腦軟體。通常是一設計完善的裝置互動介面,利用與此硬體連接的電腦匯排流或通訊子系統,提供對此裝置下令與接收資訊的功能;以及最終目的,將訊息提供給操作系?或應用程式。驅動程式是針對特定硬體與特定操作系?設計的軟體,通常以作業系統核心模組、應用軟體包或普通電腦程式的形式在操作系? 核心 底下執行,以達到通透順暢地與硬體互動的效果,且提供硬體在處理非同步的時間依賴性介面(asynchronous time-dependent hardware interface)時所需的中斷處理常式。

設計驅動程式的主要目的在於操作 抽象化 ,任何硬體模組,?使是同一類的裝置,在硬體設計面上也有巨大差異。廠商推出的較新模組通常更可?更有效率,控制方法也會有所不同。電腦與其操作系?每每不能預期那些現有與新裝置的變異之處,因此無法知道其操作方法。?解決此問題操作系?通常會 主動制訂 每種裝置該有的操作方式,而驅動程式功能則是將那些操作系?制訂的行?描述,轉譯?可讓裝置瞭解的自訂操作手法。

理論上適合的驅動程式一旦安裝,相對應的新裝置就可以無誤地執行。此新驅動程式可以讓此裝置完美地切合在操作系?中,讓使用者察覺不到這是操作系?原本沒有的功能。

?? [ ?? ]

操作系?理??究者有?把操作系?分成四大部分:

  • ??程序 - 最底?的、直接控制和??各?硬件的部分,??的??是?藏硬件的具???,?向其他部分提供一?抽象的、通用的接口。
  • ?核 - 操作系?之最核心部分,通常?行在最高特??,??提供基?性、??性的功能。
  • 支承? - (亦作“ 接口? ”)是一系列特殊的程序?,????在于把系?所提供的基本服?包?成?用程序所能?使用的?程接口( API ),是最?近?用程序的部分。例如, GNU C?行期? 就?于此?,?把各?操作系?的?部?程接口包?成ANSI C和 POSIX ?程接口的形式。
  • 外? - 所?外?,是指操作系?中除以上三?以外的所有其他部分,通常是用于提供特定高?服?的部件。例如,在微?核??中,大部分系?服?,以及 UNIX / Linux 中各?守??程都通常被??此列。

?然,本?所提出的四部???也?非放之四海皆准。例如,在早期的微???操作系?中,各部分?合程度?深,?以?分彼此。而在使用 外核 ??的操作系?中,?根本?有??程序的?念。因而,本?的??只适用于一般情?,具?特例需具?分析。

操作系?中四大部分的不同布局,也就形成了??整???的分野。常?的??包括:????、???、微?核??、垂直??、和 ??机 ??。

分? [ ?? ]

操作系?的分??有一??一的?准,可以根据工作方式分? 批?理操作系? 分?操作系? ??操作系? ??操作系? 分布式操作系? 等;根据架?可以分? ??核操作系? 等;根据?行的?境,可以分??面操作系?, 嵌入式操作系? 等;根据指令的?度分?8bit, 16bit, 32bit, 64bit 的操作系?。

?核?? [ ?? ]

?核是操作系?最核心最基?的?件,其??往往?操作系?的外部特性以及?用?域有着一定程度的影?。?管?着理?和??的不?演?,操作系?高?特性??核??之?的?合有日??小之?,但??上,?核??仍然是操作系?分?之常用?准。

?核的??可以分? ??核 微?核 超微?核 、以及 外核 等。

??核??是操作系?中各核心部件?然混居的形?,????生于1960年代(亦有1950年代初之?,?存??),?史最?,是操作系??核?外?分??的最初形?。

微?核??是1980年代?生出?的?新的?核??,强???性部件?功能性部件的分?。20世?末,基于微?核??,理?界中又?展出了超微?核?外?核等多???。?管自1980年代起,大部分理??究都集中在以微?核?首的“新?”??之上,然而,在?用?域之中,以??核???基?的操作系?却一直占据着主?地位。

在?多常用操作系?之中,除了 QNX 和基于Mach的UNIX等??系?外,?乎全部采用??核??,例如大部分的 Unix Linux ,以及 Windows 微? ??Windows NT是基于改良的微?核架?的,?管理?界?此存有??)。微?核和超微?核??主要用于?究性操作系?,?有一些 嵌入式系? 使用外核。

基于??核的操作系?通常有着??的?史?源。例如,?大部分UNIX的家族史都可上溯至1960年代。??操作系?多?有着相?古老的??和??(例如某些UNIX中存在着大量1970年代、1980年代的代?)。?外,往往在性能方面略?于同一?用?域中采用其他?核??的操作系?(但通常??此?性能??不能完全?功于??核??)。

通用??用、嵌入式 [ ?? ]

通用操作系? 是面向一般?有特定?用需求的操作系?。由于?有特定的?用需求,通用操作系??了适?更?泛的?用,需要支持更多的硬件??件,需要??所有的用???,?系??行更新。通用操作系?是一?工程量繁重的操作系?。

???非?? [ ?? ]

??操作系? 」(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?准)。

8位、16位、32位、64位、128位 [ ?? ]

所謂8位、16位、32位、64位、128位等術語有時指匯流排寬度,有時指指令寬度(在定長指令集中),而在作業系統理論中主要是指記憶體定址的寬度。如果記憶體的定址寬度是16位,那?每一個記憶體地址可以用16個二進位位來表示,也就是說可以在64KB的範圍內定址。同樣道理32位的寬度對應4GB的定址範圍,64位的寬度對應16 Exabyte的定址範圍。記憶體定址範圍?非僅僅是對作業系統而言的,其他類型的軟件的設計有時也會被定址範圍而影響。但是在作業系統的設計與實現中,定址範圍?有着更?重要的意義。

在早期的16位作業系統中,由於64KB的定址範圍太小,大都都採用「段」加「線性地址」的二維平面地址空間的設計。分配記憶體時通常需要考慮「段置換」的問題,同時,應用程序所能?使用的地址空間也往往有比較小的上限。

在32位作業系統中,4GB的定址範圍對於一般應用程序來說是綽綽有餘的,因而,通常使用一維的線性地址空間,而不使用「段」。

注? [ ?? ]

?考文? [ ?? ]

引用 [ ?? ]

  1. ^ 存?副本 . sites.google.com. [ 2021-12-06 ] . (原始?容 存? 于2022-05-12).  
  2. ^ 王珞:?定走出自主可控操作系?的??之路--理?-人民? . theory.people.com.cn. [ 2021-12-06 ] . (原始?容 存? 于2021-12-09).  
  3. ^ (英文) Multicians.org and the History of Operating Systems ?面存??? ,存于 互???案? ), Thomas Haigh, 13 September 2002
  4. ^ Top500 ? List Statistics [Top500 ? 列表??] . www.top500.org. 2017-11 [ 2019-03-04 ] . ( 原始?容 存?于2012-11-19) (英?) .  
  5. ^ Why Windows Won't Always Dominate - New devices will shrink Microsoft's OS market share, researcher predicts ?面存??? ,存于 互???案? ), David Legard, IDG News Service, Friday, April 23, 2004
  6. ^ (英文) 微軟Vista作業系統官方網站公告 ?面存??? ,存于 互???案? )(2007年1月10日造訪)
  7. ^ 各項多采多姿的KDE/GNOME ?面快照 [ 永久失效連結 ]

?源 [ ?? ]

?閱 [ ?? ]

外部連結 [ ?? ]