計算機是由一堆硬件所組成的,為了更有效地控制這些硬件資源,於是乎就有操作系統的產生了。操作系統除了有效地控制這些硬件資源的分配,並提供計算機運行所需要的功能(如網絡功能)之外,為了要提供程序員更容易開發軟件的環境,所以操作系統也會提供一整組系統調用接口來給軟件程序員開發用。
知道為什麼要講這些了嗎?因為Linux就是一套操作系統。Linux就是內核與系統調用接口那兩層。至於應用程序算不算Linux呢?當然不算啦!這點要特別注意。
由上圖中我們可以看到其實內核與硬件的關系非常緊密。早期的Linux是針對386來開發的,由於Linux只是一套操作系統並不含有其他的應用程序,因此很多工程師在下載了Linux內核並且實際安裝之後,就只能看著計算機開始運行了!接下來這些高級工程師為了自己的需求,再在Linux上面安裝他們所需要的軟件。
Torvalds先生在寫出Linux的時候,其實該核心內核僅能『"驅動386所有的硬件』"而已,即所謂的『"讓386計算機開始運行,並且等待用戶指令輸入』"而已,事實上,當時能夠在Linux上面跑的軟件還很少呢!
由於不同的硬件的功能函數並不相同,例如IBM的Power CPU與Intel的x86架構就是不一樣!所以同一套操作系統是無法在不同的硬件平台上面運行。舉例來說,如果你想要讓x86上面跑的那套操作系統也能夠在Power CPU上運行時,就得要將該操作系統進行修改才行。如果能夠參考硬件的功能函數並修改你的操作系統程序代碼,那經過改版後的操作系統就能夠在另一個硬件平台上面運行了。這個操作我們通常就稱為"軟件移植"了!
請問Windows操作系統能否在蘋果公司的麥金塔計算機(MAC)上面安裝與運行?
答:由上面的說明中,我們知道硬件是由內核來控制的,而每種操作系統都有它自己的內核。2006年以前的蘋果計算機公司是請IBM公司幫忙開發硬件(所謂的Power CPU),而蘋果計算機公司則在該硬件架構上開發自家的操作系統(就是俗稱的麥金塔,MAC是也)。Windows則是開發在x86架構上的操作系統之一,因此Windows是沒有辦法安裝到MAC計算機硬件上面的。
不過,在2006年以後,蘋果計算機專門請Intel設計其硬件架構,也即其硬件架構已經轉為x86系統,因此在2006年以後的蘋果計算機若使用x86架構時,其硬件則"可能"可以安裝Windows操作系統了。不過,你可能需要自己想些方式來處理該硬件的兼容性。
Windows操作系統本來就是針對個人計算機x86架構的硬件去設計的,所以它當然只能在x86的個人計算機上面運作,在不同的平台當然就無法運行了。也就是說,每種操作系統都是在它專門的機器上面運行的喔!。這點得要先了解。不過,Linux由於是Open Source(開放源代碼)的操作系統,所以它的程序代碼可以被修改成適合在各種機器上面運行的,也就是說,Linux是具有『"可移植性』",這可是很重要的一個功能喔!
Linux提供了一個完整的操作系統當中最底層的硬件控制與資源管理的完整架構,這個架構是沿襲Unix良好的傳統而來的,所以相當穩定並且功能強大。此外,由於這個優良的架構可以在目前的個人計算機(x86系統)上面跑,所以很多的軟件開發者漸漸將他們的工作心血移轉到這個架構上面,所以Linux操作系統也有很多的應用軟件。
雖然Linux僅是其內核與內核提供的工具,不過由於內核、內核工具與這些軟件開發者提供的軟件的整合,使得Linux成為一個更完整的、功能強大的操作系統。稍微了解了Linux是何物之後,接下來,我們要談一談為什麼說Linux是很穩定的操作系統,以及它是如何來的