了解和熟悉作業系統
什麼是作業系統
作業系統是一個大型的軟體系統,其功能複雜,體系龐大。從不同的角度看的結果也不同,正是“橫看成嶺側成峰”,下面我們通過最典型的兩個角度來分析一下。
1.從程式員的角度看
正如前面所說的,如果沒有作業系統,程式員在開發軟體的時候就必須陷入複雜的硬體實作細節。程式員并不想涉足這個可怕的領域,而且大量的精力花費在這個重複的、沒有創造性的工作上也使得程式員無法集中精力放在更具有創造性的程式設計工作中去。程式員需要的是一種簡單的,高度抽象的可以與之打交道的裝置。
将硬體細節與程式員隔離開來,這當然就是作業系統。
從這個角度看,作業系統的作用是為使用者提供一台等價的擴充機器,也稱虛拟機,它比底層硬體更容易程式設計。
2.從使用者的角度看
從使用者的角度來看,作業系統則用來管理一個複雜系統的各個部分。
作業系統負責在互相競争的程式之間有序地控制對CPU、記憶體及其它I/O接口裝置的配置設定。
比如說,假設在一台計算機上運作的三個程式試圖同時在同一台列印機上輸出計算結果。那麼頭幾行可能是程式1的輸出,下幾行是程式2的輸出,然後又是程式3的輸出等等。最終結果将是一團糟。這時,作業系統采用将列印輸出送到磁盤上的緩沖區的方法就可以避免這種混亂。在一個程式結束後,作業系統可以将暫存在磁盤上的檔案送到列印機輸出。
從這種角度來看,作業系統則是系統的資源管理者。
作業系統的分類及特點
分類:
根據作業系統在使用者界面的使用環境和功能特征的不同,作業系統一般可分為四種基本類型,即批處理系統、通用管理系統、分時系統和實時系統。随着計算機體系結構的發展,又出現了許多種作業系統,它們是嵌入式作業系統、個人作業系統、網絡作業系統和分布式作業系統。
1. 批處理作業系統
批處理(Batch Processing)作業系統的工作方式是:使用者将作業交給系統操作員,系統操作員将許多使用者的作業組成一批作業,之後輸入到計算機中,在系統中形成一個自動轉接的連續的作業流,然後啟動作業系統,系統自動、依次執行每個作業。最後由操作員将作業結果交給使用者。
批處理作業系統的特點是:多道和成批處理。
2.分時作業系統
分時(Time Sharing)作業系統的工作方式是:一台主機連接配接了若幹個終端,每個終端有一個使用者在使用。使用者互動式地向系統提出指令請求,系統接受每個使用者的指令,采用時間片輪轉方式處理服務請求,并通過互動方式在終端上向使用者顯示結果。使用者根據上步結果發出下道指令。分時作業系統将CPU的時間劃分成若幹個片段,稱為時間片。作業系統以時間片為機關,輪流為每個終端使用者服務。每個使用者輪流使用一個時間片而使每個使用者并不感到有别的使用者存在。分時系統具有多路性、互動性、“獨占”性和及時性的特征。多路性指,同時有多個使用者使用一台計算機,宏觀上看是多個人同時使用一個CPU,微觀上是多個人在不同時刻輪流使用CPU。互動性是指,使用者根據系統響應結果進一步提出新請求(使用者直接幹預每一步)。“獨占”性是指,使用者感覺不到計算機為其他人服務,就像整個系統為他所獨占。及時性指,系統對使用者提出的請求及時響應。
常見的通用作業系統是分時系統與批處理系統的結合。其原則是:分時優先,批處理在後。“前台”響應需頻繁互動的作業,如終端的要求; “背景”處理時間性要求不強的作業。
3.實時作業系統
實時作業系統(RealTimeOperatingSystem,RTOS)是指使計算機能及時響應外部事件的請求在規定的嚴格時間内完成對該事件的處理,并控制所有實時裝置和實時任務協調一緻地工作的作業系統。實時作業系統要追求的目标是:對外部請求在嚴格時間範圍内做出反應,有高可靠性和完整性。
4.嵌入式作業系統
嵌入式作業系統(EmbeddedOperating System)是運作在嵌入式系統環境中,對整個嵌入式系統以及它所操作、控制的各種部件裝置等資源進行統一協調、排程、指揮和控制的系統軟體。并使整個系統能高效地運作。
5. 個人計算機作業系統
個人計算機作業系統是一種單使用者多任務的作業系統。個人計算機作業系統主要供個人使用,功能強、價格便宜,可以在幾乎任何地方安裝使用。它能滿足一般人操作、學習、遊戲等方面的需求。個人計算機作業系統的主要特點是計算機在某一時間内為單個使用者服務;采用圖形界面人機互動的工作方式,界面友好;使用友善,使用者無需專門學習,也能熟練操縱機器。
6.網絡作業系統
網絡作業系統是基于計算機網絡的,是在各種計算機作業系統上按網絡體系結構協定标準開發的軟體,包括網絡管理、通信、安全、資源共享和各種網絡應用。其目标是互相通信及資源共享。特點:多使用者多任務作業系統 UNIX、NETWARE、WINDOWS NT LINUX等
7.分布式作業系統
大量的計算機通過網絡被連結在一起,可以獲得極高的運算能力及廣泛的資料共享。這種系統被稱作分布式系統(DistributedSystem)
主流作業系統
個人電腦市場從硬體架構上來說目前分為兩大陣營,PC機與Apple電腦。
它們支援的作業系統:
1.Windows系列作業系統
由微軟公司生産;
2.Unix類作業系統
如SOLARIS,BSD系列(FREEBSD,openbsd,netbsd,pcbsd);
3.Linux類作業系統
如UBUNTU,suse linux,fedora,等
4.Mac作業系統
由蘋果公司生産(Darwin),一般安裝于MAC電腦。
windows作業系統與Unix作業系統的優缺點
windows:
優點:圖形界面良好,擁有良好的內建開發環境,操作簡單。
缺點:不是免費的軟體,采用二進制代碼,不易修改作業系統本身。漏洞比較多。和linux和unix系統相比,網絡功能相對較差,源碼不開放。不利于作業系統的開發。
UNIX 優點:UNIX 如此的成功,這大大超出了它的創造者最初的設想。UNIX 成功的一個主要原因是它最初的發行發式。由于法令(consent decree)的限制,AT&T 不得不以極少的費用出售UNIX許可證和源代碼。世界各地的人們都可以索取和運作該系統。由于附帶源代碼,使用者可以分析它,更改它,告訴其他人自己所做的修改。然後AT&T 再将開多修改加入到新發行中。
在伯克利的工作更帶動了這一趨勢。總而言之,UNIX 在一種極為開放的過程〔或者說沒有過程〕中不斷發展。各國、各大洲的學術界、廠商、以及瘋狂的黑客們都為UNIX 的發展做出了貢獻。既便在UNIX 商業化之後.許多廠商也認識到開放系統的價值,将它們的成果公布于衆,制定了許多像NFS 這樣的開放規範。
最初的UNIX 設計非常精湛,井為後來版本和分支奠定了成功的基礎。它的一個最大的長處就是始終貫徹“越小越完美”的思想[ Allm 87] ,用一個小的核心提供一組必要功能的最小集。系統有許多小的實用工具完成簡單的資料處理。使用者可以通過管道機制以及可程式設計的shell 等工具将這些實用工具以各種方式組合起來,形成功能更強大的工具。
UNIX 的檔案系統是這種小巧,簡單方式的一個典型代表。與當時使用諸如索引順序通路方式(ISAM),層次順序通路方式(HSAM)等複雜檔案通路方式的作業系統不同,UNIX 将檔案看成是一個位元組流。應用它可以在檔案上建立任何資料結構,實用自己的通路方式通路檔案,不需要檔案系統的幹預。
大多數系統應用都使用文本資料。例如,比較重要的系統資料庫/etc/passwd , /etc/fstab,以及/etc/ttys 都是普通的文本檔案。盡管使用二進制的有結構的方法組織資訊會更有效,使用一般的文本可以讓使用者不必使用特殊的工具就可以通路和處理這些檔案。 文本是一件友好的,通用的,高度可移植的資料形式,可以用許多實用工具進行處理。
UNIX 另一個很突出的特點就是它簡單而統一的I/O 裝置接口。UNIX 将所有的裝置都用檔案表示,使用者可以使用與處理檔案相同的指令和系統調用集通路裝置。開發者寫程式完成I/O操作時不必考慮這個操作是對檔案的,還是對使用者終端,列印機,或其他裝置進行的。這一特性與shell 中的I/O 重定向一起提供了一個簡單而強大的I/O 接口。
促使UNIX 成功和流行的一個關鍵因素是它的可移植性。核心的大部分都是用C 語言寫 的。這就使其在移植到新機器時相對容易了許多。它先是用于 PDP-11,後來移植到 VAX-11 及其他許多機器、許多廠商都是開發出自己的新機器,然後簡單将 UNIX 移植到它的上面, 而不必重寫一個新的作業系統。 缺點: 事物總有相反的兩個方面。在贊譽UNIX 優點的同時,也不能忽略了它的缺點。對UNIX 進行如此客觀回顧的人中就有這樣一個人,他不是别人,正是DennisRitchie 本人。在1987 年 1 月 USENIX 會議中的一次 UNIX 回顧會晤中,RitChie 分析了許多 UNIX 的缺點[ Ritc87] 。下面我們對其進行簡述。
盡管UNIX 最初是一個簡單的系統。它已不再是這樣了。例如,AT&T 為了高效地對資料進行緩沖和将程式移植到非UNIX 系統上,為UNIX 系統增加了标準1/O 庫。這個庫相對其
undefined
底層的系統調用接口已變得越來越複雜了。例如,read 和write 系統調用是原子性的(不可分的)操作,而I/O 庫中的緩沖破壞了這種原子性。
雖然UNIX 是一個優秀的作業系統,但大多數使用者并不需要一個作業系統,他們隻要有一個可以完成特定任務的系統就行了。這些使用者并不關心底層檔案系統結構和程序結構是否優美。他們隻需要以最少的代價運作一個特定的應用(如編輯器,商務軟體包,繪圖程式)、早期的UNIX 缺少一個簡單統一的(最好是圖形的)使用者界面,這也是阻礙UNIX 被大衆接受的一個主要因素。用Ritchie 的話來說就是,“UNIX 簡單而一緻,但隻有天才(至少是程式員)才能賞識它的簡潔。”
以積木方式構造上工具利弊參半。盡管它優美而且從審美角度來說非常優美,但使用者需 要具有豐富的創造力和想像力才能高效地使用這些工具。許多使用者更喜歡使用個人計算機中 有的那些已內建好的,一步到位的程式。
從某件程度上說,UNIX 也是自己成功發展的受害者。它簡單的許可證條款以及可移植性造成它不可控制的發展和擴散。人們都對 UNIX 系統進行修補,每個小組都以不同的方式進行修改,結果是他們的系統往往不相容。起初隻有兩大勢力 一 AT&T 和 BSD 。它們都有自己的檔案系統,記憶體結構,以及自己的信号和終端處理架構。很快許多廠商都發行了自己的變體,在一定程度上保持與AT&T 版本和BSD 版本的相容性。後來,這種局面變得更加混亂了,許多應用開發者不得個花很大的力氣才能将它們的程式移植到各種不同的UNIX 上。
由于參加标準化的人們意見不一,标準化并沒有完全成功。這主要是每個廠商都想加入 一些特有的特性來标榜自己的“産品差異”,表明自己的産品與衆不同,或者優于它們的競争對手。 Mach 系統的主要開發人員Rechard Rashid 更進一步地探讨了UNIX 的失敗的原因。在Mach系列講座的開場白中[ Rash 89] ,他解釋了他們是如何通過對UNIX 發展的調查産生了開發Mach 系統的靈感。UNIX 有一種最小化的,積木式的工具構造方法。通過将小巧簡單的工具組合在一起來構造大型的複雜的工具。但這一方法井沒有用于核心的構造。 傳統的UNIX 核心不夠靈活,不具備很好的可擴充性,也很少代碼複用的設施。随着UNIX 的發展,開發者隻簡單把代碼加人核心,結果核心成了新功能的“傾銷地”。很快核心就膨脹起來.缺少子產品化,而且越來越複雜。Mach 試圖用一種新方法來解決它,它使用一組精簡的抽象概念從底向上重新編寫作業系統。現代UNIX 采同不同的方式解決這一問題,為若幹子系統增加靈活的架構結構
Win和Mac系統優缺點
1.Windows 系統優、缺點
先說優點
1)先入為主,易用性高
個人電腦行業前期的發展微軟要明顯勝過蘋果,加Windows系統在國内的本土化推進做得比較完善,是以很多像小吧一樣的國内使用者最早接觸的電腦都是Windows系統,而且連續幾年甚至十幾年都一直在使用這一系統,這就讓微軟有了先入為主的優勢,讓我們覺得個人電腦的系統原本就應該是這樣!
2)生态圈完善,相容性高
Windows系統的開放性雖然并不被大家所認可,但是在其系統下的軟體卻很豐富,尤其在國内這種不夠重視版權的大環境下,想要哪個軟體,網上随便一搜就能找到破解版,這倒與手機領域的安卓系統有幾分相似。另外,各種插件也都非常豐富,無論是網銀還是政府類網上辦公網站裡的插件,Windows系統都能搞定,有些網站的插件還隻支援Windows系統,這與第一條優點也有很大的關系。
3)硬體豐富
Mac OS X系統隻能在蘋果自己的産品上安裝,其它PC要安裝的話隻能安裝盜版。而Windows系統則要自由很多,各大硬體廠商都能使用,就連蘋果現在也能輕松安裝Windows。讓Windows系統的硬體足夠豐富,無論是整機,還是個性化攢機,都很輕松。
4:)遊戲娛樂性強
由于Windows系統的普及程度較高,是以很多軟體和遊戲都是針對該系統開發,量和質都不是Mac OS X所能匹敵的。
缺點:
1)安全性低,這與其相容性和普及率高有一定關系,流氓軟體大量存在,黑客也樂于攻擊Windows系統的電腦,這也是Windows存在的最大問題。
2)windows是閉源系統,參與測試的人少系統漏洞就多,隻能依賴自己的更新檔。
3)穩定性差,相信大家都遇到過藍屏的情況。
2.Mac OS X系統優、缺點
優點
1)安全性高,現在瘋狂肆虐的電腦病毒幾乎都是針對Windows的,由于MAC的架構與Windows不同,是以相對而言很少受到病毒的襲擊。
2)mac下沒有很多win下多餘的東西,沒有磁盤碎片,不用整理硬碟,不用分區,幾乎沒有當機,不用關機,基本沒用過程序管理器。所有和使用無關的東西,都被藏起來,使用者很容易學習和使用。
3)設定簡單。以網絡設定為例,mac下很快就可以設定好(包括複雜的801.x安全認證),而且可以友善的切換多套配置(家裡、辦公室),這要在win下就會變的非常困難,對于小白使用者來說上手要麻煩很多。
4)軟體風格統一,mac下的軟體都很mac,操作風格統一,簡單好用,使用非常順暢。
5)穩定性高,BUG少,更新也少,不像Windows需要經常打更新檔。
缺點
1)相容性差,雖然很多人并不認可這種說法,但是這确是事實存在的,因為支援Mac系統的軟體沒有Windows那麼多!不相容也就是不支援嘛!或者可以說在國内Mac系統的生态圈不夠完善。
2)雖然操作人性化程度較高,但是與Windows系統存在較大差異,對于國内用慣了Win系統的使用者來說上手會有些困難,尤其是檔案管理方面,與Win系統直覺的全局浏覽檔案并管理要複雜的多。
3)遊戲性的擴充相對win差很多,實用性還不錯。
4)軟體成熟性不如windows,誰敢說Mac QQ比windows QQ好用的?很多Windows裡很好用的軟體,for Mac了未必很好用,其實這一條與第一條也有一定關聯。
5)Flash表現很渣,這與Mac本土化程序緩慢有很大關系,國内很多網上辦公類網站的插件隻支援Win系統,讓Mac系統根本就無法完成這些操作。
看了上面的介紹,相信大家應該對兩個系統已經有所了解了,對于辦公使用的話,其實兩個系統沒有什麼太大差別,無非就是一個使用習慣的問題,用慣了Win系統,初換Mac系統肯定需要一個适應過程,不過因為對插件支援的不足,Mac系統在應對網上辦公時會有一些不足。
安全性方面Mac系統要明顯優于Win系統,但是軟體相容性方面要弱一些。還有遊戲使用者,首推Win系統,畢竟資源要比Mac系統豐富很多,而且硬體成本也要更低。
因為對插件方面的支援不足,遊戲資源偏少,用慣了Win系統初換Mac需要一定時間适應,是以很多Mac使用者會同時安裝Win系統也是可以了解的。Mac需要加快本土化程序,這樣才能在原有基礎上給Mac系統使用者更好的體驗。
Linux的優點與缺點
linux 的優點:
穩定的系統:linux 本來就是建立在 unix 上面發展出來的作業系統,是以,linux 具有與 unix 系統相似的的程式接口跟操作方式,當然也繼承了 unix 穩定并且有效率的特點。常聽到安裝 linux 的主機連續運做一年以上而不曾當機、不必關機是稀松平常的事;
免費或少許費用:由于 linux 是基于 gpl 的基礎下的産物,是以任何人皆可以自由取得 linux ,至于一些『安裝套件』的發行者,他們發行的安裝CD光牒也僅需要些許費用即可獲得!不同于 unix 需要負擔龐大的版權費用,當然也不同于微軟需要一而再、再而三的更新你的系統,并且繳納大量費用啰!
安全性、漏洞的修補:如果你常玩網絡的話,那麼你最常聽到的應該是『沒有絕對安全的主機』!沒錯!不過 linux 由于支援者日衆,有相當多的熱心團體、個人參與其中的開發,是以可以随時獲得最新的安全資訊,并給予随時的更新,亦即是具有相對的較安全!
多任務、多使用者:與 windows 系統不同的, linux 主機上可以同時允許多人上線來工作,并且資源的配置設定較為公平,比起 windows 的單人假多任務系統要穩定的多啰!這個多人多任務可是 unix-like 上面相當好的一個功能,怎麼說呢?你可以在一部 linux 主機上面規劃出不同等級的使用者,而且每個使用者登入系統時的工作環境都可以不相同,此外,還可以允許不同的使用者在同一個時間登入主機,以同時使用主機的資源。
使用者與群組的規劃:在 linux 的機器中,檔案的屬性可以分為『可讀、可寫、可執行』等參數來定義一個檔案的适用性,此外,這些屬性還可以分為三個種類,分别是『檔案擁有者、檔案所屬群組、其它非擁有者與群組者』。這對于項目計畫或者其它計畫開發者具有相當良好的系統保密性。
相對比較不耗資源的系統:linux 隻要一部 p-100 以上等級的計算機就可以安裝并且使用愉快啰!還不需要到 p-iii 等級的計算機呢!不過,如果你要架設的是屬于大型的主機(服務上百人以上的主機系統),那麼就需要比較好一點的機器了。不過,目前市面上任何一款個人計算機均可以達到這一個要求啰
linux 的缺點:
反正 linux 好處說不完啦!不過雖然 linux 具有這樣多的好處,但是他先天上有一個足以緻命的地方,使他的普及率受到很大的限制,就是 linux 需要使用『指令列』的終端機模式進行系統的管理!雖然近年來有很多的圖形接口開發使用在 linux 上面,但畢竟要熟悉 linux 還是以指令列來使用是比較好的,是以要接受 linux的玩家必須比較要能熟悉對計算機下指令的行為,而不是用滑鼠點一點 icon 就行了!不過如果隻是要架一些簡單的小站呢?是不是大家都可以做的到?沒錯!其實隻要對 linux 做一些小小的設定就可以架站了!
沒有特定的支援廠商:因為所有的套件都是免費的,自然也就沒有專人會到府服務啦!不過,這點倒是不需要擔心,因為拜網絡風行之賜,你要問的問題幾乎在網絡上都可以找到答案喔!看你有沒有用心去找就是了!
圖形接口作的還不夠好:其實是因為 vbird 不玩 x-windows 啦,是以也不知道目前發展到怎樣的一個地步了!基本上 vbird 常說的一句話就是:『windows 上面有的應用 linux 上面也一定可以找的到!,但 linux 有的服務 windows 可不見得有喔!』隻不過,您可得自己找到自己想要的接口!