BT

你的观点很重要! 快来参与InfoQ调研吧!

开源操作系统汇总

| 作者 李士窑 关注 0 他的粉丝 发布于 2014年10月28日. 估计阅读时间: 7 分钟 | ArchSummit社交架构图谱:Facebook、Snapchat、Tumblr等背后的核心技术

开源操作系统即公开源代码的操作系统软件,它遵循开源协议使用、编译和发布。自由和开放源代码软件中最著名的是Linux,它是一种类Unix的操作系统。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程中各种工具和数据库的操作系统。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。流行的Linux版本有UbuntuDebianFedoraopenSUSECentOSRed Hat等,移动开发领域使用最广泛的Android也是基于Linux内核开发的操作系统。

除了Linux外,还有很多其它著名的开源系统,现对Linux以外的开源操作系统进行一次搜集和整理,详细内容如下:

1、KnightOS

KnightOS是一个专为TI Z80计算器编写的开源操作系统,其代码托管在GitHub上。KnightOS提供了很多新特性,如开源,支持多任务,可同时运行32个任务;具有基于树型结构的文件系统;具有跨平台特性,能够支持包括最新的银版彩屏计算器在内的9种计算器、具有内存安全特性,重启后不会影响用户数据;KnightOS内核具有独立特性,它采用类 Unix 的环境,使用Z80的汇编语言编写,开发者可以用它来编写自己的操作系统;需要较少的内存,使用31K的内存即可运行程序。

2、ToAruOS

ToAruOS是一个由伊利诺伊大学计算机科学本科生开发的业余爱好操作系统,其代码托管在GitHub上。ToAruOS可在POSIX和x86架构上运行,其最终的目标是一个微内核。ToAruOS的主要功能包括对进程和线程的支持、ELF二进制的支持、运行时加载模块、管道(Pipe)和各种类型的终端设备(TTY)的支持、虚拟文件系统的支持、EXT2文件系统的支持、信号量支持等。

3、OSv

OSv是由Dor Laor和Avi Kivity领导的以色列创业公司Cloudius Systems发布的虚拟化、开源的操作系统,采用BSD许可协议授权,其代码托管在GitHub上。OSv的开发动机是由于今天大部分的应用都是跑在云端的 GNU/Linux虚拟机上,而GNU/Linux在设计之初并非为虚拟化而设计,像多用户和多进程的模式不但造就了复杂性而且也成为今天的 hypervisor的性能障碍。OSv旨在在云端取Linux。OSv能够使得一个应用程序跑在一个虚拟机上,这样就不需要kernel-land到user-land 的隔离从而降低上下文切换的损耗;在启动速度方面,OSv只需要2秒就能启动完成;在安全性方面,目前,OSv支持检测use-after-free;在网络方面,OSv完全继承了FreeBSD的TCP/IP协议栈;在文件系统方面,OSv支持ZFS。另外,OSv还为应用程序提供了新的API,既支持原生的Linux应用,还支持原生的JVM和基于JVM构建的应用。

4、B2G

B2G是“Boot To Gecko”的缩写,它是Mozilla公司基于Web标准开发的完全开放的移动操作系统,其代码托管在GitHub上,从系统本身到应用程序完全由HTML5、CSS和JS来写的。B2G采用了linux内核和部分Android技术。目前,B2G已经被移植到了Galaxy S II、Nexus S 4G等Android手机上。B2G的前期目标是低价的功能机市场,先让功能机用户以同样的价格用上智能机。B2G不同于Android和IOS等平台,它完全基于Web标准,没有私有API和SDK,完全托付给Web API,这样就省去了开发SDK的步骤,开发者也省去了安装调试以及学习SDK的步骤。另外,B2G还有一个与众不同的功能,用户能够查看应用的源码,就好像使用浏览器可以察看网页代码一样方便。

5、jsos

jsos是一个由来自澳大利亚的Charlie Somerville 于2010年使用JavaScript编写的开源操作系统,其内核、C库、编译器和JavaScript虚拟机都遵守简单的BSD 协议发布,其中内核包括了一些来至ToAruOS操作系统的代码。自从两年前最后一次的更新维护,Jsos至今还没有继续更新。

6、Singularity

Singularity是一种实验性、开源的微内核操作系统,它由微软研究院设计、开发,该操作系统的核心、驱动程序以及应用程序都以“受控代码”写成。Singularity的设计不以其性能为标准,而以系统稳定性作为首要标准。Singularity的低级x86中断使用汇编语言和C语言写成;Singularity的硬件抽象层使用C++语言编写,并运行在安全模式下;另外,并且也有部分C代码负责调试工作。

7、BareMetal OS

BareMetal OS是一个为X86-64系统开发、开源的64位操作系统,它使用汇编语言编写且能够使用C/C++开发应用程序,其代码托管在GitHub上。该系统的开发有三个适用场景,第一个是使用高性能的计算,能够作为HPC集群的节点,也能够最为但认为系统以运行高负荷的计算任务;第二个是嵌入式应用,提供了基于x86-64硬件的嵌入应用开发平台;第三个是提供教育和教学使用,提供了基于X86-64环境的汇编语言的学习和实验的环境。目前,该系统只是尽可能提供有用的功能,还没有将其打造成通用操作系统(如Mac OS X、Linux、Windows)的计划。

开源操作系统具有安全、稳定、免费或少许费用、能够快速修复漏洞、有强大社区的大力支持等优点,同时还为大家提供了学习和交流的资源。开源操作系统在服务器市场已占有了绝对的优势,同时在个人PC市场也正在发展壮大。目前,就连微软对待Linux的态度都有了巨大的转变,已从原来的将Linux比作毒瘤到现在的宣布:微软爱Linux的巨大转变。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

学习了,不过还有好多没有 by Kraft Bai

比如minix, freedos, reactos,haiku, hurd还有很多开源嵌入式系统 等等。更不用说大名鼎鼎的bsd系列,opensolaris。

没有FreeBSD不科学啊 by dongbin guo

没有FreeBSD不科学啊

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

2 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT