由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 巍老师请点评下王垠的OS文章
相关主题
javascript onmouseoverabout critical section
再说说react & angular 2关于multi thread
给大家出个多进程的题how to answer this question, thanks
Semaphores in Linux (转载)mutex和semaphore的差别到底是什么?
为什么说semaphore是一种进程间的通信方式。谁能推荐一个read-writer lock的C++实现? (转载)
大家看过来Re: C++ Guys!!!!你们觉得《the little book of semaphore》这本书怎么样?
thread, semaphore, 问题。多个thread的通信
Restaurant Reservation System...critical section semaphore muta的问题
相关话题的讨论汇总
话题: br话题: os话题: 操作系统话题: javascript话题: apple
进入Programming版参与讨论
1 (共1页)
d*******r
发帖数: 3299
1
http://www.yinwang.org/blog-cn/2019/08/19/microkernel
前言
说老实话,我很久没有关心操作系统了,因为通常所谓的“操作系统”,在我心里不过
是一个 C 语言的运行时系统(run-time system),就像 JVM 是 Java 的运行时系统
一样。由于 C 语言的设计缺陷,这些系统引入了各种无需有的概念(进程,线程,虚
拟内存……),以及它们带来的复杂性和开销。
微内核与宏内核之争当然也包括在内。在我看来这些都是无需有的概念和争论。
在我的理念里,一个操作系统本应该是这个样子。简单得很,根本不存在那么多问题。
我可以利用这些思想来看透现有操作系统的绝大部分思想,管它是微内核还是宏内核。
我可以把现有的操作系统看成是这个系统的“退化版”。
操作系统是一个死知识横行的领域。很多人发现操作系统课难学,难理解。里面有些内
容,比如各种同步机制,很多人上完课毕了业,工作很多年以后都还弄不明白是怎么回
事,它们为什么在那里。类似的东西包括虚拟内存,进程与线程的区别,等等。
经过了很多的经验和思考,加上其他领域给我的启发,我终于明白了。原来很多这些概
念都是无须有的,死掉的知识。
操作系统课程里面的概念经常是这样形成的:
很久以前,有人为了解决了一个特定的问题,提出了一个概念(比如 semaphore)。这
个概念本来只有一个用途,就是解决他遇到的那个特定的问题。
因为这人太有名,这概念就被写进了教科书里。有时候连他当时的具体实现细节都给写
进去了。比如 semaphore 的两个操作被叫做 P 和 V,连这两个名字都给作为“典故”
写进去了。
教授们照本宣科,吹毛求疵,要你用这概念解决很多其它问题。很多根本就是人为造出
来的变态问题,现实中遇不到的,或者是一些不该用这个概念解决的问题。
这就是为什么操作系统课学起来那么难——很多都是没道理的难。
... ...
我记得 巍老师 说过操作系统应该简化来着, 这么评价老王的新文章
T********i
发帖数: 2416
2
这玩意儿,有啥好点评的?
他说对他来讲没啥用,当然可以,他的说法可以成立。
但是每天几十亿人都在用的东西,随意改动任何一个API都会出大乱子的东西,他说是
死掉的知识,不是扯淡么?
操作系统教学,不能说老师教错了,也不能说教科书写错了。但是老师教法有问题,学
生们普遍都学错了,这个说法我认为是没有任何问题的。
h****e
发帖数: 2125
3
王垠的style和本版某几个ID很像,把最popular别人都觉得难的东西一通踩,来显示自
己如何的超然众生。

【在 d*******r 的大作中提到】
: http://www.yinwang.org/blog-cn/2019/08/19/microkernel
: 前言
: 说老实话,我很久没有关心操作系统了,因为通常所谓的“操作系统”,在我心里不过
: 是一个 C 语言的运行时系统(run-time system),就像 JVM 是 Java 的运行时系统
: 一样。由于 C 语言的设计缺陷,这些系统引入了各种无需有的概念(进程,线程,虚
: 拟内存……),以及它们带来的复杂性和开销。
: 微内核与宏内核之争当然也包括在内。在我看来这些都是无需有的概念和争论。
: 在我的理念里,一个操作系统本应该是这个样子。简单得很,根本不存在那么多问题。
: 我可以利用这些思想来看透现有操作系统的绝大部分思想,管它是微内核还是宏内核。
: 我可以把现有的操作系统看成是这个系统的“退化版”。

