首先讓我們看看作業系統是做什麼用的。雖然我們可以從鍵盤輸入和從螢幕看到輸出﹐還可以上網看到這篇文章。但如果離開了作業系統﹐這些東西都不可能實現。
在寫這網頁的我和在看網頁的您﹐對電腦來說都是使用者(User)。作業系統可以說是在使用者和電腦之間擔當了翻譯﹐讓我們彼此能夠交談。簡而言之﹐作業系統是人、機之間的界面﹐當您對電腦下命令(command)的時候﹐都是被一個非常特殊的系統軟體(作業系統)所接收﹔然後作業系統將命轉換成硬體所能理解的動作﹐再交給硬體去執行﹔最後作業系統還要將執行完的結果顯示在螢幕上面給使用者看。
一如前述﹐電腦是台笨機器﹐它的智慧都是來自人們寫的程式。從上圖我們看出﹐使用者如果要和電腦溝通﹐先通過一堆程式語言然後到達作業系統﹐然後作業系統再通過硬體的韌體指揮硬體設備...過程似乎非常複雜﹐不過如果我們不理會那些程式是用什麼語言寫和怎麼寫的話﹐其實在我們和電腦之間可以簡化為﹕使用者 --- 程式 --- 作業系統 --- 硬體。
作業系統本身就是一隻大程式﹐它就負責直接和硬體溝通。而我們通常指的程式大多指應用程式(applications)﹐比如 Word、Ecxel、IE、Netscape、ICQ、等等。程式是必須安裝在作業系統上面的﹐而且是可以移除的﹐就好像是買了台汽車回來﹐您可以把裡面的音響都拿掉換新的進去一樣。前不久 Microsoft 被美國政府狀告法庭﹐說其違反商業公平原則。罪狀之一就是將 IE 加進 Windows98 裡面﹐有強迫使用者使用IE之嫌﹐而對其它的瀏覽器不公平。因為您不能把 IE 從 Windows98 中拿走﹕總不成我把 CD 音響拿掉﹐汽車就開不起來的道理吧﹖不過這是題外話了。
相信大家都聽過 DOS 了吧﹖它的全稱是 Disk Operating System ﹐意思就是可以安裝在磁碟上的作業系統。別以為作業系統是個什麼龐然大物﹐DOS 其實只要 3 個檔案就可以工作了。如果您已經有 DOS 系統了﹐那麼放一片全新的軟碟進去﹐然後打 format a: /s 就可以產生一張新的 DOS 開機片﹐然後再打 dir a: 您只會看到一個檔案﹕command.com。其實還應該有另外兩個檔案的﹐只要再打 attrib a:\*.* 我們還可以看到 io.sys 和 msdos.sys 這兩個檔案。io.sys 主要是負責直接和系統設備及 ROM BIOS 溝通﹐必須是放在根目錄的第一個檔案﹐然後 msdos 可以說是維護這個作業系統工作的核心(kernel)﹐且應該是緊接著 io.sys 的第二個檔案﹔而 command.com 則包括一些作業系統的內置命令(Internal Command)﹐也可以說是 DOS 的殼(shell)。
External Command 就是一些比較複雜和比較大的命令﹐但也不是必須的﹐比如剛才用的 format.com 和 attrib.com 等命令就屬於此列。而內置命令通常是些比較小、常用或是必須的命令﹐比如 dir、cd、del 等檔案管理程式。等後面討論檔案系統的時候就會用到這些命令了。
現在我們用的 Windows 系統動不動就要好幾百 MB ﹐比起 DOS 的 5MB 實在是龐然大物也。當然現在的作業系統更加容易操作了﹐而且界面也漂亮多了﹐做什麼都幾乎用鼠標就搞定﹐只要認識字就不用擔心不會操作。
我們稱 Windows 的界面為 GUI (Grahpic User Interface)﹐其功能也是充當翻譯罷了(又一層界面)﹐真正作業系統需要的還是命令行(command line)。GUI 讓那些不會(或懶得)用命令行的使用者可以對作業系統進行指令輸入﹐其作用一如作業系統為我們和硬體之間擔當翻譯一樣。比如﹐您用鼠標按“開始/程式集 / Windows 檔案總管”和您在 DOS 模式下( Widnows 的模擬 DOS )打“explorer” 的結果是一樣的。以前在 DOS+Win3.x 的時候﹐這樣的關係感覺很明顯﹐不過時至今日的 Windows 系統﹐也很難分清楚命令行和 GUI 輸入的界限了。
無可否認的是﹐GUI 的確是非常好用的東西﹐比如用鼠標一拖一放來複製檔案﹐比起用 DOS 的 copy 加一堆路徑和選項方便多和進步多了。個人電腦能有今天這麼快的普及﹐GUI 的確是功不可抹。GUI 已經將作業系統包裝的漂漂亮亮的。
我們平時想要用 Word 打打報告、玩最新的電腦游戲、還要連上網和朋友們聊天﹐這些可以說是應用程式的功能。
不過現在的作業系統功能都會包含了越來越多的應用功能﹐它們之間的界定也更加模糊﹐所以現在的作業系統可以說是一個 package 而非單純的 OS 了。
應用程式一定要在先裝好了作業系統之後才可以安裝﹐而且也有不同的版本給不同的平臺( platform﹐即作業系統之架構)。很明顯﹕給 Windws98用的 Office2000 就硬是不可能裝在 Window3.1 上面﹐更不要說裝在 Linux 上面使用了。而且，應用程式只能在作業系統準備妥當之後才能使用，在開機的過程之中﹐作業系統先必須先於應用程式被載入啟動。
不同的作業系統其管理和操作方式都很不相同﹐也很難說哪一個最好。主要還是看使用者的用途﹐而且每個作業系統都有其優缺點﹐也要看使用者的習慣和個人喜好。最好是對不同的系統使用過一段日子了﹐才好下判斷和選擇適合自己的系統。在選擇系統的時候﹐除了自身用途和價格考慮之外﹐還要看系統的受支持程度﹐比如適合軟體的取得﹐硬體支援程度﹐技術支援等等條件。
在學習作業系統的時候﹐應該抱著開放的態度﹐不要墨守成規和先入為主。不要站在一個作業系統的角度去看另外的作業系統﹐這樣是不公平的。別忘記一點，就是：不管何種作業系統，都是服務我們的工具而已。工若善其用，必先利其器。請好好了解您的作業系統吧。