您可知道, 從硬體的角度來看, 您的PC在運算速度上, 已經超越
了大部分的大型電腦了(這樣比較其實是不對的, 以筆者對這兩者的了
解, PC 與大型電腦的差異實在太大了, 這裡用 CPU 速度一項來做比
較是不恰當的), 但從軟體的角度來看, 您的PC卻仍是一個陽春ⅱ簡陋
且不安全的系統.上面這句話是真的, 因為您使用DOS.
DOS是有史以來, 最成功商業化的作業系統之一, DOS是少數真正
可以號稱為開放系統的作業系統.從軟體上來看, 您不大需要害怕不
同廠商所供應的DOS, 會是的原來的軟體不再執行.從硬體的角度來看
,您幾乎可以隨便購買一些周邊設備來搭配這一台跑DOS的PC, 只要您
跑DOS, 幾乎不會有軟硬體匹配的問題, 您有非常好的保障.
可惜上面這些優點都無法掩蓋一個事實, DOS是一個極其陽春的作
業系統, DOS是一套16位元ⅱ單工單使用者的作業系統.單工表示在同
一個時間裡, DOS只能一次執行一項工作, 於是使用者常常被迫用很多
時間在等待. 多使用者表示系統一次可以有多人使用, 您跑DOS的PC,
一次只能被一個人使用, 也就是一個人(或者一個軟體) 就佔用個整個
系統.由這個角度, 我們回頭看我前面的話〃PC已經超越了幾十年前的
大型系統〃, 不令人搖頭嗎? PC是超越了, 可是PC DOS的組合卻仍極
端落後.
上面這一段話對大部分使用者來說, 其實是沒有道理的, 因為這
些使用者已經能夠滿足DOS親切好用的風格, DOS剛好笨的恰恰好, 非
常容易駕馭.
請原諒筆者如此正負面交互著講, 我只是想讓您更清楚的知道,您
的PC也可以強悍到與工作站電腦腦互別苗頭, 假如您將之搭配一個強
悍的作業系統的話. 您的PC也可以簡單好用, 假如您搭配一個笨得恰
到好處的作業系統的話, 比方像DOS.這之間的差別, 就是作業系統的
選擇.
有了這些心理建設, 您才有理由入Linux/Unix的門來. Linux可
以充份發揮您 32 位元 PC 的高速運算能力, Linux/Unix可以免除您
對當機的恐懼, Linux/Unix各式各樣的發展工具可以讓您欣喜若狂,
Linux/Unix可以輕易的讓您成為網路通訊的天生贏家, 但Linux/Unix
同樣會帶給您在系統管理以及使用上的煩惱, 因為伴隨強大系統功能
而來的, 也正是複雜ⅱ且使用難度高的系統.
為了給您更完整的概念, 我們先來看看這一部跑Linux的PC有何不
同, 對於「多工」ⅱ「多使用者」等概念較薄弱的讀者, 下面圖表或
許可以幫助讀者想像如何充分的把一部 PC 做到最大利用, 以及當今
的 PC 硬體上已經多麽強悍, 只要搭配一個恰當的作業系統. 這例是
筆者所籌辦的 「UUserv 社區網路」的主機系統, 有關這主機的硬體
規格, CPU 是 Intel 486DX-50, VESA local bus IDE controler 搭
配一個 420MB Seagate 及 540MB WD硬碟, 記憶體有 32MB RAMⅱ
256KB cache, 以及 NE2000 相容網路卡等等. 軟體方面, 這機器所
執行的工作包括Terminal server (可以接受大多 8 條電話撥接連線)
, 在內部 Ethernet網路提供 NFS (Network File System) 給網路中
其他兩部電腦, 另外一條數據專線 24 小時連線 Internet, 是跑 PPP
上 Internet. 在通訊服務上, 這系統執行有完整的TCP/IP網路環境,
以所執行的Server來說, INN news serverⅱ Gopher serverⅱ Mail
server (SMTPⅱPOP3ⅱUUCP)ⅱ Name server等等的工作在同一部 PC
之上.
以上這麽多工作同時集中在一部機器其實並不妥當, 這裡我只是
想用一個實際例告訴大家, 一部 486 PC 可以做到這麽大的功能. 事
實上, 初期的 UUserv 主機確實是這樣跑, 不過後來把 Local 的網路
(比方 Terminal Serviceⅱ UUCPⅱ NFS等等) 與對外 Internet (比
方 Mail serverⅱ Name serverⅱ Gopher serverⅱ INN Netnews
serverⅱ 以及 SLIP/PPP 連線本身) 分開在不同的 PC做, 而後者則
是採用一部老舊 386sx-20 PC 配備 16MB記憶體, 跑得也非常滿意.這
是題外話.
$ uptime
11:27am up 5 min, 5 users, load average: 0.11, 0.08, 0.02
$ who ← who指令瞧瞧系統上有多少使用者上機, 共有七人
root tty2 Oct 2 01:08
guest tty3 Oct 2 01:47
root tty1 Oct 2 00:57
joel ttyS4 Oct 2 01:24 (:dialup_modem)
guest ttyS5 Oct 2 01:47 (:dialup_modem)
yuan ttyp0 Oct 2 01:03 (linux2.cfic2.com)
yuan ttyp1 Oct 2 01:18 (linux2.cfic2.com)
$ ps ← 我想知道系統目前正執行著多少工作
PID TTY STAT TIME COMMAND
1 con S 2:04 init auto
6 con S 0:00 bdflush (daemon)
7 con S 0:08 update (bdflush)
21 con S 0:07 /usr/sbin/crond -l10
40 con S 6:43 /usr/sbin/syslogd
42 con S 0:00 /usr/sbin/klogd -d -f /var/adm/kernel.log
44 con S 0:00 /usr/sbin/rpc.portmap
46 con S 0:00 /usr/sbin/inetd
48 con S 13:03 /usr/sbin/named
52 con S 0:00 /usr/sbin/lpd
54 con S 0:00 /usr/sbin/rpc.ugidd -d
56 con S 0:00 /usr/sbin/rpc.mountd
60 con S 0:00 /usr/sbin/rpc.nfsd
62 con S 0:00 /usr/sbin/rpc.pcnfsd /var/spool/lpd
101 p 1 S 0:03 -tcsh
102 p 2 S 0:03 -tcsh
103 p 3 S 0:03 -tcsh
764 con S 0:02 -waiting for connection @ 70
1894 con S 0:00 /usr/bin/runq
1900 con S 0:00 /usr/bin/runq
3458 p 4 S 0:04 -tcsh
3494 con S 0:08 /usr/sbin/in.telnetd issue
:3511 p 2 T 0:00 less README.linux
4757 p 2 S 0:02 tail -f log
6217 p 4 T 0:00 vi README
6447 con S 0:06 /usr/sbin/in.telnetd issue
6787 p 4 T 0:00 vi README
8151 con S 0:00 /etc/modem ttyS5
8350 con S 0:00 /etc/modem ttyS4
8654 pS0 S 0:00 pppd connect chat -v "" ATD CONNECT /dev/cua0 19200
8657 p 1 S 0:00 tail -f /usr/adm/pppdlog
8759 p 4 S 0:02 make -j4 zImage
8768 p 4 S 0:00 gcc -D__KERNEL__ -I/usr/src/linux/include -Wall
8770 p 4 S 0:00 /bin/sh -c set -e; for i in kernel drivers mm fs net ipc
8772 p 4 S 0:00 gcc -Wall -Wstrict-prototypes -O2
8773 p 4 S 0:01 /usr/lib/gcc-lib/i486-linux/2.5.8/cpp -lang-c
8774 p 4 R 0:01 /usr/lib/gcc-lib/i486-linux/2.5.8/cc1 -quiet
8775 p 4 S 0:00 as -o init/main.o
8776 p 4 S 0:02 make -C kernel
8779 p 4 R 0:02 /usr/lib/gcc-lib/i486-linux/2.5.8/cc1 -quiet-dumpbase bu
8780 p 4 S 0:00 as -o /tmp/cca087721.o
8801 p 4 R 0:00 as86 -0 -a -o boot/bootsect.o boot/bootsect.s
8803 p 4 R 0:00 make -C kernel
8806 p 4 R 0:00 gcc -D__KERNEL__ -I/usr/src/linux/include -Wall
8807 p 4 R 0:00 gcc -D__KERNEL__ -I/usr/src/linux/include -Wall
1129 con S 0:40 /usr/lib/news/etc/innd -p4 -i0
3496 pp0 S 0:01 -tcsh
5618 pp0 T 0:39 tin
6449 pp1 S 0:02 -tcsh
8798 pp1 R 0:00 ps ax
8799 pp1 S 0:00 less
7396 con S 0:01 sh /usr/etc/bbs/service-2
7648 con S 0:00 sh /usr/etc/bbs/service-3
7651 con S 0:00 sh /usr/etc/bbs/service-news
7654 con R 11:24 /usr/local/bin/ctin
7226 con S 0:00 sh /usr/etc/bbs/service-2
7229 con S 0:00 sh /usr/etc/bbs/service-3
7232 con S 0:00 sh /usr/etc/bbs/service-news
7235 con R 20:26 /usr/local/bin/ctin
7968 pS7 S 0:01 sh /usr/etc/bbs/bbs-login
8281 pS7 S 0:00 sh /usr/etc/bbs/service-2
8287 pS7 S 0:00 sh /usr/etc/bbs/service-3
8290 pS7 S 0:00 sh /usr/etc/bbs/service-news
8293 pS7 S 0:14 /usr/local/bin/ctin
7647 pS6 S 0:01 sh /usr/etc/bbs/bbs-login
8617 pS6 S 0:00 sh /usr/etc/bbs/service-2
8645 pS6 S 0:00 less -fmer /usr/etc/bbs/announce-charge
上面這個表示範著, 一部 PC 在某一個時刻的運轉情況, 這化許
可以幫助讀者了解到現代 PC 的強悍.