中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS开发编程 & 发展交流 (开发室) » 从微软源代码分析NT就是DOS(二)
作者:
标题: 从微软源代码分析NT就是DOS(二) 上一主题 | 下一主题
易道广大
初级用户




积分 128
发帖 7
注册 2004-4-16
状态 离线
『楼 主』:  从微软源代码分析NT就是DOS(二)

您可知道, 从硬体的角度来看, 您的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 的强悍。



[此贴子已经被作者于2004-4-16 21:20:07编辑过]




2004-4-16 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: