选包题

w
wdong
101 楼
刚刚玩了会儿qbasic,,蓦然发现qbasic的那个gorilla.bas竟然
是愤怒的小鸟的原型!太牛了!

【 在 wdong (万事休) 的大作中提到: 】
DOS自带的qbasic是结构化的,跟pascal基本上对等,就是没法编译。
但是据说完整版的quick basic是可以编译的。当年一本qbasic程序
设计的书我都研读过好多遍。
当年信息闭塞,走过的弯路太太太多了。但是乐趣也很多。现在信息
来的太快,生活越来越没意思。
ps, 我狗了下pc1500. 这么小的屏幕要写程序,goto是必须的吧.
E
Ektar
102 楼
最初是用汇编 bootstrap 的,后续版本早就 self-hosted 了

【 在 mrmaja (夏日炎炎) 的大作中提到: 】
Anders Hejlsberg
俺滴偶像
记得第一次用Turbo Pascal的惊艳感觉,要知道Turbo Pascal是
Anders用汇编写的!
delphi
GRE
c
convergence
103 楼
王垠 不是回国了吗? 还在微软做测试?

【 在 AlphaCode (Alpha) 的大作中提到: 】
看了几篇他的博客,挺认同他的观点:
1. Java最实用
2. Python写小工具还行
3. Go,Scala,Clojure等新语言都是旧瓶装新酒,华而不实
4. JavaScript设计很糟糕
5. Schema,Pascal都很经典
不知他对C/C++有什么看法。
x
xiaoju
104 楼
不支持图形界面的,你教给小秘用么?我可是一个字节一个字节算内存活到今天的,不要和我争啊。

1995年支持32位GUI需要的内存都可以一样一样算出来,微软有现成的nt为啥要搞出个
奇怪的9x来,不就是为了省点?

1996年标准的win95机器需要大概一万五千块,标准的nt4机器需要四万块,界面完全一样

【 在 digua (姚之FAN) 的大作中提到: 】
又学错了。:)
龙猫说的是不对的。八十年代末,九十年代初,个人机硬件就足以运行UNIX或其它具有
完整功能的操作系统了。微软让这个时代晚了整整十年。
x
xiaoju
105 楼
我也很喜欢tp啊,与此同时的msc还是tmd命令行,调试一下老费劲了

【 在 ananpig (●○ 围棋数学一把抓的安安猪) 的大作中提到: 】
Turbo Pascal主要是编译速度太快了
那时候的电脑运算能力可是弱啊
x
xiaoju
106 楼
早期OS2可不是真正的32位,这是微软和IBM翻脸的重要原因之一

NT就是微软理想中OS2应有的样子

【 在 guvest (我爱你老婆Anna) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Mon Feb 20 13:08:57 2017, 美东)

IBM OS/2 ?

: 【 在 digua (姚之FAN) 的大作中提到: 】
: 又学错了。:)
: 龙猫说的是不对的。八十年代末,九十年代初,个人机硬件就足以运行UNIX或其它具有
: 完整功能的操作系统了。微软让这个时代晚了整整十年。



--
x
xiaoju
107 楼
太令人怀念了,gorilla.bas啊

算角度扔香蕉

【 在 wdong (万事休) 的大作中提到: 】
刚刚玩了会儿qbasic,,蓦然发现qbasic的那个gorilla.bas竟然
是愤怒的小鸟的原型!太牛了!
d
digua
108 楼
龙猫,你没有想清楚。支持完整的多进程是很简单的事情,需要的硬件资源很少,并且早已经成熟。支持GUI,需要的硬件资源远比多进程来得多。微软当年的做法,就象是
花200万元建一个高大漂亮的房子,却不愿意多花5万元建一个牢固的地基。为什么这样做呢?因为大妈用户看不到地基。可是从做这一行的人看来,这样做毫无道理,因为当时已经有了二十年的经验,已经是教科书知识,知道怎么把这个地基打好,也知道花不了多少钱。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
不支持图形界面的,你教给小秘用么?我可是一个字节一个字节算内存活到今天的,不
要和我争啊。
1995年支持32位GUI需要的内存都可以一样一样算出来,微软有现成的nt为啥要搞出个
奇怪的9x来,不就是为了省点?
1996年标准的win95机器需要大概一万五千块,标准的nt4机器需要四万块,界面完全一样
【 在 digua (姚之FAN) 的大作中提到: 】
又学错了。:)
龙猫说的是不对的。八十年代末,九十年代初,个人机硬件就足以运行UNIX或其它具有
完整功能的操作系统了。微软让这个时代晚了整整十年。
x
xiaoju
109 楼
支持多进程的确简单,但这是dos的多进程轮换中断而已,毛用也没有。

多任务,抢占,权限,保护模式,虚拟内存,全双工的硬件驱动,加上每个特性都有其硬件和软件的标价,你全放篮子里一结账,价钱就是90年代初的图形工作站,体积也有大型复印机那么大,前台既买不起也没地方放

你都知道简单的微软还不知道么?问题是NT4界面和95一样但硬件贵3倍,用户不买账啊。就算NT4,微软为了省点内存甚至把GUI子系统都给移植到内核态了。

不说远了吧,Linux实现类似NT4的GUI,用1999年主流硬件才做得到

【 在 digua (姚之FAN) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Mon Feb 20 18:07:57 2017, 美东)

龙猫,你没有想清楚。支持完整的多进程是很简单的事情,需要的硬件资源很少,并且
早已经成熟。支持GUI,需要的硬件资源远比多进程来得多。微软当年的做法,就象是
花200万元建一个高大漂亮的房子,却不愿意多花5万元建一个牢固的地基。为什么这样
做呢?因为大妈用户看不到地基。可是从做这一行的人看来,这样做毫无道理,因为当
时已经有了二十年的经验,已经是教科书知识,知道怎么把这个地基打好,也知道花不
了多少钱。

: 【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 不支持图形界面的,你教给小秘用么?我可是一个字节一个字节算内存活到今天的,不
: 要和我争啊。
: 1995年支持32位GUI需要的内存都可以一样一样算出来,微软有现成的nt为啥要搞
出个
: 奇怪的9x来,不就是为了省点?
: 1996年标准的win95机器需要大概一万五千块,标准的nt4机器需要四万块,界面完全
一样

: 【 在 digua (姚之FAN) 的大作中提到: 】
: 又学错了。:)
: 龙猫说的是不对的。八十年代末,九十年代初,个人机硬件就足以运行UNIX或其它具有
: 完整功能的操作系统了。微软让这个时代晚了整整十年。
--
d
digua
110 楼
多任务,抢占,权限,保护模式,虚拟内存,这样当年Unix全做了,在几十KB的机器上也运行起来了。:)

这其实是教科书知识。如果谁告诉你这些OS功能要花很多硬件资源,哪怕是微软说的,那也是谣传。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
支持多进程的确简单,但这是dos的多进程轮换中断而已,毛用也没有。
多任务,抢占,权限,保护模式,虚拟内存,全双工的硬件驱动,加上每个特性都有其
硬件和软件的标价,你全放篮子里一结账,价钱就是90年代初的图形工作站,体积也有
大型复印机那么大,前台既买不起也没地方放
你都知道简单的微软还不知道么?问题是NT4界面和95一样但硬件贵3倍,用户不买账啊
。就算NT4,微软为了省点内存甚至把GUI子系统都给移植到内核态了。
不说远了吧,Linux实现类似NT4的GUI,用1999年主流硬件才做得到
w
wdong
111 楼
我觉得一个重要的原因是pc的单用户假设。至今pc都是单用户的,再加上早期程序比较
简单,程序员又都是野路子,unix那套在pc程序员那里并不能引起共鸣。
其实说来说去,保护的其实是恶意代码和错误代码。这些问题都要到windows时代才大
行其道。

【 在 digua (姚之FAN) 的大作中提到: 】
多任务,抢占,权限,保护模式,虚拟内存,这样当年Unix全做了,在几十KB的机器上
也运行起来了。:)
这其实是教科书知识。如果谁告诉你这些OS功能要花很多硬件资源,哪怕是微软说的,
那也是谣传。
x
xiaoju
112 楼
你这就是缺乏常识了

1995年的Unix需要贵得多的工作站才能跑,你查查1970年的几十kb的机器是什么架构,能干什么,这些系统还不如Linux 0.01甚至minix有用

【 在 digua (姚之FAN) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Mon Feb 20 18:25:22 2017, 美东)

多任务,抢占,权限,保护模式,虚拟内存,这样当年Unix全做了,在几十KB的机器上
也运行起来了。:)

这其实是教科书知识。如果谁告诉你这些OS功能要花很多硬件资源,哪怕是微软说的,
那也是谣传。

: 【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 支持多进程的确简单,但这是dos的多进程轮换中断而已,毛用也没有。
: 多任务,抢占,权限,保护模式,虚拟内存,全双工的硬件驱动,加上每个特性都有其
: 硬件和软件的标价,你全放篮子里一结账,价钱就是90年代初的图形工作站,体积也有
: 大型复印机那么大,前台既买不起也没地方放
: 你都知道简单的微软还不知道么?问题是NT4界面和95一样但硬件贵3倍,用户不买账啊
: 。就算NT4,微软为了省点内存甚至把GUI子系统都给移植到内核态了。
: 不说远了吧,Linux实现类似NT4的GUI,用1999年主流硬件才做得到

--
x
xiaoju
113 楼
现在说的类unix系统,指的是类似1995年unix工作站的系统,而不是类似于1975年的那种16位小型机的系统

虽然unix很多传统从70年代开始就有了,但系统本身是有了天翻地覆的变化的。早期
unix整个系统基于c和汇编,巨内核不能加模块,自己的程序也只是一个二进制目标文
件,这种系统还不如dos好用,就是分个时多人共享硬件而已。

一个字就是钱,你买得起工作站或者小型机,肯定unix最好,可惜pc机十几年前才达到要求。

【 在 wdong (万事休) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Mon Feb 20 18:41:14 2017, 美东)

我觉得一个重要的原因是pc的单用户假设。至今pc都是单用户的,再加上早期程序比较
简单,程序员又都是野路子,unix那套在pc程序员那里并不能引起共鸣。
其实说来说去,保护的其实是恶意代码和错误代码。这些都要到windows时代才大行其
道。

: 【 在 digua (姚之FAN) 的大作中提到: 】
: 多任务,抢占,权限,保护模式,虚拟内存,这样当年Unix全做了,在几十KB的机器上
: 也运行起来了。:)
: 这其实是教科书知识。如果谁告诉你这些OS功能要花很多硬件资源,哪怕是微软说的,
: 那也是谣传。



--
w
wdong
114 楼
386bsd 1992年就出来了。问题是根本没有市场。当时牛逼的是内存驻留程序这种奇技
淫巧。

我甚至怀疑微软当时根本没有能够写操作系统的程序员。386是85年出来的,
dos的himem.sys用到啥年代? 比尔盖茨自己应该也不懂。

我记起来了:微软有个unix叫做xenix,80年代就开始卖了。上面几乎没有
app可以跑。

摘自wikipedia:

Microsoft referred to its own MS-DOS as its "single-user, single-tasking
operating system",[30] and advised customers that wanted multiuser or
multitasking support to buy Xenix.

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
现在说的类unix系统,指的是类似1995年unix工作站的系统,而不是类似于1975年的那
种16位小型机的系统
虽然unix很多传统从70年代开始就有了,但系统本身是有了天翻地覆的变化的。早期: unix整个系统基于c和汇编,巨内核不能加模块,自己的程序也只是一个二进制目标文
件,这种系统还不如dos好用,就是分个时多人共享硬件而已。
一个字就是钱,你买得起工作站或者小型机,肯定unix最好,可惜pc机十几年前才达到
要求。
器上
的,
b
bihai
115 楼
93年我都用Windows 3.0了

【 在 wdong (万事休) 的大作中提到: 】
386bsd 1992年就出来了。问题是根本没有市场。当时牛逼的是内存驻留程序这种奇技
淫巧。
我甚至怀疑微软当时根本没有能够写操作系统的程序员。386是85年出来的,
dos的himem.sys用到啥年代? 比尔盖茨自己应该也不懂。
我记起来了:微软有个unix叫做xenix,80年代就开始卖了。上面几乎没有
app可以跑。
摘自wikipedia:
Microsoft referred to its own MS-DOS as its "single-user, single-tasking
operating system",[30] and advised customers that wanted multiuser or
multitasking support to buy Xenix.
d
digua
116 楼
你这真的是没想清楚了。:)

