LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: jessew

GNU 1.0

[复制链接]
发表于 2003-8-23 21:13:04 | 显示全部楼层

i think L4 is famous

我觉得L4挺有名的,我是看stalling的书学操作系统的,书里对L4虽然只是提了一句,但我却心向往之:12kilobytes and 7 system calls,好像是这么说的。
另外我觉得用别人开发的内核没什么不好,毕竟内核开发不是件轻而易举的事,也许微内核小一些,但要做好一个微内核,恐怕要有更多的研究和实验。
 楼主| 发表于 2003-8-24 11:08:43 | 显示全部楼层
非常感谢大家,特别是 tianshan851 兄对 GNU 以及 HURD 的支持!

我刚刚和一个GNU HURD的开发人员聊过,当我问及HURD目前的状况时,他说,
“GNU HURD 目前正在 GNU Mach 2.0 微内核上开发,因为 GNU Mach 1.3 太老了,几乎没有人再维护,而且使用的是 Linux 2.0 的驱动程序。而 GNU Mach 2.0 整合了 OSKit 提供的驱动程序,而 OSKit 的驱动程序是基于 FreeBSD 和 Linux 2.2.12 的,对硬件的支持会好一点。……现在,有些开发人员正在将 Hurd 移植到 L4 微内核上去。……总之,Hurd 将会是一个未来的操作系统,而现在它还不稳定……”

当我问及微内核的优点时,他这样说,
“从理论上讲,微内核更加灵活,但实际上只是同一件事实现起来的方式不同”

当我请他展望 GNU HURD 时,他说,
“我不清楚 HURD 是否会成功,但我们还是会尽力,因为这是我们自己的内核”

当我询问现在如何帮助开发 HURD 时,他说,
“多看看邮件列表”

当我问及如何开始编写 HURD 时,他说,
“你想写哪些服务器,就去看看相关的手册和 Mach 的系统调用”

当我问及都需要学习哪些语言时(C/C++),他开玩笑地说,
“有人认为 C++ 是带类的汇编语言,不过我更喜欢 Java”

最后,他再次阐明了观点,
“Hurd 将会是一个未来的操作系统,似乎开发这个比 Linux 更有趣一些,非常感谢你对 Hurd 的关心,也希望你能帮助我们,谢谢”
 楼主| 发表于 2003-8-24 11:10:39 | 显示全部楼层
这里给大家介绍一个Hurd的站点
http://hurd.gnufans.org
 楼主| 发表于 2003-8-24 11:36:15 | 显示全部楼层

这里简单介绍一下 Mach 的历史

Mach 的雏形是 1975 年 Rochester 大学开发的一个 RIG(Rochester Intelligent Gateway) 的系统。RIG 系统是为一个叫 Eclipse 的 16 位数据通用微机设计的。它的主要研究目标是要说明操作系统可以用模块化的方式构造出来,即作为一种通过消息传递通信的进程,甚至是一组通过网络进行消息传送的过程。系统设计完成后,的确证明了上述思想的正确性。

当这个系统的设计者之一 Richard Rashid 于 1979 年离开 Rochester 大学,移居到 Carnegie-Mellon 大学(CMU)后,他计划在更先进的硬件上继续开发基于消息传递的操作系统。他比较了各种各样的计算机,最终选定了PERQ。PERQ 是一个早期的工程工作站,支持位图显示器、鼠标和网络,同时,它也是可微编程的。这个新的为 PERQ 设计的操作系统叫做 Accent。与 RIG 相比,它增加了保护机制以及对网络透明操作、32 位虚存及其他功能。Accent 最初的版本是 1981 年设计完成并在机上运行的。

到 1984 年,Accent 已经在 150 个 PERQ 工作站上运行了,但是它明显不如 UNIX。这使 Rashid 开始了第三代操作系统项目 Mach 的开发。他希望 Mach 能与 UNIX 兼容,在它之上可以运行当时数量已很多的 UNIX 软件。此外,Mach 比 Accent 在其他一些方面也有所提高,包括线程、一个更好的进程通信机制、支持多处理器以及一个构想很好的虚拟存储系统。

