免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 6511 | 回复: 12
打印 上一主题 下一主题

组件式操作系统设计-一个让中国超越linux的可能性 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-03-05 17:18 |只看该作者 |倒序浏览
简介
  组件式OS由不同的组件组装而成,每个组件都必须遵守标准文件所定义的接口,由不同的开发组生产。
  操作系统不再是由同一个公司生产销售,而是由不同经济体/开源组织/个人独立开发的组件拚装而成。
  对于普通用户来说,他们可以使用由某个公司发布的已经组装好的操作系统;对于高端用户,黑客,他们可以自己选择需要的组件实现个性系统。
  如果用现有的商业/技术体系来举例的话,组件式OS的生产销售体系类似与PC机。PC机的CPU,主板,内存,机箱等不同部分由不同企业设计生产,遵守一定的标准。大部分PC机由PC机销售商组装生产,黑客们则可以购买自己喜欢的部件DIY。
――――――――――――――――――――――――――――――――――――――
应用前景
  现在世界上流行的操作系统,包括windows和Linux,有一个最大的特点,它们的核心部分是由同一个工作组设计的。
  随着技术的进步,操作系统代码量越来越大,导致技术门槛升高,操作系统升级困难,开发成本剧增。同时操作系统的复杂化也使得硬件商不敢轻易进行技术革新。
  随着用户需求的增长,现有的操作系统往往只能进行“大众化”设计,针对主要客户群进行设计并对小客户进行妥协。对于主要客户来说,他们会觉得操作系统里面有很多鸡肋,而这些功能影响了运行的速度;对于其它客户来说,操作系统可能根本就不符合他们的需求。
  组件式OS设计可以解决上面两个问题。
  组件式OS中的各个组件是独立开发,独立调试,独立测试的,每个开发小组需要处理的代码可以降至最低。   Linux在开放源代码的基础上实现了“集众人之力”,而组件式系统在二进制接口兼容的基础上实现“集众人之力”。如果说开源系统是“白盒集成”的话,那么组件系统就是“黑盒集成”。
由于可以在安装系统时选择自己需要的模块,不同的用户可以得到不同的操作系统,服务器操作系统可以选用带自学习能力的内存管理器,嵌入式操作系统则可以选用非分页内存管理器。
―――――――――――――――――――――――――――――――――――――――
系统架构
  组件式操作系统主要是一种生产模式和设计思想,并不涉及具体的系统设计。但是为了证明理论的正确性,我们需要一个具体的设计和一系列可运行的组件。
  通用设计和IA-32设计会在附件中给出。在代码方面,我于去年写过一个标准组件,但是因为设计上的原因流产了。由于生活上的原因,今年之内恐怕很难再写出其它代码。希望有能力有时间的朋友完成我的“遗愿”。
  根据DXC网络第一定律,帖子的读者数与长度成反比,所以不得不把技术性比较强的内容放到附件里面。
×具体设计请看附件×
新的攻击方式与闭环系统
  在组件OS中,黑客们将会得到一种非常有效的新的攻击方式:向操作系统中插入内核态组件,以获得最高权限。
  一个不安全的操作系统是没有商业价值的,所以我们必须用“闭环系统”进行防御。
×具体设计请看附件×
组件OS的开发技术:
独立开发:
  独立小组的开发将带来很多额外的好处。
1,多语言开发
只要遵守标准规定的二进制接口,所有的编程语言都可以用来进行组件开发。使用嵌入汇编,可以使绝大多数的语言都能适应二进制接口;当然对于C等适应底层特性的语言来说,即使不使用嵌入汇编,也一样可以适应二进制接口。
2,软件的可移植性
将硬件相关的操作和执行策略分离可以有效的提高软件的可移植性。但是组件划
过细会影响到操作系统各方面的性能。所以硬件和策略的分离应该在组件内部进行。即组件的开发者可以分别开发组件的硬件和策略部分,在组装好以后最为一个完整的组件进行发布。

独立测试:
  在传统的软件工程模块测试中,需要用到“桩模块”;操作系统组件的测试则需要用到“桩系统”。
  假设我们要测试一个内存管理器,首先选取一个已装配好的组件操作系统,取下其中的内存组件,就得到了一个“桩系统”,装入待测试组件之后就可以开始测试工作了。
  对于一些“高层”组件,情况会比较复杂。因为这些组件往往会用到标准定义之外的外部调用接口。这些组件必须明确声明“需要XXX组件的XXX接口才能启动”,在测试时需要预先装载需要的组件。关于附加调用接口的问题,会在下文详细讨论。

附加运行条件以及条件归纳:
  为了提高组件OS的灵活性,标准文档只能定义有限的组件和接口;而为了提高功能,具体的操作系统往往会用到额外的组件和接口。于是便有了附加运行条件的概念。
附加运行条件,指某一个组件只有在如下系统环境中才能正常运行:在操作系统中除了标准规定的组件之外,需要额外安装XXX组件;或某个组件除提供标准接口之外,需要额外提供XXX接口。
  一个操作系统往往会涉及到数量众多的附加运行条件,将这些条件逐个列出会极大的影响效率。将这些条件归纳为几个常用的集合可以降低负面影响。例如文件系统,GDI,常用设备驱动等组件可以归纳为一个“基础PC机组件及调用集合”。

组件功能划分与接口定义:
  组件的划分和接口定义,是组件OS最重要的问题,如果在标准文档中定义的接口过多,会影响标准的通用性;定义的接口过少,又会使得“附加条件”过多,难以处理。
  遗憾的是,具体的组件划分和接口定义只能从实践中得到,在我们写出大量的实用组件之前,没有办法给出。

组件OS的开发:
  如果你理解了我前面所说的内容,那么你应该知道,在我的设想中,将来的世界是不存在一个“完整的操作系统”的。我们要开发的,也不是一个完整操作系统。我要宣传和证明的,是一种工业模式和开发理念。现在我们需要的是一堆组件,这些组件中的一部分,组装起来成为一个可运行的操作系统。替换其中的一些组件,这个操作系统仍然是可以运行(例如我们有5个内存控制器,任选一个安装,操作系统都可运行)。
  在标准成熟之后,我们可以独立的开发每一个组件,而不需要考虑其它组件是由什么人,怎样去完成的。
  但是现在,标准尚未建立,甚至组件划分和接口定义都没有做。所以需要所有的开发者之间相互交换信息,统一标准。
  从整体上来说,一个良好的开发顺序是:标准组件-》基本组件—》其它组件  目前还没有开发出完整版的标准组件。有意进行开发的朋友可以现在开始进行标准组件的设计,或者待其它工作组完成前面的组件后再开始做后面的组件。
―――――――――――――――――――――――――――――――――――――――
  国内有很多人都在做开源操作系统开发,但大都走得是WINDOWS和LINUX的老路。在这里我想奉劝各位一句,WINDOWS和LINUX经过十余年的时间,耗资上百亿才有了今天的成就;任凭你是神仙下凡百年一见的奇才,仅凭几个人的力量是没有办法超越WINDOWS和LINUX的。
  要想开发出新一代的操作系统,必须在架构和设计上有新的见解。如果您有不同的设计,欢迎和我切磋,共同进步;如果您想进行组件式操作系统的设计,我愿意为您提供帮助。我的联系方式,dxcnjupt@126.com, QQ23559356
初稿成于 2006-11-27 南京 d.x.c
第一次修改于2007-3-5 桂林 d.x.c

组件式操作系统第二版.rar

147.53 KB, 下载次数: 262

论坛徽章:
0
2 [报告]
发表于 2007-03-06 09:41 |只看该作者
嗯,不错。
中国人应该在操作系统研究与开发上有所成就了!

顶!

论坛徽章:
0
3 [报告]
发表于 2007-03-07 18:23 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
0
4 [报告]
发表于 2007-03-07 18:36 |只看该作者
对于普通用户来说,他们可以使用由某个公司发布的已经组装好的操作系统;对于高端用户,黑客,他们可以自己选择需要的组件实现个性系统。