微软可以不用Unix,但实现那些基本的写在教科书中的OS功能,并不需要多少硬件资源。当时的硬件,微软都可以跑GUI了,难道还省不下一点点来...

这就好像有人说,我得造一个大的漂亮的房子,得把每一分钱都省下来。那个地基什么的就少花几元钱吧,反正来买房子的人不懂。

前面卫东说的,有一定道理。九十年代的时候,很多人对微软开发软件的水平,表示过怀疑。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
你这就是缺乏常识了
1995年的Unix需要贵得多的工作站才能跑,你查查1970年的几十kb的机器是什么架构,
能干什么,这些系统还不如Linux 0.01甚至minix有用
d
digua
117 楼
这个xenix我用过。当时我们同学里有个爱好,什么新鲜的东西都拿来试试,当然都是
盗版。:)

himem.sys这个东西我也用过很久。有个项目,要在286/386的机器上装Oracle+汉化DOS,640KB的基本内存死活不够,就得用这个把汉化DOS调入到扩展内存里去。现在从专业的角度来看,这都是些什么搞法,完全是浪费硬件资源。:) 不过当时用了很多年的DOS,想起来还是有些感情成分在内的。DOS可以让我们随意改13号中断和21号中断,加个
新功能,或者写个病毒什么,还是很方便的,呵呵。

【 在 wdong (万事休) 的大作中提到: 】
386bsd 1992年就出来了。问题是根本没有市场。当时牛逼的是内存驻留程序这种奇技
淫巧。
我甚至怀疑微软当时根本没有能够写操作系统的程序员。386是85年出来的,
dos的himem.sys用到啥年代? 比尔盖茨自己应该也不懂。
我记起来了:微软有个unix叫做xenix,80年代就开始卖了。上面几乎没有
app可以跑。
摘自wikipedia:
Microsoft referred to its own MS-DOS as its "single-user, single-tasking
operating system",[30] and advised customers that wanted multiuser or
multitasking support to buy Xenix.
b
bihai
118 楼
会不会多任务的GUI比较难?

【 在 digua (姚之FAN) 的大作中提到: 】
你这真的是没想清楚了。:)
微软可以不用Unix,但实现那些基本的写在教科书中的OS功能,并不需要多少硬件资源
。当时的硬件,微软都可以跑GUI了,难道还省不下一点点来...
这就好像有人说,我得造一个大的漂亮的房子,得把每一分钱都省下来。那个地基什么
的就少花几元钱吧,反正来买房子的人不懂。
前面卫东说的,有一定道理。九十年代的时候,很多人对微软开发软件的水平,表示过
怀疑。
x
xiaoju
119 楼
1992年386很贵,大把的8088和286机器。要分时多用户,还得把内存配足,而当时内存不是一般的贵都是盗窃和抢劫的目标。所以用户宁可把这部分代码去掉直接单用户,这东西就是DOS啊。

在80年代PC用保护模式,不管是286的还是386的首要难题就是没硬件驱动,少数支持保护模式的硬件也都是瞄准大金主,开价不是一般的高。以至于不管是Win95还是DPMI,
都是程序跑在32位驱动层跑在16位。等微软琢磨着大部分Win98都切换到32位驱动了,
就把产品线和NT合并了。

【 在 wdong (万事休) 的大作中提到: 】
386bsd 1992年就出来了。问题是根本没有市场。当时牛逼的是内存驻留程序这种奇技
淫巧。
我甚至怀疑微软当时根本没有能够写操作系统的程序员。386是85年出来的,
dos的himem.sys用到啥年代? 比尔盖茨自己应该也不懂。
我记起来了:微软有个unix叫做xenix,80年代就开始卖了。上面几乎没有
app可以跑。
摘自wikipedia:
Microsoft referred to its own MS-DOS as its "single-user, single-tasking
operating system",[30] and advised customers that wanted multiuser or
multitasking support to buy Xenix.
...................
x
xiaoju
120 楼
因为你省不下来,同时期的bsd和linux占内存跟坑爹,微软是最有名的省内存专家了。

70年代的unix占内存小,是因为人家内核一坨应用程序还一坨,不分模块不支持今天大部分特性,这玩意连也就是多终端算个数,功能连DOS都不如。

你把今天教科书上的内容都加进去,一个列个清单算每个模块用标准算法占多少内存,写出来的东西比Win9x体积大10倍。

【 在 digua (姚之FAN) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Mon Feb 20 19:39:09 2017, 美东)

你这真的是没想清楚了。:)

微软可以不用Unix,但实现那些基本的写在教科书中的OS功能,并不需要多少硬件资源
。当时的硬件,微软都可以跑GUI了,难道还省不下一点点来...

这就好像有人说,我得造一个大的漂亮的房子,得把每一分钱都省下来。那个地基什么
的就少花几元钱吧,反正来买房子的人不懂。

前面卫东说的,有一定道理。九十年代的时候,很多人对微软开发软件的水平,表示过
怀疑。

: 【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 你这就是缺乏常识了
: 1995年的Unix需要贵得多的工作站才能跑,你查查1970年的几十kb的机器是什么架构,
: 能干什么,这些系统还不如Linux 0.01甚至minix有用

--
x
xiaoju
121 楼
你记错了

支持EMS模拟的是EMM386,这玩意实际上是让你软件跑在386的vm86模式的,就是Win16
的简化玩法

himem是打开A20地址线的,即十六位汇编理论上寻址能表示,但8086访问不了的64KB。

【 在 digua (姚之FAN) 的大作中提到: 】
这个xenix我用过。当时我们同学里有个爱好,什么新鲜的东西都拿来试试,当然都是
盗版。:)
himem.sys这个东西我也用过很久。有个项目,要在286/386的机器上装Oracle+汉化
DOS
,640KB的基本内存死活不够,就得用这个把汉化DOS调入到扩展内存里去。现在从专业
的角度来看,这都是些什么搞法,完全是浪费硬件资源。:) 不过当时用了很多年的
DOS
,想起来还是有些感情成分在内的。DOS可以让我们随意改13号中断和21号中断,加个
新功能,或者写个病毒什么,还是很方便的,呵呵。
w
wdong
122 楼
你说到这份上,我其实早已经服了。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
你记错了
支持EMS模拟的是EMM386,这玩意实际上是让你软件跑在386的vm86模式的,就是
Win16
的简化玩法
himem是打开A20地址线的,即十六位汇编理论上寻址能表示,但8086访问不了的64KB。
DOS
DOS
x
xiaoju
123 楼
多任务的GUI也不难,难的是在当年廉价硬件上实现

举个例子,画窗口api有大量共享数据结构,但32位保护模式,进程之间空间独立。给
每个进程复制一份的话内存不够,开一个server搞IPC的话CPU主频又不够,所以微软在NT4里面特意把整套画窗口代码移入了内核态,利用进程在内核态共享地址空间的办法
省了几兆内存。

微软最牛的地方是PC机有多大饭量就加上多少教课书技术,直到2001年所有东西都放上去为止。

【 在 bihai (学得不好) 的大作中提到: 】
会不会多任务的GUI比较难?
d
digua
124 楼
【 在 bihai (学得不好) 的大作中提到: 】
会不会多任务的GUI比较难?
不是的。1992年的时候,Unix System V + X Window就在386上运行了。https://en.wikipedia.org/wiki/X386
如果对操作系统和窗口系统的历史比较了解,就知道微软当时的做法,是多么的古怪,给人的感觉是,他们的程序员,似乎没修过操作系统的课程。:) 当然,更有可能是管
理上的问题,太多的注意力放在吸引用户和打击对手上,而不是在技术上。
90年代后期,Windows 9系列病毒流行,系统可以一日N崩溃,祸根就是这时种下的。
h
hadoop2
125 楼
能不能解释一下,LINUX的图形界面到今天了为什么还是烂得一塌糊涂?做什么都感觉
慢半拍。这都20多年了,居然只能做到将将可以用,这么烂的程序员们是常态吗?

如果靠课本就能搞定,微软哪里可能发展到今天的规模?开源界那么多所谓的“牛人”,有哪个搞出来过哪怕能稍微威胁一下win$的OS?我等了20年,就等来了一个又一个的嘴炮,理论上,我们觉得,应该是。。。这玩意儿在学校里蒙一下刚成人的大一新生还行,在工业界说这话完全无意义。

