從前面的說明中, 我們已經明確知道軟體與使用者的分類.
然則, 這對我們了解 Linux 有很大的幫助.
因為, 嚴格來講, Linux 只是一個核心(kernel)程式, 或曰作業系統(Operating System).
請一定要跟那些跑在 Linux 核心之上的應用程式區分清楚.
不管你的安裝光碟一共有多少片, 或是從網路上抓了多少的軟體, 若不是屬於 kernel 所用的話,
那麼充其量, 只是"跑在 Linux 上面的應用軟體", 而不能稱為 Linux !
搞懂了嗎?
那麼, Linux kernel 又是啥東西呢?
從技術上來講, 就是在開機時被載入記憶體(Memory)的一段長駐程式碼,
安排底層作業環境以供上層的應用程式使用, 其主要負責的大項目有:
* Process Scheduling
* Inter-process Communication
* Memory Management
* File System
* Networking
當然, linux kernel 是個非常龐雜的程式, 凡舉底層的處理都離不開它:
上層的應用軟體透過 System Call 向 kernel 提出處理請求;
然後 kernel 會安排 process 所需的各種資源及管理;
若 kernel 還需要更多的 I/O 操作, 則透過所謂的驅動程式(driver)與硬體溝通.
以上每一個項目都可大書特書, 不過, 以我目前的功力而言, 實在沒能力為大家說得清楚了.
我只能從表面上作一個簡要的介紹而已, 若真要深入研究, 可得請有程式設計經驗的朋友來幫忙才行.
然而, 光有 kernel 本身的功能, 還不足以營造出一個可用的作業環境.
除了 kernel, 還有不少的操作與管理學問需要花心思的. 比方說:
* shell & process management
* file system & file permission
* aclearcase/" target="_blank" >ccount management
* package management
* shell script
等等, 這些都可以說是非常基礎的學習, 離開了這些基本功, 根本談不上了解 linux , 更別說使用 linux 了!
換句話說, 這就是所謂的"門檻"啦. 過得了就入門, 過不了就永是門外漢! 這夠清楚了嗎?
我上一篇說過: 吃不了苦的請別學 linux !
現在你應知道為何我這麼說了吧? 光是 linux 的入門學習就嗆的, 不是一般人受的了啦.
然而, 光知道入門之難還不足夠學得好 linux 哦.
那, 請問你知道難在哪嗎? 下次再說吧.... ^_^