在这期间,DARPA(the U.S. Department of Defense's Advanced Research Projects Agency) 正在寻找一个支持多处理机的操作系统作为它的 SCI(Strategic Computing Initiative) 的一部分,他们选中了 Mach。有了 DARPA 在资金上的支持,Mach 发展得更快了。为了使它与 4.2BSD 兼容,开发者们把 Mach 与 4.2BSD 组合在一个内核中。尽管这样做导致了一个很大的内核,但它的确做到了与 4.2BSD 的绝对兼容。

Mach 的第一个版本是 1986 年为 VAX 11/784,一个四 CPU 的多处理机发布的。之后不久,它被移植到了 IBM 的 PC/RT 上和 Sun 3 上。到 1987 年,Encore 和 Sequent 多处理机也采用了 Mach。尽管 Mach 也有网络设施,但当时它主要是为单台机器或多处理机系统设计的,而不是具域网上的一组机器的透明的分布式的操作系统。

不久以后,为了将 UNIX 的控制权从它的拥有者 AT&T 手中夺走,OSF(Open Software Foundation),一个由 IBM,DEC 和 Hewlett Packard 领导的计算机销售商们组成的集团成立了。它选择了 Mach 2.5 作为它的第一个操作系统 OSF/1 的基础。尽管 Mach 2.5 和 OSF/1 包含了大量的 Berkeley 和 AT&T 的代码,他们仍希望 OSF 至少能控制 UNIX 的发展方向。

到了 1988 年,由于包含了大量的 Berkeley UNIX 的代码,Mach 2.5 变得非常大。1989 年,CMU 从微内核中去掉了所有的 Berkeley UNIX 的代码,将它们放在了用户区。剩下的就是一个纯 Mach 微内核了,这就是 Mach 3.0 版本,它也是 OSF 以后发布的基础。
 楼主| 发表于 2003-8-24 11:43:18 | 显示全部楼层

为大家简单介绍一下 Mach 的设计目标

自从 Mach 的前身 RIG 出现以来,Mach 已经大大向前发展了。随着时间的推移,这个项目的设计目标也发生了变化。目前,它的主要设计目标是:
1.为建立其他的操作系统提供一个基础。
2.支持更大的稀疏地址空间。
3.允许对网络资源的透明访问。
4.系统和应用程序都允许并行执行。
5.使 Mach 能够移植到更大的计算机系统中。

Mach 的开发都围绕着这些目标。想法是在探索多处理机和分布式操作系统的同时能够模拟已有的操作系统,如 UNIX、MS-DOS 和 Macintosh 操作系统。

Mach 的许多早期的工作集中在单处理机和多处理机上。Mach 刚被实际时,很少有操作系统能够支持多处理机。即使是现在,也几乎没有其他的多处理机系统能像 Mach 一样,是独立于机器的。

有什么错误请大家指教
 楼主| 发表于 2003-8-31 18:51:50 | 显示全部楼层
Hurd 主页新增加了一个 Cross Reference 的链接,大家快去看啊!
发表于 2003-8-31 18:56:29 | 显示全部楼层
看了一下,真是够牛...
几分钟就把我搞晕了,呵呵
俺功力不够,还要再修炼修炼
 楼主| 发表于 2003-8-31 19:12:31 | 显示全部楼层
呵呵,carlos 兄的功力还不够啊?我就加“更”字了……
大家对我上面对 Hurd 和 Mach 的介绍有什么意见啊?觉得如何?
发表于 2003-8-31 23:36:19 | 显示全部楼层
jessew兄,把你安装Hurd的过程详细写出来让我学习学习好吗?
 楼主| 发表于 2003-9-2 12:25:23 | 显示全部楼层
tyfrlj 兄,实在不好意思,我的机器硬盘才 6.4G,没地方装 Hurd

我要装就得做好把所有东西 delete 的准备,所以暂时我还没有能力实验

但等我买了新机器以后,我会做这个工作的 :p
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表