想起一个题外话:原来在学校的时候,我们系有个挺好的做OS的老师,当时MS给了他一个OFFER。当然他不用刷题,MS是直接打电话过来,上来就是谈待遇的。那个老师当时
很纠结,因为。。。待遇确实不错,而且他会有人有权,实际做他在学校里只能写论文的东西。。。也不知道他后来去没去。。。

【 在 digua (姚之FAN) 的大作中提到: 】
不是的。1992年的时候,Unix System V + X Window就在386上运行了。
https://en.wikipedia.org/wiki/X386
如果对操作系统和窗口系统的历史比较了解,就知道微软当时的做法,是多么的古怪,
给人的感觉是,他们的程序员,似乎没修过操作系统的课程。:) 当然,更有可能是管
理上的问题,太多的注意力放在吸引用户和打击对手上,而不是在技术上。
90年代后期,Windows 9系列病毒流行,系统可以一日N崩溃,祸根就是这时种下的。
d
digua
126 楼
这个...IT界有句俗话,大妈为王。:) 活下来的公司,并不需要是技术最好的,一定要是能把大妈用户把握住的。

最厉害的两家,一个是微软,另一个是苹果。Linux不行。

课本这东西,光靠它是不行的,但不知道基本知识,也是不行的,要走很多弯路。

Linux的图形界面...具体是哪个?Ubuntu?这个见仁见智了。

【 在 hadoop2 (千古) 的大作中提到: 】
能不能解释一下,LINUX的图形界面到今天了为什么还是烂得一塌糊涂?做什么都感觉
慢半拍。这都20多年了,居然只能做到将将可以用,这么烂的程序员们是常态吗?
如果靠课本就能搞定,微软哪里可能发展到今天的规模?开源界那么多所谓的“牛人”
,有哪个搞出来过哪怕能稍微威胁一下win$的OS?我等了20年,就等来了一个又一个的
嘴炮,理论上,我们觉得,应该是。。。这玩意儿在学校里蒙一下刚成人的大一新生还
行,在工业界说这话完全无意义。
想起一个题外话:原来在学校的时候,我们系有个挺好的做OS的老师,当时MS给了他一
个OFFER。当然他不用刷题,MS是直接打电话过来,上来就是谈待遇的。那个老师当时
很纠结,因为。。。待遇确实不错,而且他会有人有权,实际做他在学校里只能写论文
的东西。。。也不知道他后来去没去。。。
d
digua
127 楼
你说的其实并不直接相关。不过算了,别再开一个话题来吵。:)

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
你记错了
支持EMS模拟的是EMM386,这玩意实际上是让你软件跑在386的vm86模式的,就是
Win16
的简化玩法
himem是打开A20地址线的,即十六位汇编理论上寻址能表示,但8086访问不了的64KB。
x
xiaoju
128 楼
Linux的图形界面有安卓,也不烂啊,烂的是开源桌面

开源桌面主要是没企业测,项目内部还打得一塌糊涂

【 在 hadoop2 (千古) 的大作中提到: 】
能不能解释一下,LINUX的图形界面到今天了为什么还是烂得一塌糊涂?做什么都感觉
慢半拍。这都20多年了,居然只能做到将将可以用,这么烂的程序员们是常态吗?
如果靠课本就能搞定,微软哪里可能发展到今天的规模?开源界那么多所谓的“牛人”
,有哪个搞出来过哪怕能稍微威胁一下win$的OS?我等了20年,就等来了一个又一个的
嘴炮,理论上,我们觉得,应该是。。。这玩意儿在学校里蒙一下刚成人的大一新生还
行,在工业界说这话完全无意义。
想起一个题外话:原来在学校的时候,我们系有个挺好的做OS的老师,当时MS给了他一
个OFFER。当然他不用刷题,MS是直接打电话过来,上来就是谈待遇的。那个老师当时
很纠结,因为。。。待遇确实不错,而且他会有人有权,实际做他在学校里只能写论文
的东西。。。也不知道他后来去没去。。。
...................
x
xiaoju
129 楼
我对DOS细节较熟啊

Himem本身就是A20地址线对应的那高64kb的意思,你说的扩展内存是微软等搞的一个分页切换插卡内存架构,这是8位机玩法早就绝迹了,emm386是把标准线性地址用vm86模
式模拟emm的。