d***a
发帖数: 13752
4
王垠这家伙有点自恋。操作系统严格来说并不难,只要动手能力强,思维灵活并且精细
,再加上能长时间以超过996的强度工作,就差不多了。他居然能唠唠叨叨说这么多。

【在 d*******r 的大作中提到】
: http://www.yinwang.org/blog-cn/2019/08/19/microkernel
: 前言
: 说老实话,我很久没有关心操作系统了,因为通常所谓的“操作系统”,在我心里不过
: 是一个 C 语言的运行时系统(run-time system),就像 JVM 是 Java 的运行时系统
: 一样。由于 C 语言的设计缺陷,这些系统引入了各种无需有的概念(进程,线程,虚
: 拟内存……),以及它们带来的复杂性和开销。
: 微内核与宏内核之争当然也包括在内。在我看来这些都是无需有的概念和争论。
: 在我的理念里,一个操作系统本应该是这个样子。简单得很,根本不存在那么多问题。
: 我可以利用这些思想来看透现有操作系统的绝大部分思想,管它是微内核还是宏内核。
: 我可以把现有的操作系统看成是这个系统的“退化版”。

m******r
发帖数: 1033
5
我支持老王。 很多东西一进教科书,说的根本就不是人话。 比如统计教科书,很多说
法也是概念之间绕来绕去,让人不知所云。 我是很多年后直到自己没事看统计历史,
才琢磨清楚原来是皮尔逊和鱼人,打了一辈子架,后人非要把他们两人的相反的看法用
黑话‘统一‘到一起。
再举个栗子。 交换律/结合律。 我不认为什么人睡完觉一拍脑袋,说这个东西很重要
,把它写进教科书第一页。 倒是很有可能是什么人为了解决实际问题,要用到这样的
性质。 一旦写进教科书第一页,就成了上帝给摩西的约柜, 大家奉若神明。都互相说
起了黑话。
所以我是提倡大家说人话。宗教改革也是一样,大主教心里想了, 凭什么你个泥腿子
也配看经书 ? 你有心事跟我说, 我用拉丁文和上帝说。
C*****l
发帖数: 1
6
说白了就是王银这斯有点小智慧,可以看透一些trick,但是还没有牛到可以自己提出
概念。

【在 m******r 的大作中提到】
: 我支持老王。 很多东西一进教科书,说的根本就不是人话。 比如统计教科书,很多说
: 法也是概念之间绕来绕去,让人不知所云。 我是很多年后直到自己没事看统计历史,
: 才琢磨清楚原来是皮尔逊和鱼人,打了一辈子架,后人非要把他们两人的相反的看法用
: 黑话‘统一‘到一起。
: 再举个栗子。 交换律/结合律。 我不认为什么人睡完觉一拍脑袋,说这个东西很重要
: ,把它写进教科书第一页。 倒是很有可能是什么人为了解决实际问题,要用到这样的
: 性质。 一旦写进教科书第一页,就成了上帝给摩西的约柜, 大家奉若神明。都互相说
: 起了黑话。
: 所以我是提倡大家说人话。宗教改革也是一样,大主教心里想了, 凭什么你个泥腿子
: 也配看经书 ? 你有心事跟我说, 我用拉丁文和上帝说。

h****e
发帖数: 2125
7
我挺佩服他的胆色和脸皮的:他一直都是搞programming languages这个阳春白雪的小
众方向,但是回国之后开始对AI和OS指点江山了,俨然一副学术界大佬的样子。看来他
踩了半天国内胡吹的风气,自己也未能免俗。

【在 C*****l 的大作中提到】
: 说白了就是王银这斯有点小智慧,可以看透一些trick,但是还没有牛到可以自己提出
: 概念。

d***a
发帖数: 13752
8
王垠这家伙应该少点臆想,多干点实事。操作系统本来就可以很简单。Unix最初只有2.
5K行汇编代码。那时C语言还没有设计出来,他居然说操作系统是”C 语言的运行时系
统”。
有时王垠给人的感觉,象是CS半路出家的,基础不扎实,自己想出许多问题,然后自已
回答,然后就觉的自己了不起了。
Uinx源代码,PDP7运行版:
https://github.com/dspinellis/unix-history-repo/blob/Research-PDP7-Snapshot-
Development/README.md

【在 d*******r 的大作中提到】
: http://www.yinwang.org/blog-cn/2019/08/19/microkernel
: 前言
: 说老实话,我很久没有关心操作系统了,因为通常所谓的“操作系统”,在我心里不过
: 是一个 C 语言的运行时系统(run-time system),就像 JVM 是 Java 的运行时系统
: 一样。由于 C 语言的设计缺陷,这些系统引入了各种无需有的概念(进程,线程,虚
: 拟内存……),以及它们带来的复杂性和开销。
: 微内核与宏内核之争当然也包括在内。在我看来这些都是无需有的概念和争论。
: 在我的理念里,一个操作系统本应该是这个样子。简单得很,根本不存在那么多问题。
: 我可以利用这些思想来看透现有操作系统的绝大部分思想,管它是微内核还是宏内核。
: 我可以把现有的操作系统看成是这个系统的“退化版”。

g****t
发帖数: 31659
9
反者道之动。书本上的知识和概念,是一场运动的结果。是一条线的暂时的终点。
只看到终点,就成了考试式读书。必然出校门后会碰到实战困难,并为往往伴随者人事
挫折。
但是如果一个人有超高智力和记忆力等等。这样其实也是可以的。但是我多年前放弃了
这个办法。因
为以此办法读书无法和国内年轻房奴竞争。
更重要的是,人不可能一直在智力的巅峰。
简言之,你我这个年纪,文档是一定看不过年轻人的。
但是我看过很多次这种运动。依照过去的经验,可以从新出现的新名词,反推出其过去
的由来,以及未来的归宿。
以我为例,我看过分析过,甚至模拟过很多东西的演化。那么把固定的概念升高到运动
的维度,不静态的看问题,就是可能的。
这个办法未必可行。也未必可信。诸位笑笑就好。
你前面说我概念不清,好多人说我不是计算机出身的,什么什么。并不是错的。
多数人看到的是OS两个固定的字,我看的是永不停止的,内容一直在改变的运动。
据我观察,做生意也是一样。建立交易,似乎不如建立关系。
老王显然感觉到教科书的东西不对。这点我觉得值得赞同。但我觉得他想办法已经晚了
。年纪大了点。


: 这玩意儿,有啥好点评的?

: 他说对他来讲没啥用,当然可以,他的说法可以成立。

: 但是每天几十亿人都在用的东西,随意改动任何一个API都会出大乱子的
东西,
他说是

: 死掉的知识,不是扯淡么?

: 操作系统教学,不能说老师教错了,也不能说教科书写错了。但是老师教
法有问
题,学

: 生们普遍都学错了,这个说法我认为是没有任何问题的。



【在 T********i 的大作中提到】
: 这玩意儿,有啥好点评的?
: 他说对他来讲没啥用,当然可以,他的说法可以成立。
: 但是每天几十亿人都在用的东西,随意改动任何一个API都会出大乱子的东西,他说是
: 死掉的知识,不是扯淡么?
: 操作系统教学,不能说老师教错了,也不能说教科书写错了。但是老师教法有问题,学
: 生们普遍都学错了,这个说法我认为是没有任何问题的。

g****t
发帖数: 31659
10
隔行如隔山。写java的和写python都说不到一起。你把各行各业的话都听懂,这是不可
能的。


: 我支持老王。 很多东西一进教科书,说的根本就不是人话。 比如统计教科书,
很多说

: 法也是概念之间绕来绕去,让人不知所云。 我是很多年后直到自己没事看统计
历史,

: 才琢磨清楚原来是皮尔逊和鱼人,打了一辈子架,后人非要把他们两人的相反的
看法用

: 黑话‘统一‘到一起。

