导读:最年轻的主流操作系统也是 25 年前编写的,我们需要一个用现代理念来设计的操作系统,高可用架构致力改变互联网的构建方式,很高兴看到一些新的操作系统开发的尝试,新发布的采用 GPLv3 授权的 Minoca os 或许可以看到未来的机会。文章后还有 POSIX 与 plan9 的大讨论。
今天很高兴地宣布, Minoca 操作系统已经开源。 我们将在 GNU GPLv3 下发布整个 Minoca OS 源代码。 我们很高兴能够围绕这个新的操作系统建立一个由用户和开发人员组成的社区,我们需要帮助。 可以在以下网址查看源代码。
https://github.com/minoca/os
Minoca 是什么
Minoca OS 是一个通用的操作系统,完全从头开始编写。 它适用于希望节省功耗,内存和存储的设备。 它的目标是精简,可维护,模块化,并与现有软件兼容。
换句话说,它是一个为小型设备编写的全功能的操作系统。
在应用程序端,我们有一个包管理器( opkg),以及一个不断增长的源,如 Python, Ruby, Git, Lua 和 Node。 在引擎盖下, Minoca 在设备驱动程序和内核之间包含一个强大的驱动程序模型。 想法是驱动程序可以以向前兼容的方式编写,因此可以升级内核级组件,而无需重新编译所有设备驱动程序。
为什么需要 Minoca?
Minoca 操作系统由两个开发人员 Evan 和 Chris 编写,在过去的几年里。 我们审视了现有的操作系统,并意识到,主要操作系统自编写以来已经超过 25 年了。 25 年可以积累很多包袱,更不用说硬件在那段时间内的巨变。
如果有 25 年经验并且重新开始的机会,我们可以在操作系统这方面创造一些有趣和独特的东西。 我们认为,重新审视内核驱动程序接口可能会带来强大的新功能。 我们正在寻找像电源管理,可用性和资源隔离这些在关键但 25 年前所知甚少的领域。 我们可以实现与当今世界使用的操作系统功能接近,但代码更少,痛点更少的操作系统吗? 我们能做得更好吗? 我们想试试。
你可以做什么?
现在我们最大的问题是 Minoca 操作系统没有广泛使用。我们需要知道我们缺少哪些包? 它崩溃了吗? 有没有在你的设备上不工作? 我们需要做什么来使这个系统更可用?
你可以使用一个新的轻量级操作系统来做服务器? 来运行嵌入式设备?来做家庭路由器? 我们有一些想法,也需要听到别人的意见。
我们的第二大问题是我们只有两个人。 基础是工作,但有很多东西需要做。 如果您有兴趣编写驱动程序,添加功能,移植包,修复错误,参与设计讨论,我们很乐意接受帮助。 如果您有兴趣将 Minoca OS 集成到您自己的项目中,我们非常乐意为您提供帮助!
联系我们
如果您想与我们联系,我们有几个选项。 一般查询,电子邮件 [email protected]。 有关补丁,技术讨论或社区问题,请发送电子邮件至 [email protected]。 安全问题转到 [email protected] 。
此外,有关 Minoca posix 兼容性和网络层是否采用 plan9 的模式也引发了热议,部分观点:
网友 jprzybyl(译者:可能是作者)
Minoca 操作系统开发已经有一段时间了,但是新的消息是它采用 GPLv3 授权,我认为这是一件伟大的事情! MIT 授权适用于打算渗透到所有领域的软件,但是对于构建社区而言,GPL 或许更加合适。
似乎任何操作系统要成功,它必须保证 POSIX 兼容。 我在想我们什么时候我们能将之抛之脑后,还是没有那个可能?目前来说我很高兴 POSIX 只是 Minoca 的一层,而不是系统的基础,因为到了今天 POSIX 真的应该只是像一大堆胶水那样对待。
PS:虽然我也喜欢对象管理器,但是我还没看到满意的那种新型的网络栈实现,尽管 plan9 模式的网络实现方式非常性感,但我们项目而言,传统的网络实现方式已经令我们感到满意。 也许它只是没有 plan9 方式那么自以为是吧?
网友 rogerhoward 留言
我觉得吧,POSIX 兼容性实际上是一个让您访问巨大的软件环境的便宜通行证。 在首页上他们提到已经可以运行 Python,Ruby,Git,Lua 和 Node ...的软件包,那么,还有成千上万的其他软件包,没有可行的 POSIX 层是可行的?
网友 jprzybyl(译者:可能是作者)
我们来看下核心问题,POSIX 代表可移植操作系统接口 Portable Operating System Interface(X代表Xtreme?)。 在我们启动整个操作系统来运行单个应用程序的时代,为什么我们在网络可移植性工作得这么好的时代,我们还这么关注操作系统级别定义可移植性?
请记住,现在是这样一个时代,像 Qubes OS 这样的系统可以使单独的 VM 来彼此协作。
POSIX 我唯一能想到的卖点是性能。当操作系统的概念不再意味着拥有硬件时候, 为什么程序必须是交叉兼容的?
网友 qznc
您可以在 Linux 上使用 Plan9 文件系统,不过没几个人关心这个。
基于 Plan9 的方式,在网络上安装声卡听起来像一个有趣的黑科技,但另外一方面,声音是不能接受会断断续续这种延迟。这有软实时要求的场景,Plan9 没有提到如何解决。
网友 tssva
Posix 就那么回事吧,Microsoft 不是已经搞了几个不兼容 POSIX 的成功操作系统。
网友 exabrial
我不得不说,Minoca 代码是优美的:完整的英语描述变量名称和几乎每个函数都有文档。 正如 AngularJS 所揭示的:
更简洁&一致的代码和架构风格 = 更多的贡献者。
比如: https://github.com/minoca/os/blob/master/kernel/io/iobase.c#L959
Minoca OS 官网介绍英文原文:
https://blog.minocacorp.com/minoca-os-a-new-open-source-operating-system-4bb7998df3a7
技术原创及架构实践文章,欢迎通过公众号菜单「联系我们」进行投稿。转载请注明来自高可用架构「ArchNotes」微信公众号及包含以下二维码。
高可用架构
改变互联网的构建方式
长按二维码 关注「高可用架构」公众号
高可用架构主办 GIAC 全球互联网架构大会,百度、京东、蚂蚁金服、360、滴滴、今日头条、熊猫TV、映客等知名互联网企业架构师盘点 2016 年互联网架构,推动技术架构未来。在 11 月购买还可以享受 7 折早鸟票,点击阅读原文进入购买页面。