我认为这一条过于理想了。

国内有很多人都在做开源操作系统开发,但大都走得是WINDOWS和LINUX的老路。在这里我想奉劝各位一句,WINDOWS和LINUX经过十余年的时间,耗资上百亿才有了今天的成就;任凭你是神仙下凡百年一见的奇才,仅凭几个人的力量是没有办法超越WINDOWS和LINUX的。


写系统不一定是为了超越什么,而只是为了达到什么。没有一种主流系统可以完全超越任何其他的系统,更不要说非主流的那些了。

--

再次回到标题:一个让中国超越linux的可能性

为什么一定要打上 “中国” 两个字?未来的世界里,国家的概念将会逐渐淡出,取而代之的是一个叫 “地球村” 的概念。另外,中国即便能超越 Linux 也说明不了什么。

所以我不太看好这个想法。

.

论坛徽章:
27
处女座
日期:2016-04-18 14:00:4515-16赛季CBA联赛之福建
日期:2023-03-31 15:54:2315-16赛季CBA联赛之深圳
日期:2020-06-02 10:10:5015-16赛季CBA联赛之广夏
日期:2019-07-23 16:59:452016科比退役纪念章
日期:2019-06-26 16:59:1315-16赛季CBA联赛之天津
日期:2019-05-28 14:25:1915-16赛季CBA联赛之青岛
日期:2019-05-16 10:14:082016科比退役纪念章
日期:2019-01-11 14:44:062016科比退役纪念章
日期:2018-07-18 16:17:4015-16赛季CBA联赛之上海
日期:2017-08-22 18:18:5515-16赛季CBA联赛之江苏
日期:2017-08-04 17:00:4715-16赛季CBA联赛之佛山
日期:2017-02-20 18:21:13
5 [报告]
发表于 2007-03-07 22:32 |只看该作者
我认同楼上的部分观点。。。

不要什么都扯上政治化的东西,其实真正的黑客是没有国界的,他们所做的是为人类奉献自己的智慧。。。

论坛徽章:
0
6 [报告]
发表于 2007-03-08 11:13 |只看该作者
太过理想化了,如果真的要实现这种想法,除非有一个组织来专门做相关标准的定义,不然出来的东西五花八门,最终也不实用。

论坛徽章:
0
7 [报告]
发表于 2007-03-08 11:14 |只看该作者
操作系统的架构分为微内核与巨内核两种,WIN95/98是巨内核,而2000是微内核的,LINUX也可以算是微内核的,目前微内核的操作系统的内核最小的约10多K.我冒昧的认为楼主所说的组件只不过是内核之上的模块罢了,目前的操作系统大都是内核再加上模块,这几乎是尽人皆知的.好像凭这个来超越有点让人难以理解.

论坛徽章:
0
8 [报告]
发表于 2007-03-10 18:20 |只看该作者
原帖由 rsuhkoi 于 2007-3-8 11:14 发表于 7楼  
操作系统的架构分为微内核与巨内核两种,WIN95/98是巨内核,而2000是微内核的,LINUX也可以算是微内核的,目前微内核的操作系统的内核最小的约10多K.我冒昧的认为楼主所说的组件只不过是内核之上的模块罢了,目前的操 ...


楼上的这样说微内核与巨内核,所是会误导群众喔……

论坛徽章:
0
9 [报告]
发表于 2007-03-10 23:53 |只看该作者
楼主的想法很好,但是别让情感限制了思维。
可以尝试从一个小组件来开始工作,同时期待更多的人加入。
如果没有第一步,后面的设想全部会是空想。
没有事情会在做之前有个完美的未来,总会走很多曲折的路,但是很多追求完美的人连第一步都没有迈出去。

论坛徽章:
0
10 [报告]
发表于 2007-03-11 00:48 |只看该作者
有想法,应该是不错的,我们还是要支持+鼓励啊!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP