EROS GPL了!(及主要特色介绍)
(Watson,99/10/28 5:52pm 于 202.96.19.50)
如果说Linux将会被取代,没准新的明星就是它!它叫Extremely Reliable Operating System,意即“极端可靠的操作系统”。
我对其中的理论所知非常有限,所以难以把关于它的论文介绍给大家,我可以大致列出几条它的特性,但无力仔细解释。如果你感兴趣,可以自己到他们那里去看。
它是宾西法尼亚大学的计算机专家开发出来的,它结合了一些古老的操作系统理论和现代关于性能和资源管理的理论,可以成为一个很小的、安全的和实时的操作系统。它的1.1版现在GPL了(其实在4月23日就公布在他们的主页上,LinuxToday和我都失职了)。
原文在LinuxToday
EROS 的关键特色:
品味EROS的特色需要先暂时忘记你所知道的Unix、Windows的系统工作方式和内核模型,准备好接受一些对我们普通人来说是完全崭新的东西。:)
EROS 具有以下的关键特色:
纯粹基于能力限度的体系。能力(Capabilities)是这样一个概念,它是指系统中的每个进程都必须先拥有一定的访问能力,然后才能访问其它对象(如其它进程、系统中的各个文件、甚至于每一块内存)。能力就象汽车钥匙一样,必须而且只要拥有了钥匙,你就能开动一辆特定的汽车。它是相对ACL(Access Control List)访问控制清单方式而言的。在ACL系统(如Unix)里面,访问控制通过用户权限的设定来完成。尽管能满足一定程度的需要,但这样仍然有很多问题,比如普通进程只有通过某些特权进程才能访问和修改关键性的系统文件,如passwd,却无法令这些特权进程将访问局限在特定的文件上,所有root身份的进程都可以任意访问系统中的所有文件。而且进程间彼此的通信也没有足够的安全保障。同时,ACL系统的权限设置不可能象能力系统那样复杂和全面。
能力其实不是一个很新的概念,早在Unix出现之前它就是存在于计算机科学中了。但一直到现在也没有人很高效地实现它,这就是EROS的功劳之所在。
由于可以有效地限定一个进程的能力,进程间通信的接口可以规定得非常明确,而且EROS系统的进程间通信效率是最高的,因此系统可以实现为许多相互作用的模块或者对象,每个对象都是独立可调试可跟踪的,极大地方便了系统错误的检查和排除。
持久性:EROS采取了不同寻常的设计,它每5分钟就在后台将系统的所有内存数据、核心状态在磁盘上保存一次!所以你的机器几乎可以随时关闭,不需要退出任何程序,不需要保存任何数据,下次开机时数十秒内系统就可以恢复到关机前的状态,几乎不丢失任何东西。一个字处理器或许不再需要打开文件、读文件、写文件、再关上文件等等繁琐的操作,它只需将用户输入的东西放在内存里永不退出,在用户需要的时候保存一个副本供用户携带就可以了。
这几乎是一个会令很多人都感到惊讶的特色。EROS的前身是一个类似的KeyKos系统,据称在一次展览会上它和Novell的服务器展台正好挨着,于是两方的工作人员打了个赌,突然断电关机,看哪个系统重起得快。结果KeyKos每次都在30秒后恢复到正常状态,而Novell的系统过了40多分钟还在作意外掉电后的磁盘例行检查。
而且由于EROS独到的设计,这样的后台保存工作仅仅增加系统0.3%的负担!
线程化内核:EROS的核心是高度线程化的,它不仅可以简化硬件驱动的设计、减少不必要的代码,而且很多核心线程还是可以被抢占的,以便实现对响应时间的要求比较高的多媒体等应用。它还采用了独特的设计,降低了进程切换的时间消耗。
安全性:由于其基于能力的系统设计,很容易就能达到相当高的安全性,保护关键的信息不泄露到未经授权的用户。而且EROS不需要象Unix里面的root那样的超级用户,管理上更加方便和可靠。如果说Unix系统是为一群彼此熟悉、相互合作的用户开发的,一个EROS系统甚至可以服务于一群彼此敌对的用户,而不至于产生安全上的漏洞。
另外,在拥有这么多优良特性的情况下,其性能却毫不逊色于当今的主流Unix系统。在Pentium机器上和Linux 2.0.30内核的对比试验表明它仅仅在一、两项内核性能指标上略为落后于Linux!
关于能力、持久性等特色,有时间会专门进行介绍。