既談專業, 當然得對所學的有所了解才行! 但問題是: 你了解 Linux 嗎? 從前面的說明中, 我們已經明確知道軟體與使用者的分類. 然則, 這對我們了解 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 * account management * package management * shell script 等等, 這些都可以說是非常基礎的學習, 離開了這些基本功, 根本談不上了解 linux , 更別說使用 linux 了! 換句話說, 這就是所謂的"門檻"啦. 過得了就入門, 過不了就永是門外漢! 這夠清楚了嗎? 我上一篇說過: 吃不了苦的請別學 linux ! 現在你應知道為何我這麼說了吧? 光是 linux 的入門學習就嗆的, 不是一般人受的了啦. 然而, 光知道入門之難還不足夠學得好 linux 哦. 那, 請問你知道難在哪嗎? 下次再說吧.... ^_^ |