80286因为不支持vm86模式,即使配了两兆内存,也跑不了实模式下需要大基本内存的
软件,因为emm386用不了模拟不出emm来

【 在 digua (姚之FAN) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Tue Feb 21 01:13:01 2017, 美东)

你说的其实并不直接相关。不过算了,别再开一个话题来吵。:)

: 【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 你记错了
: 支持EMS模拟的是EMM386,这玩意实际上是让你软件跑在386的vm86模式的,就是
Win16
: 的简化玩法
: himem是打开A20地址线的,即十六位汇编理论上寻址能表示,但8086访问不了的
64KB。

--
w
wdong
130 楼
别说Linux的图形界面,就是sun的CDE,还有plan9,
和windows比也就是一坨坨的翔,完全没经过设计和
视觉上的优化。设计图形界面和码程序是两码事。
windows的任务栏是我见过最合理的设计。
别的几个,像CDE,windowmaker啥的,都没有做到
最有效地利用屏幕资源。

还有就是以前开源桌面没有一个好的字体。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
Linux的图形界面有安卓,也不烂啊,烂的是开源桌面
开源桌面主要是没企业测,项目内部还打得一塌糊涂
d
digua
131 楼
你把扩充内存和扩展内存搞混了。如我前面所说,我们当时用的是扩展内存。我们用的驱动程序是himem.sys。
http://baike.baidu.com/item/扩展内存
在386以上档次的微机中,有两种存储器工作方式,一种称为实地址方式或实方式,另
一种称为保护方式。在实方式下,物理地址仍使用20位,所以最大寻址空间为1MB,以
便与8086兼容。保护方式采用32位物理地址,寻址范围可达4GB。DOS系统在实方式下工作,它管理的内存空间仍为1MB,因此它不能直接使用扩展存储器。为此,Lotus、
Intel、AST及Microsoft公司建立了MS-DOS下扩展内存的使用标准,即扩展内存规范
XMS。我们常在Config.sys文件中看到的Himem.sys就是管理扩展内存的驱动程序。
http://baike.baidu.com/item/扩充内存
EMS的原理和XMS不同,它采用了页帧方式。页帧是在1MB空间中指定一块64KB空间(通
常在保留内存区内,但其物理存储器来自扩展存储器),分为4页,每页16KB。EMS存储器也按16KB分页,每次可交换4页内容,以此方式可访问全部EMS存储器。图2给出了EMS的工作原理。符合EMS的驱动程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、
386MAX等。DOS和Windows中都提供了EMM386.EXE。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
我对DOS细节较熟啊
Himem本身就是A20地址线对应的那高64kb的意思,你说的扩展内存是微软等搞的一个分
页切换插卡内存架构,这是8位机玩法早就绝迹了,emm386是把标准线性地址用vm86模
式模拟emm的。
80286因为不支持vm86模式,即使配了两兆内存,也跑不了实模式下需要大基本内存的
软件,因为emm386用不了模拟不出emm来
x
xiaoju
132 楼
光是sun测不够啊,windows有全球的pc制造商帮助踩坑,什么奇怪bug都能找出来

苹果界面设计是牛,但macos稳定性也不如windows啊

【 在 wdong (万事休) 的大作中提到: 】
别说Linux的图形界面,就是sun的CDE,还有plan9,
和windows比也就是一坨坨的翔,完全没经过设计和
视觉上的优化。设计图形界面和码程序是两码事。
windows的任务栏是我见过最合理的设计。
别的几个,像CDE,windowmaker啥的,都没有做到
最有效地利用屏幕资源。
还有就是以前开源桌面没有一个好的字体。
x
xiaoju
133 楼
所以说不能看百度的:)

XMS是可以直接通过实模式访问的(具体方法书上没写),也可以通过保护模式或者dpmi
之类的接口操作,不需要驱动

himem是也支持80286的,和386的xms内存无关

【 在 digua (姚之FAN) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Tue Feb 21 09:51:42 2017, 美东)

你把扩充内存和扩展内存搞混了。如我前面所说,我们当时用的是扩展内存。我们用的
驱动程序是himem.sys。

http://baike.baidu.com/item/扩展内存
在386以上档次的微机中,有两种存储器工作方式,一种称为实地址方式或实方式,另
一种称为保护方式。在实方式下,物理地址仍使用20位,所以最大寻址空间为1MB,以
便与8086兼容。保护方式采用32位物理地址,寻址范围可达4GB。DOS系统在实方式下工
作,它管理的内存空间仍为1MB,因此它不能直接使用扩展存储器。为此,Lotus、
Intel、AST及Microsoft公司建立了MS-DOS下扩展内存的使用标准,即扩展内存规范: XMS。我们常在Config.sys文件中看到的Himem.sys就是管理扩展内存的驱动程序。

http://baike.baidu.com/item/扩充内存
EMS的原理和XMS不同,它采用了页帧方式。页帧是在1MB空间中指定一块64KB空间(通
常在保留内存区内,但其物理存储器来自扩展存储器),分为4页,每页16KB。EMS存储
器也按16KB分页,每次可交换4页内容,以此方式可访问全部EMS存储器。图2给出了
EMS
的工作原理。符合EMS的驱动程序很多,常用的有EMM386.EXE、QEMM、TurboEMS、
386MAX等。DOS和Windows中都提供了EMM386.EXE。

: 【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
: 我对DOS细节较熟啊
: Himem本身就是A20地址线对应的那高64kb的意思,你说的扩展内存是微软等搞的一个分
: 页切换插卡内存架构,这是8位机玩法早就绝迹了,emm386是把标准线性地址用
vm86模
: 式模拟emm的。
: 80286因为不支持vm86模式,即使配了两兆内存,也跑不了实模式下需要大基本内
存的
: 软件,因为emm386用不了模拟不出emm来

--
d
digua
134 楼
呵呵...

这个要实际用过,概念会比较清楚。

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
所以说不能看百度的:)
XMS是可以直接通过实模式访问的(具体方法书上没写),也可以通过保护模式或者
dpmi
之类的接口操作,不需要驱动
himem是也支持80286的,和386的xms内存无关
【 在 digua (姚之FAN) 的大作中提到: 】
标 题: Re: 王垠对编程语言的理解还是挺深的
发信站: BBS 未名空间站 (Tue Feb 21 09:51:42 2017, 美东)

你把扩充内存和扩展内存搞混了。如我前面所说,我们当时用的是扩展内存。我们用的
驱动程序是himem.sys。
x
xiaoju
135 楼
不是说你没用过,说的是你记错了

himem.sys加载时DOS会显示打开a20地址线,这个a20是实模式和保护模式之间的一个坑,进保护模式需要打开但本身和保护模式没关系。
https://en.wikipedia.org/wiki/High_memory_area
In Memory management, the high memory area (HMA) is the RAM area consisting of 65520 bytes beyond the upper memory area of an IBM AT or compatible
computer.

DOS下想用大内存,方法就那么几个,EMM,DPMI或者win16

【 在 digua (姚之FAN) 的大作中提到: 】
呵呵...
这个要实际用过,概念会比较清楚。
dpmi
d
digua
136 楼
"说的是你记错了",这个你是错了。

其实这个没什么好辩论的,这是很古老的东西,知道的就知道,不知道的一时也搞不清楚。花时间搞清楚,对现在来说,也没有什么意义。:)

【 在 xiaoju (可爱的龙猫) 的大作中提到: 】
不是说你没用过,说的是你记错了
himem.sys加载时DOS会显示打开a20地址线,这个a20是实模式和保护模式之间的一个坑
,进保护模式需要打开但本身和保护模式没关系。
https://en.wikipedia.org/wiki/High_memory_area
In Memory management, the high memory area (HMA) is the RAM area
consisting
of 65520 bytes beyond the upper memory area of an IBM AT or compatible
computer.
DOS下想用大内存,方法就那么几个,EMM,DPMI或者win16
x
xiaoju
137 楼
himem.sys都有wiki页,我骗你干什么?

这东西两个用处,1是打开A20,2是把一部分DOS数据移到himem去.所以最直观结果是基本内存变大但没有emm386大的那么多。MSDOS 5以后安装程序自动装himem但不装emm386.

我写过dos下不要himem访问xms的代码,手册现成的例子

【 在 digua (姚之FAN) 的大作中提到: 】
”说的是你记错了“,这个你是错了。
其实这个没什么好辩论的,知道的就知道,不知道的一时也搞不清楚。:)
consisting