系統簡介,發展歷史,主要功能,用途分類,體系結構,簡單體系結構,單體核心結構,層次式結構,微核心結構,外核結構,安全加固,安全加固原理,安全加固方法,安全加固流程,系統虛擬化,操作實例,
系統簡介
在計算機中,作業系統是其最基本也是最為重要的基礎性
系統軟體。從計算機用戶的角度來說,計算機作業系統體現為其提供的各項服務;從程式設計師的角度來說,其主要是指用戶登錄的界面或者接口;如果從設計人員的角度來說,就是指各式各樣模組和單元之間的聯繫。事實上,全新作業系統的設計和改良的關鍵工作就是對體系結構的設計,經過幾十年以來的發展,計算機作業系統已經由一開始的簡單控制循環體發展成為較為複雜的分散式作業系統,再加上計算機用戶需求的愈發多樣化,計算機作業系統已經成為既複雜而又龐大的計算機軟體系統之一。
發展歷史
縱觀計算機之歷史,作業系統與計算機硬體的發展息息相關。作業系統之本意原為提供簡單的工作排序能力,後為輔助更新更複雜的硬體設施而漸漸演化。從最早的批量模式開始,分時機制也隨之出現,在
多處理器時代來臨時,作業系統也隨之添加多處理器協調功能,甚至是分散式系統的協調功能。其他方面的演變也類似於此。另一方面,個人計算機之作業系統因襲大型機的成長之路,在硬體越來越複雜、強大時,也逐步實現以往只有大型機才有的功能。
從1946年誕生第一台電子計算機以來,它的每一代進化都以減少成本、縮小體積、降低功耗、增大容量和提高性能為目標,隨著計算機硬體的發展,同時也加速了作業系統(簡稱OS)的形成和發展。
最初的電腦沒有作業系統,人們通過各種按鈕來控制計算機,後來出現了
彙編語言,操作人員通過有孔的紙帶將程式輸入電腦進行編譯。這些將語言內置的電腦只能由製作人員自己編寫程式來運行,不利於程式、設備的共用。為了解決這種問題,就出現了作業系統,這樣就很好實現了程式的共用,以及對計算機硬體資源的管理。
隨著計算技術和大規模
積體電路的發展,微型計算機迅速發展起來。從20世紀70年代中期開始出現了計算機作業系統。在美國1976年的時候就研製了DIGITAL RESEARCH軟體公司出8位的CP/M作業系統。這個系統允許用戶通過控制台的鍵盤對系統進行控制和管理,其主要功能是對檔案信息進行管理,以實現其他設備檔案或硬碟檔案的自動存取。此後出現的一些8位作業系統多採用CP/M結構。
2023年7月5日,“
開放麒麟”作業系統 1.0 版本正式發布。
主要功能
計算的作業系統對於計算機可以說是十分重要的,從使用者角度來說,作業系統可以對計算機系統的各項資源板塊開展調度工作,其中包括軟硬體設備、數據信息等,運用計算機作業系統可以減少人工資源分配的工作強度,使用者對於計算的操作干預程度減少,計算機的智慧型化工作效率就可以得到很大的提升。其次在資源管理方面,如果由多個用戶共同來管理一個計算機系統,那么可能就會有衝突矛盾存在於兩個使用者的信息共享當中。為了更加合理的分配計算機的各個資源板塊,協調計算機系統的各個組成部分,就需要充分發揮計算機作業系統的職能,對各個資源板塊的使用效率和使用程度進行一個最優的調整,使得各個用戶的需求都能夠得到滿足。最後,作業系統在電腦程式的輔助下,可以抽象處理計算系統資源提供的各項基礎職能,以可視化的手段來向使用者展示作業系統功能,減低計算機的使用難度。
作業系統主要包括以下幾個方面的功能 :
①進程管理,其工作主要是進程調度,在單用戶單任務的情況下,處理器僅為一個用戶的一個任務所獨占, 進程管理的工作十分簡單。但在多道程式或多用戶的情況 下,組織多個作業或任務時,就要解決處理器的調度、 分配和回收等問題 。
②存儲管理分為幾種功能:存儲分配、存儲共享、存儲保護 、存儲擴張。
③設備管理分有以下功能:設備分配、設備傳輸控制 、設備獨立性。
④檔案管理:檔案存儲空間的管理、目錄管理 、檔案操作管理、檔案保護。
⑤作業管理是負責處理用戶提交的任何要求。
用途分類
計算機的作業系統根據不同的用途分為不同的種類,從功能角度分析,分別有實時系統、批處理系統、分時系統、網路作業系統等。
實時系統主要是指系統可以快速的對外部命令進行回響,在對應的時間裡處理問題,協調系統工作。
分時系統可以實現用戶的人機互動需要,多個用戶共同使用一個主機,很大程度上節約了資源成本。 分時系統具有多路性、獨立性、互動性、及時性的優點,能夠將用戶-系統-終端任務實現。
批處理系統出現於20世紀60年代,批處理系統能夠提高資源的利用率和系統的吞吐量。
網路作業系統是一種能代替作業系統的軟體程式,是網路的心臟和靈魂,是向網路計算機提供服務的特殊的作業系統。藉由網路達到互相傳遞數據與各種訊息,分為伺服器及客戶端。而伺服器的主要功能是管理伺服器和網路上的各種資源和網路設備的共用,加以統合併控管流量,避免有癱瘓的可能性,而客戶端就是有著能接收伺服器所傳遞的數據來運用的功能,好讓客戶端可以清楚的搜尋所需的資源。
體系結構
簡單體系結構
計算機作業系統誕生初期,其體系結構就屬於簡單體系結構,由於當時各式各樣影響因素的作用,如硬體性能、平台、軟體水平等方面的限制,使得當時的計算機作業系統結構呈現出一種混亂且結構模糊的狀態,其作業系統的用戶應用程式和其核心程式魚龍混雜,甚至其運行的地址和空間都是一致的。這種作業系統實際上就是一系列過程和項目的簡單組合,使用的模組方法也相對較為粗糙,因此導致其結構巨觀上非常模糊。
單體核心結構
隨著科學技術的不斷發展和進步,硬體及其平台的水平和性能得到了很大程度的提高,其數量和種類也與日俱增,作業系統的複雜性也逐漸加深,其具備的功能以及性能越來越多,在此背景下,單體核心結構的作業系統誕生並得到了套用,例如
UNIX作業系統、windows NT/XP等。一般情況下,單體核心結構的作業系統主要具備以下幾種功能,分別是檔案及記憶體管理、設備驅動、
CPU調度以及
網路協定處理等。由於
核心的複雜性不斷加深,相關的開發設計人員為了實現對其良好的控制,逐漸開始使用了一些較為成熟的模組化方法,並根據其不同的功能將其進行結構化,進而將其劃分為諸多的模組,例如檔案及記憶體管理模組、驅動模組、CPU調度模組及網路協定處理等。這些模組所使用的地址和空間與核心使用的完全一致,其以函式調用的方式構建了用於通訊的結構來實現各個模組之間的通訊。在使用模組化的方法以後,只要其通訊接口沒有發生明顯的變化,即使整個結構中的任何一個模組發生變化也不會對結構中的其他模組造成任何的影響,為其系統的維護和改良擴充提供了便利。雖然單體核心結構的計算機作業系統經過了模組化的處理,但是其中的全部模組仍然是在
硬體之上、套用軟體之下的作業系統核心中運轉和工作。模組與模組之間活動的層次沒有任何的差別。
層次式結構
層次式結構的計算機作業系統是為了減少以往作業系統中各個模組之間由於聯繫緊密而帶來的各種問題而誕生的,其可以最大程度的減少甚至是避免循環調用現象的發生,確保調用有序,為作業系統設計目標的實現奠定了堅實的基礎。在層次式結構的計算機作業系統之中,其是由諸多系統分為若干個層次的,其最底層是硬體技術,其他每一個層級均是建立在其下一層級之上的。在設計其計算機作業系統核心時,主要採用與
抽象數據類型十分類似的設計方法進行的,在系統中的每一個層級均包含著多種數據和操作,且每一個的數據和操作是其他層不可見的,在每一層當中都配備了用於其他層使用的一操作接口,同時每一層發生的訪問行為只能針對其下層進行,不能訪問其上層的數據和服務,嚴格遵守了調用規則,在很大程度上避免了其他層次對某一層次的干擾和破壞。對於理想的層次式計算機系統體系結構來說,其之間的聯繫不僅僅是單向依賴性的,同時各個層級之間也要具備相互的獨立性,且只能對低層次的模組和功能進行調用,例如THE系統。但是這種理想的全序層次式計算機作業系統在現實中建成是較為困難的,其無法完全避免模組之間循環調用現象的出現,某個層級之間仍舊存在某種循環關係,這種層次式結構又被叫作半序層次式計算機作業系統,例如SUE作業系統。
微核心結構
微核心計算機作業系統體系結構又可以被叫作客戶機結構或者伺服器結構,其實際上就是一種將系統中的代碼轉移到更高層次當中,儘可能地減少作業系統中的東西,僅僅保留一個小體積的核心,一般情況下其使用的主要方法就是通過用戶進程來實現作業系統所具備的各項功能,具體來說就是用戶進程可以將相關的請求和要求傳送到伺服器當中,然後由伺服器完成相關的操作以後在通過某種渠道反饋到用戶進程當中。在微核心結構中,作業系統的核心主要工作就是對客戶端和伺服器之間的通信進行處理,在系統中包括許多部分,每一個部分均具備某一方面的功能,例如檔案服務、進程服務、終端服務等,這樣的部分相對較小,相關的管理工作也較為便利。這種機構的服務的運行都是以用戶進程的形式呈現的,既不在核心中運行,也不直接地對硬體進行訪問,這樣一來即使伺服器發生錯誤或受到破壞也不會對系統造成影響,僅僅只是會造成相對應
伺服器的崩潰。
外核結構
外核結構的計算機作業系統本質上就是為了獲得更高的性能和靈活性而設計出來的,在系統中,作業系統接口處於硬體層,在核心中提出全部由以往作業系統帶來的抽象,並將重點和關鍵放在了更多硬體資源的復用方面。在作業系統的外核結構中,核心負責的主要工作僅僅為簡單的申請操作以及釋放和復用硬體資源,其由以往作業系統提供的抽象全部在用戶空間當中運行。
一般情況下,外核結構中的核心主要有三大方面的工作,分別是對資源的所有權進行跟蹤、為作業系統的安全提供保護以及撤銷對資源的訪問行為。在核外,基本上所有的作業系統中的抽象都是以庫的形式呈現出來的,而用戶在訪問硬體資源時也是通過庫的調用來完成的。
安全加固
隨著計算機網路與套用技術的不斷發展,信息系統安全問題越來越引起人們的關注,信息系統一旦遭受破壞,用戶及單位將受到重大的損失,對信息系統進行有效的保護,是必須面對和解決的迫切課題,而作業系統安全在計算機系統整體安全中至關重要,加強作業系統安全加固和最佳化服務是實現信息系統安全的關鍵環節。當前,作業系統安全構成威脅的問題主要有
系統漏洞、脆弱的登錄認證方式、訪問控制形同虛設、
計算機病毒、
特洛伊木馬、隱蔽通道、系統後門惡意程式和代碼感染等,加強作業系統安全加固工作是整個信息系統安全的基礎。
安全加固原理
安全加固是指按照系統安全配置標準,結合用戶信息系統實際情況,對信息系統涉及的
終端主機、伺服器、網路設備、
資料庫及套用中間件等軟體系統進行安全配置加固、漏洞修復和安全設備調優。通過安全加固,可以合理加強信息系統安全性,提高其健壯性,增加攻擊入侵的難度,可以使信息系統安全防範水平得到大幅提升。
安全加固方法
安全加固主要通過人工對系統進行漏洞掃描,針對掃描結果使用打
補丁、強化賬號安全、修改安全配置、最佳化訪問控制策略、增加安全機制等方法加固系統以及堵塞系統漏洞、“後門”,完成加固工作。
安全加固流程
安全加固主要包含以下幾個環節:
(1)安全加固範圍確定收集需要進行安全加固的信息系統所涉及的計算機設備、網路、資料庫及套用中間件的設備情況。
(2)制訂安全加固方案根據信息系統的安全等級劃分和具體要求,利用網路安全經驗和漏洞掃描技術和工具,對加固範圍內的計算機作業系統、網路設備、資料庫系統及套用中間件系統進行安全評估,從內、外部對信息系統進行全面的評估,檢查這些系統目前安全狀況,根據現狀制定相應的安全加固措施,形成安全加固方案。
(3)安全加固方案實施根據制定的安全加固實施方案實施加固,完成後對加固後的系統進行全面的測試和檢查,確保加固對系統業務無影響,並填寫加固實施記錄。
(4)安全加固報告輸出根據安全加固實施記錄,編寫最終的安全加固實施報告,對加固工作進行總結,對已加固的項目、加固效果、遺留問題進行匯總統計。
系統虛擬化
作業系統虛擬化作為容器的核心技術支撐,得到了研究者的廣泛關注。最近幾年,無論是在以SOSP/OSDI為代表的計算機系統領域頂級學術會議上,還是以
Google為代表的重要
網際網路企業中,都陸續出現了一批作業系統虛擬化的最新研究成果,並且成果數量呈現出逐年增加的總體趨勢。
作業系統虛擬化技術允許多個套用在共享同一主機作業系統 (Host OS) 核心的環境下隔離運行, 主機作業系統為套用提供一個個隔離的運行環境, 即容器實例:作業系統虛擬化技術架構可以分為容器實例層、容器管理層和核心資源層。
作業系統虛擬化與傳統虛擬化最本質的不同是傳統虛擬化需要安裝客戶機作業系統 (Guest OS) 才能執行應用程式,而作業系統虛擬化通過共享的宿主機作業系統來取代 Guest OS。
操作實例
嵌入式
嵌入式系統使用非常廣泛的系統(如
VxWorks、
eCos、Symbian OS及
Palm OS)以及某些功能縮減版本的Linux或者其他作業系統。某些情況下,OS指稱的是一個內置了固定套用軟體的巨大泛用程式。在許多最簡單的嵌入式系統中,所謂的OS就是指其上唯一的應用程式。
iOS是由
蘋果公司開發的手持設備作業系統。蘋果公司於2007年1月9日的Macworld 大會上公布這個系統,以Darwin為基礎,屬於類Unix 的商業作業系統。最初是設計給
iPhone 使用的,後來陸續套用到
iPod touch 、
iPad 以及
Apple TV 等產品上。iOS與蘋果的
Mac OS X 作業系統一樣,屬於類Unix的商業作業系統。原本這個系統名為 iPhone OS,因為 iPad,iPhone,iPod touch 都使用 iPhone OS,所以 2010 年 WWDC 大會上宣布改名為 iOS(iOS 為美國 Cisco 公司網路設備作業系統註冊商標,蘋果改名已獲得 Cisco 公司授權)。
Android是一種基於Linux的自由及開放原始碼的作業系統。主要使用於移動設備,如智慧型手機和平板電腦,由Google公司和開放手機聯盟領導及開發。尚未有統一中文名稱,中國大陸地區較多人使用“安卓”。Android作業系統最初由Andy Rubin開發,主要支持手機。2005年8月由Google收購注資。2007年11月,Google與84家硬體製造商、軟體開發商及電信營運商組建開放手機聯盟共同研發改良Android系統。隨後Google以Apache開源許可證的授權方式,發布了Android的原始碼。第一部Android智慧型手機發布於2008年10月。Android逐漸擴展到平板電腦及其他領域上,如電視、數位相機、遊戲機、智慧型手錶等。2011年第一季度,Android在全球的市場份額首次超過塞班系統,躍居全球第一。 2013年的第四季度,Android平台手機的全球市場份額已經達到78.1%。2013年09月24日谷歌開發的作業系統Android在迎來了5歲生日,全世界採用這款系統的設備數量已經達到10億台。
類 Unix
類Unix系統可在非常多的處理器架構下運行,在
伺服器系統上有很高的使用率,例如大專院校或工程套用的
工作站。
經歷數年的披荊斬棘,自由開源的Linux系統逐漸蠶食以往專利軟體的專業領域,例如以往計算機動畫運算巨擘──矽谷圖形公司(SGI)的
IRIX系統已被Linux家族及
貝爾實驗室研發小組設計的九號項目與
Inferno系統取代,皆用於分散表達式環境。它們並不像其他Unix系統,而是選擇內置
圖形用戶界面。九號項目原先並不普及,因為它剛推出時並非自由軟體。後來改在自由及開源軟體許可證Lucent Public License發布後,便開始擁有廣大的用戶及社群。Inferno已被售予Vita Nuova並以GPL/MIT許可證發布。
當前,計算機按照計算能力排名世界500強中472台使用Linux,6台使用Windows,其餘為各類
BSD等Unix。
Microsoft Windows
雖然由於人們對於開放原始碼作業系統興趣的提升,Windows的市場占有率有所下降,但是到2004年為止,Windows作業系統在世界範圍內占據了桌面作業系統90%的市場。
Windows系統也被用在低級和中階伺服器上,並且支持網頁服務的資料庫服務等一些功能。最近微軟花費了很大研究與開發的經費用於使Windows擁有能運行企業的大型程式的能力。
Windows XP在2001年10月25日發布,2004年8月24日發布服務包2(Service Pack 2),2008年4月21日發布最新的服務包3(Service Pack 3)。
Windows 7,是由
微軟公司(
Microsoft)開發的作業系統,核心版本號為Windows NT 6.1。Windows 7可供家庭及商業工作環境:筆記本電腦 、多媒體中心等使用。和同為NT6成員的Windows Vista一脈相承,Windows 7繼承了包括
Aero風格等多項功能,並且在此基礎上增添了些許功能。
Windows 10是由美國微軟公司開發的套用於計算機和平板電腦的作業系統,於2015年7月29日發布正式版。
Windows 10作業系統在易用性和安全性方面有了極大的提升,除了針對雲服務、智慧型移動設備、自然人機互動等新技術進行融合外,還對固態硬碟、生物識別、高解析度螢幕等硬體進行了最佳化完善與支持。截至2022年5月26日,Windows 10正式版已更新至Windows 10 21H2版本。
微軟的作業系統Windows Vista(開發代碼為Longhorn)於2007年1月30日發售。Windows Vista增加了許多功能,尤其是系統的安全性和網上管理功能,並且其擁有接口華麗的
Aero Glass。但是整體而言,其在全球市場上的口碑卻並不是很好。其後繼者
Windows 7則是於2009年10月22日發售,
Windows 7改善了Windows Vista為人詬病的性能問題,相較於Windows Vista,在同樣的硬體環境下,
Windows 7的表現較Windows Vista為好。而
Windows 10則是於2015年7月29日發售。最新的系統為
Windows 11,於2021年6月25日的直播中公布並發售
MacOS X
macOS,前稱“MacOS X”或“OS X”,是一套運行於蘋果
Macintosh系列計算機上的作業系統。Mac OS是首個在商用領域成功的
圖形用戶界面系統。Macintosh開發成員包括比爾·阿特金森(Bill Atkinson)、
傑夫·拉斯金(Jef Raskin)和安迪·赫茨菲爾德(Andy Hertzfeld)。從OS X 10.8開始在名字中去掉Mac,僅保留OS X和版本號。2016年6月13日在WWDC2016上,蘋果公司將OS X更名為macOS,現行的最新的系統版本是13.X,即macOS Ventura。
Google Chrome OS
Google Chrome OS是一項Google的輕型的、基於網路的計算機作業系統計畫,其基於Google的瀏覽器
Google Chrome的Linux核心。
2021年6月,華為鴻蒙系統正式亮相,國產作業系統邁出市場化和商業化重要一步。9月30日,面向數字基礎設施的開源作業系統歐拉(openEuler)全新發布,與鴻蒙實現核心技術共享。11月9日,華為攜手社區全體夥伴共同將歐拉開源作業系統正式捐贈給開放原子開源基金會,以推動作業系統產業快速發展。從伺服器作業系統,升級為數字基礎設施的作業系統,歐拉能夠支持IT、CT、OT等數字基礎設施全場景,覆蓋伺服器、雲、邊、嵌入式等各種設備形態的需求,更好地滿足千行百業數位化轉型的需求。