荔园在线
荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀
[回到开始]
[上一篇][下一篇]
发信人: zzt (好好学习,天天向上), 信区: Program
标 题: [转载] [转寄] 比较 DOS/WIN程序员 和 Unix程序? kingchurch (转寄)
发信站: BBS 荔园晨风站 (Thu Mar 2 16:09:48 2000), 转信
【 以下文字转载自 zzt 的信箱 】
【 原文由 zhuzutao.bbs@smth.org 所发表 】
发信人: kingchurch (老人与海~沙漠海), 信区: Programming
标 题: [转寄] 比较 DOS/WIN程序员 和 Unix程序员
发信站: BBS 水木清华站 (Mon Apr 13 22:24:55 1998)
这里不评价Unix和DOS、Windows的优劣,仅比较Unix程序员和PC程序员
这里PC程序员指DOS/WIN3.1程序员。
和Unix程序员相比,PC程序员处在十分不利的地步:
接口
1a. Unix有通用语言C的支持,可以与操作系统融合的很好;比如说,我想
使用直接存取disk, 在Unix中可以很爽地按原始盘格式打开,命令格式
还是open. 非常一致,Unix是很系统的,规范的;
1b. 早期PC机直到Win3.1都没有一个完整的包括大多数硬件的操作系统。
PC程序员被迫和一大堆底层硬件接口的东东打交道。调试明显困难。
想处理底层或较为底层的一些就先得学汇编,PC硬件体系,中断,
BIOS.要看很多除了程序设计以外的书。
寻址
2a. 由于在Unix下很早就使用了32位系统,导致Unix程序员在程序设计
上有很宽松的环境,不必为pointer的偏移考虑太多,Unix一般都有
虚拟内存,程序员不用老是担心内存不够,跨段问题。
2b. PC机却一直多灾多难,一开始就有64k最大段长限制,使用指针让
人提心调胆,这还不够, DOS不支持虚存,最大640K的常规内存让无数
PC程序员头痛无比。于是自己编写覆盖程序,自己做虚存。自己写一段
汇编调用EMS、XMS来扩充。可是EMS、XMS仅能称为用内存来虚拟文件
与Unix中的虚拟内存完全是两回事。到了Win3.1还有64K段的限制,
而且更糟的是,用户程序与系统同在一个虚拟机中,错误的用户程序可以
使系统崩溃。 PC程序员被迫大脑紧张。
多任务
3a. unix是一个多任务,多用户系统,进程之间的通信是完全合法和规范的。
开发和调试都比较方便。
3b. DOS是单任务系统,但是有很多事情需要多个程序的同时使用。(比如
Doskey...),于是就有了各种调用中断,各种驻留方法(都是驻留在
物理内存中),各TSR间毫无保障机制。而且base memory仅仅640K,必
需少占内存,于是有了各种精打细算的办法,看来只有apple-II的一行
程序能与之媲美。我曾经编写了一个GUIS(Graphics User Interface Shell)
用于为Fortan等添加中文GUI,包括按钮、窗口、对话框、位图等,并可以由
Fortan实时控制。就是一个TSR, 驻留长度为50KB(包括数据).当时为了紧缩
开支,用汇编重写了所有图形函数。
仅从上面几点,可知PC程序员是多么辛苦,要开动无数脑筋,使用无数技巧,
吃掉x块面包,喝了y杯茶,过了z天,才能把程序协调好,
PC程序员还有一大苦:软件更新极快。见software版的迅速膨胀可知。
DDK程序员更不容易,他的工作和Unix系统的设备驱动程序开发类似。
想来不用多说。
正是这些辛苦的PC程序员,在如此的环境下创造了PC机的辉煌。
难道我们能忍心说他们/她们是傻瓜?
后记:
Win95/NT的出现,为PC程序员开辟了新的空间,从各个方面为程序员
尝过旧社会的苦,方知新社会的甜
--
Si
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
o o 在路那边的茅棚里,老头儿又睡着了,他依旧脸朝下睡着,
o / ~~~ 孩子坐在一旁守护他。 老头儿正在梦见狮子。
<:=={ ~~ ----------
\ KingChurch(老人与海):hkc@info.cs.tsinghua.edu.cn
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
※ 来源:·BBS 水木清华站 bbs.net.tsinghua.edu.cn·[FROM: 166.111.10.153]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.11]
[回到开始]
[上一篇][下一篇]
荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店