|
|
第 106 帖 | |
|
|
千年一炭,你为什么这样说?这很伤害 GNU 的同志!
__________________
Work Smarter,Work GNU! |
|
|
|
|
|
|
|
第 107 帖 | ||
|
|
引用:
![]() |
||
|
|
|
||
|
|
第 108 帖 | |
|
|
大家有没有人对 Mach 微内核比较熟悉的?出来贡献一点经验或文档什么的
|
|
|
|
|
|
|
|
第 109 帖 | |
|
|
大家有没有人对 Mach 微内核比较熟悉的?出来贡献一点经验或文档什么的
|
|
|
|
|
|
|
|
第 110 帖 | |
|
|
标题: HURD的内核开发究竟到什么程度,出现的最大阻碍在哪里?(一直在此贴,不再转移,除非文件太大) 看了前面这么多的讨论,对hurd内核的了解还可以说几乎没有什么变化,虽然我没有读过hurd的内核(下载了老版的,但是一直没看),但是我也想发表一下自己对它的看法,不对之处请指正.
hurd内核经过这么多年的发展,实际上是几度换面孔,却一直没有解决微内核的内部通信,内核运行,内核模块与外部的服务关系等问题,我觉得有这几个原因: 1自从hurd计划提出以来,由于种种原因一直没有能够聚集足够的不管是优秀的还是差劲的的程序员(差劲的开发人员也可以提供各方面的帮助,如资金,想法及参考资料等,尤其是各种各样奇怪的社会合作机制的想法,这和内核内部的通信很相似,其它的东西对内核和软件需求也都是很有帮助的,优秀的开发人员则负责将这些转化为实际的内核),,缺少开发人员的内核计划可以说是不大可能在短期内实现的.我觉得在这一点上GNU和linus等linux内核开发人员差得很远,GNU虽然好,但是不善于宣传自己,我想,如果不是linux的出现和流行,GNU还很难说现在是在什么位置,虽然他开发了大量的基于GPL的软件,但是人们永远只会记得广告里宣传的产品,对无私贡献的人,尤其是工作内容不在人们日常生活范围内的人他们是不大会记得清楚的,更不会将自己的钱财,精力,时间投入到里面去,GNU是如此,linux如果不走商业化的道路,不让商业公司介入的话也不过发展到内核的一定级别罢了.另一方面,实际上linux的发展在某种程度上也使得hurd失去了发展的好时机,这是GNU所始料不及的,所以现在大家都知道linux,却也没有几个人知道GNU的真正涵义,GNU要解决这个问题,只有多宣传自己,多打广告(不大现实?)和招聘人材才有可能,GNU不应该只是一个没有足够支持来源的组织,更不应该是一个只靠别家linux支持(广告)的机构,除非他想变成一个free软件免费提供者,当然,他决不能变成商业组织,否则就失去了它存在的价值. 2我不知道hurd到底选了哪几种平台作为内核开发的环境(是否linux\UNIX),但是我认为,一个内核在开发的初期应该选定一种固定的平台,这样才能保证他的顺利开发,然后才有移植的问题,unix是这样,linux也是这样,windows还是如此,GNU虽然经常开会(不管是实际的年会还是网上的通信),但是毕竟是很多人集合在一起的组织,要使得大家都在一起,工作能够同步,就必须在开发平台上统一,内核通信也是如此,有时间我会读一下内核,可以看出内核要真得做到微内核的程度,除了将服务分离出来外,还应该精简内核通信,精简内核结构,不应该单单是微内核,微内核还应该是精简内核.这多多少少有点像公司企业内部的协作问题和与外交流问题.一个企业,在它的发展初期可能没有这方面的问题,但是随着企业的不断壮大,内部通信就显得极其重要,只有这样才能很好的和外部协作,使得企业整体及其上面的运行工作(外部程序,服务)运行的更好,建议hurd开发人员好好向大的而且高效的企业管理人员学习,或者甚至将他们拉到内核开发小组(好像内核开发小组也有这样的人吧?)来 3如果说hurd在内核选择上有问题的话,我觉得最大的问题是到处找新内核,老内核,却没有真正意义上开发自己的内核 ,以前不是一直用mach的吗,怎么又换?即使换吧,也去找听说的人比较多的,或者干脆自己发起一个计划,自己从新社稷内核.当然,设计新的内核不是一件容易的事.每一种内核(操作系统)都有自己的适用范围,也必需加入新的规范和新的机制,新内核既要考虑内核内部问题,也需要考虑外部程序兼容和移植问题,还有最重要的硬件的问题(好像GNU用的微内核最大的特点就是没有真正的硬件前提).我建议那个什么人(忘了名字了,stallman?)淡出GNU的新内核开发小组,重新考虑一下自己究竟是为什么要发起GNU计划的,自己真正需要的是什么样的内核什么样的操作系统(还能是GNU吗?GNU is Not UNIX,那就不是unix呗,考虑那么多干嘛?),还要考虑一下下一代操作系统是怎么样的,GNU应该是下一代操作系统,而不是unix\linux,也不是windows32 3我觉得hurd内核相关的书籍资料太少了,又很难找到,这是阻碍其发展的很重要的原因,人们都没办法看到各个语言的资料,怎么交流?想帮忙又不知道到哪里帮忙,也不知道可以帮上什么忙,又怎么帮忙?如果可能的话,我建议在中国也专门建一个ftp www网站作为交流场所,就专门讨论操作系统,下一代操作系统,尤其是GNU的下一代操作系统,这样,以后也可以有个基地,也可以将debian等linux的开发人员转移一部分过来,总之,这个网站必需集中全力讨论操作系统,另一版块讨论操作系统上的软件,操作系统下的硬件也单独开一个版块,再加一个交流版块和三者合一的讨论区灌水区,每一个版块的版主都应该有自己的专门贴子(记得是专门!!!!),里面比较有能力,有实力的人也可以单独开自己的贴子,而不是现在bbs的乱贴.(好像变成BBS了,不过有多少人真正在做这件事情就难说了).另外,要有相关的开发工具下载,还有文档管理条例等等等等. 临时: 请问谁有HURD-J2的下载地址(教育网可以访问的),请给我贴一个列表,谢谢 此帖于 03-08-23 09:27 被 tianshan851 编辑. |
|
|
|
|
|
|
|
第 111 帖 | |
|
|
标题: i think L4 is famous 我觉得L4挺有名的,我是看stalling的书学操作系统的,书里对L4虽然只是提了一句,但我却心向往之:12kilobytes and 7 system calls,好像是这么说的。
另外我觉得用别人开发的内核没什么不好,毕竟内核开发不是件轻而易举的事,也许微内核小一些,但要做好一个微内核,恐怕要有更多的研究和实验。 |
|
|
|
|
|
|
|
第 112 帖 | |
|
|
非常感谢大家,特别是 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 的关心,也希望你能帮助我们,谢谢” |
|
|
|
|
|
|
|
第 113 帖 | |
|
|
这里给大家介绍一个Hurd的站点
http://hurd.gnufans.org |
|
|
|
|
|
|
|
第 114 帖 | |
|
|
标题: 这里简单介绍一下 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 以后发布的基础。 |
|
|
|
|
|
|
|
第 115 帖 | |
|
|
标题: 为大家简单介绍一下 Mach 的设计目标 自从 Mach 的前身 RIG 出现以来,Mach 已经大大向前发展了。随着时间的推移,这个项目的设计目标也发生了变化。目前,它的主要设计目标是:
1.为建立其他的操作系统提供一个基础。 2.支持更大的稀疏地址空间。 3.允许对网络资源的透明访问。 4.系统和应用程序都允许并行执行。 5.使 Mach 能够移植到更大的计算机系统中。 Mach 的开发都围绕着这些目标。想法是在探索多处理机和分布式操作系统的同时能够模拟已有的操作系统,如 UNIX、MS-DOS 和 Macintosh 操作系统。 Mach 的许多早期的工作集中在单处理机和多处理机上。Mach 刚被实际时,很少有操作系统能够支持多处理机。即使是现在,也几乎没有其他的多处理机系统能像 Mach 一样,是独立于机器的。 有什么错误请大家指教 |
|
|
|
|
|
|
|
第 116 帖 | |
|
|
Hurd 主页新增加了一个 Cross Reference 的链接,大家快去看啊!
|
|
|
|
|
|
|
|
第 117 帖 | |
|
|
看了一下,真是够牛...
几分钟就把我搞晕了,呵呵 俺功力不够,还要再修炼修炼
__________________
Aoccdrnig to a rscheearch at an Elingsh uinervtisy, it deosn't mttaer in waht oredr the ltteers in a wrod are, the olny iprmoetnt tihng is taht frist and lsat ltteer is at the rghit pclae. |
|
|
|
|
|
|
|
第 118 帖 | |
|
|
呵呵,carlos 兄的功力还不够啊?我就加“更”字了……
大家对我上面对 Hurd 和 Mach 的介绍有什么意见啊?觉得如何? |
|
|
|
|
|
|
|
第 119 帖 | |
|
|
jessew兄,把你安装Hurd的过程详细写出来让我学习学习好吗?
__________________
春早雨迷濛,白雾绕青山。 寂寥破古屋,愁思倚阑干。 LFS ID : 13994 |
|
|
|
|
|
|
|
第 120 帖 | |
|
|
tyfrlj 兄,实在不好意思,我的机器硬盘才 6.4G,没地方装 Hurd :(
我要装就得做好把所有东西 delete 的准备,所以暂时我还没有能力实验 :o 但等我买了新机器以后,我会做这个工作的 ![]() |
|
|
|
|
|