: 再举个栗子。 交换律/结合律。 我不认为什么人睡完觉一拍脑袋,说这个东西
很重要

: ,把它写进教科书第一页。 倒是很有可能是什么人为了解决实际问题,要用到
这样的

: 性质。 一旦写进教科书第一页,就成了上帝给摩西的约柜, 大家奉若神明。都
互相说

: 起了黑话。

: 所以我是提倡大家说人话。宗教改革也是一样,大主教心里想了, 凭什么你个
泥腿子

: 也配看经书 ? 你有心事跟我说, 我用拉丁文和上帝说。



【在 m******r 的大作中提到】
: 我支持老王。 很多东西一进教科书,说的根本就不是人话。 比如统计教科书,很多说
: 法也是概念之间绕来绕去,让人不知所云。 我是很多年后直到自己没事看统计历史,
: 才琢磨清楚原来是皮尔逊和鱼人,打了一辈子架,后人非要把他们两人的相反的看法用
: 黑话‘统一‘到一起。
: 再举个栗子。 交换律/结合律。 我不认为什么人睡完觉一拍脑袋,说这个东西很重要
: ,把它写进教科书第一页。 倒是很有可能是什么人为了解决实际问题,要用到这样的
: 性质。 一旦写进教科书第一页,就成了上帝给摩西的约柜, 大家奉若神明。都互相说
: 起了黑话。
: 所以我是提倡大家说人话。宗教改革也是一样,大主教心里想了, 凭什么你个泥腿子
: 也配看经书 ? 你有心事跟我说, 我用拉丁文和上帝说。

相关主题
thread, semaphore, 问题。关于multi thread
Restaurant Reservation System...how to answer this question, thanks
about critical sectionmutex和semaphore的差别到底是什么?
进入Programming版参与讨论
h****e
发帖数: 2125
11
把自己的不懂装懂装饰得如此高尚风雅的,你是第一人。

【在 g****t 的大作中提到】
: 反者道之动。书本上的知识和概念,是一场运动的结果。是一条线的暂时的终点。
: 只看到终点,就成了考试式读书。必然出校门后会碰到实战困难,并为往往伴随者人事
: 挫折。
: 但是如果一个人有超高智力和记忆力等等。这样其实也是可以的。但是我多年前放弃了
: 这个办法。因
: 为以此办法读书无法和国内年轻房奴竞争。
: 更重要的是,人不可能一直在智力的巅峰。
: 简言之,你我这个年纪,文档是一定看不过年轻人的。
: 但是我看过很多次这种运动。依照过去的经验,可以从新出现的新名词,反推出其过去
: 的由来,以及未来的归宿。

g****t
发帖数: 31659
12
我哪点不懂?你指出一下。
例如:老魏熟悉一些OS,别的专家熟悉一些别的OS。我熟悉的是随时间演化出来的新卖
点,怎么编出来的。早先的OS,怎么可能JavaScript 也放里面,没一本教科书是这样的
。但
是手机都是这么干的。
这个我知道。而且本版似乎只有我提出了。你说下高见。mobile OS这些新编出来的东
西是怎么演进出来的。
早先人们怎么卖软件的,现在怎么卖的?硬件公司怎么卖的,软件公司怎么卖的?互联
网公司怎么卖的。我在意新卖点如何建立的。
你说一下高见,大家来听听。


: 把自己的不懂装懂装饰得如此高尚风雅的,你是第一人。



【在 h****e 的大作中提到】
: 把自己的不懂装懂装饰得如此高尚风雅的,你是第一人。
h****e
发帖数: 2125
13
大家不提出,是因为mobile OS根本就不是你说的那么回事。什么Javascript放里面,
都不知道你又胡说八道些啥。无论是iOS还是Android,你找出里面embed Javascript的
document来看看??

【在 g****t 的大作中提到】
: 我哪点不懂?你指出一下。
: 例如:老魏熟悉一些OS,别的专家熟悉一些别的OS。我熟悉的是随时间演化出来的新卖
: 点,怎么编出来的。早先的OS,怎么可能JavaScript 也放里面,没一本教科书是这样的
: 。但
: 是手机都是这么干的。
: 这个我知道。而且本版似乎只有我提出了。你说下高见。mobile OS这些新编出来的东
: 西是怎么演进出来的。
: 早先人们怎么卖软件的,现在怎么卖的?硬件公司怎么卖的,软件公司怎么卖的?互联
: 网公司怎么卖的。我在意新卖点如何建立的。
: 你说一下高见,大家来听听。

g****t
发帖数: 31659
14
不要拿“大家”来壮胆。你乾脆不如說人民不知道很麼是mobile OS算了。
我们做技术的,最重要的一点是实事求是。2010年左右开始。Android shipped with
V8 engine。


: 大家不提出,是因为mobile OS根本就不是你说的那么回事。什么
Javascript放
里面,

: 都不知道你又胡说八道些啥。无论是iOS还是Android,你找出里面embed
Javascript的

: document来看看??



【在 h****e 的大作中提到】
: 大家不提出,是因为mobile OS根本就不是你说的那么回事。什么Javascript放里面,
: 都不知道你又胡说八道些啥。无论是iOS还是Android,你找出里面embed Javascript的
: document来看看??

c*******v
发帖数: 2599
15
一半以上的windows开发用挖雷程序了?
g****t
发帖数: 31659
16
攻击我你得先学点知识。Apple有自己的javascript core。
iOS 7, Mac OS 10.5等等都包括。就连TVos都有。


: 你去Apple问iOS developers,看他们认不认V8是mobile OS的一部分。我
和你赌
五百万

: 美刀他们不认,你敢赌吗?



【在 h****e 的大作中提到】
: 大家不提出,是因为mobile OS根本就不是你说的那么回事。什么Javascript放里面,
: 都不知道你又胡说八道些啥。无论是iOS还是Android,你找出里面embed Javascript的
: document来看看??

h****e
发帖数: 2125
17
你Google半天就这结果?JavascriptCore最早是KDE写的,到你这成Apple自己的了?还
成了ios的一部分了??咱俩谁需要学点知识???

【在 g****t 的大作中提到】
: 攻击我你得先学点知识。Apple有自己的javascript core。
: iOS 7, Mac OS 10.5等等都包括。就连TVos都有。
:
:
: 你去Apple问iOS developers,看他们认不认V8是mobile OS的一部分。我
: 和你赌
: 五百万
:
: 美刀他们不认,你敢赌吗?
:

g****t
发帖数: 31659
18
2002 June :
Apple is pleased to announce the open source release of the new
JavaScriptCore framework, based on the kjs JavaScript engine from KDE.
JavaScriptCore is a private API which may be used by future Mac OS X
applications such as Sherlock, and is provided as Open Source as part
of our partnership with the KDE community. JavaScriptCore will be used
by Sherlock in an upcoming O/S release, and possibly by other Apple
software in the future. Apple chose kjs as the basis of its JavaScript
technology for its simple and efficient code.
后面的事跟你讲你也听不懂。


: 你Google半天就这结果?JavascriptCore最早是KDE写的,到你这成Apple自己的
了?还

: 成了ios的一部分了??咱俩谁需要学点知识???



【在 h****e 的大作中提到】
: 你Google半天就这结果?JavascriptCore最早是KDE写的,到你这成Apple自己的了?还
: 成了ios的一部分了??咱俩谁需要学点知识???

h****e
发帖数: 2125
19
小时候小区有个孩子,口头禅就是“跟你讲你也听不懂”。小区孩子们给他起的外号是
大傻子。

【在 g****t 的大作中提到】
: 2002 June :
: Apple is pleased to announce the open source release of the new
: JavaScriptCore framework, based on the kjs JavaScript engine from KDE.
: JavaScriptCore is a private API which may be used by future Mac OS X
: applications such as Sherlock, and is provided as Open Source as part
: of our partnership with the KDE community. JavaScriptCore will be used
: by Sherlock in an upcoming O/S release, and possibly by other Apple
: software in the future. Apple chose kjs as the basis of its JavaScript
: technology for its simple and efficient code.
: 后面的事跟你讲你也听不懂。

d***a
发帖数: 13752
20
LOL. 不光是JavaScript engine, 苹果随操作系统发行的Mail, iTune等软件,从专业
角度来说也不是操作系统的一部分。这其实是常识了,不过挑战常识来证明自己
不傻的人也很多。

【在 h****e 的大作中提到】
: 小时候小区有个孩子,口头禅就是“跟你讲你也听不懂”。小区孩子们给他起的外号是
: 大傻子。

相关主题
谁能推荐一个read-writer lock的C++实现? (转载)critical section semaphore muta的问题
你们觉得《the little book of semaphore》这本书怎么样?multi-thread 一问,
多个thread的通信精华区翻出来的MS老题,thread safe
进入Programming版参与讨论
h****e
发帖数: 2125
21
呵呵,它可不是为了证明自己不傻,而是想证明自己是独具慧眼振聋发聩的第一人。它
的人生观世界观也是一样奇葩,人家还自high的要命,真是大开眼界。

【在 d***a 的大作中提到】
: LOL. 不光是JavaScript engine, 苹果随操作系统发行的Mail, iTune等软件,从专业
: 角度来说也不是操作系统的一部分。这其实是常识了,不过挑战常识来证明自己
: 不傻的人也很多。

g****t
发帖数: 31659
22
你说清楚。你见过rim的代码还是用过rim的机器。
上次张嘴就乱碰。一点誠實都沒有。
現在还好意思吹什么“专业‘。你干脆拿扫雷游戏和android js engine 以
及jvm比吧。
除了paper knowledge,你說你還知道啥?
我早就讲过。这些系统有自己的模块图。js engine也好。jvm也好。人家的文档说了算。
你能做的,也就是说‘Android components arch” 不是OS ar而已。但那
又怎么样?你又不是律师,也不是法官。


: LOL. 不光是JavaScript engine, 苹果随操作系统发行的Mail, iTune等
软件,
从专业

: 角度来说也不是操作系统的一部分。这其实是常识了,不过挑战常识来证
明自己

: 不傻的人也很多。



【在 d***a 的大作中提到】
: LOL. 不光是JavaScript engine, 苹果随操作系统发行的Mail, iTune等软件,从专业
: 角度来说也不是操作系统的一部分。这其实是常识了,不过挑战常识来证明自己
: 不傻的人也很多。

g****t
发帖数: 31659
23
你連javascript 怎麼起來的都沒明白。可以繼續堅持。
我沒想糾正你。


: 呵呵,它可不是为了证明自己不傻,而是想证明自己是独具慧眼振聋发聩
的第一
人。它

: 的人生观世界观也是一样奇葩,人家还自high的要命,真是大开眼界。



【在 h****e 的大作中提到】
: 呵呵,它可不是为了证明自己不傻,而是想证明自己是独具慧眼振聋发聩的第一人。它
: 的人生观世界观也是一样奇葩,人家还自high的要命,真是大开眼界。

C*****l
发帖数: 1
24
活的知识和死的知识,大部分在书本上学的都是死的知识,学起来可能很吃力。但是活
的知识,如果跟着大牛一起做项目,往往学到的是活的知识,活的知识反而容易理解。
d***a
发帖数: 13752
25
对,要认真做一个项目,才能学到活的知识。

【在 C*****l 的大作中提到】
: 活的知识和死的知识,大部分在书本上学的都是死的知识,学起来可能很吃力。但是活
: 的知识,如果跟着大牛一起做项目,往往学到的是活的知识,活的知识反而容易理解。

1 (共1页)
进入Programming版参与讨论
相关主题
multi-thread 一问,为什么说semaphore是一种进程间的通信方式。
精华区翻出来的MS老题,thread safe大家看过来Re: C++ Guys!!!!
Monitor和semaphore, mutex是什么关系?thread, semaphore, 问题。
What is the side effect not to call sem_destroy()?Restaurant Reservation System...
javascript onmouseoverabout critical section
再说说react & angular 2关于multi thread
给大家出个多进程的题how to answer this question, thanks
Semaphores in Linux (转载)mutex和semaphore的差别到底是什么?
相关话题的讨论汇总
话题: br话题: os话题: 操作系统话题: javascript话题: apple