写点什么

开源操作系统汇总

  • 2014-10-28
  • 本文字数:2267 字

    阅读完需:约 7 分钟

开源操作系统即公开源代码的操作系统软件,它遵循开源协议使用、编译和发布。自由和开放源代码软件中最著名的是 Linux ,它是一种类 Unix 的操作系统。Linux 可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。严格来讲,Linux 这个词本身只表示 Linux 内核,但实际上人们已经习惯了用 Linux 来形容整个基于 Linux 内核,并且使用 GNU 工程中各种工具和数据库的操作系统。Linux 存在着许多不同的 Linux 版本,但它们都使用了 Linux 内核。流行的 Linux 版本有 Ubuntu Debian Fedora openSUSE CentOS Red 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-10-28 07:244189
用户头像

发布了 92 篇内容, 共 46.4 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

EMQ走进亚马逊云科技:携手云端,共筑「面向未来」的IoT基础设施底座

EMQ映云科技

物联网 IoT 解决方案 亚马逊云科技 9月月更

用户组角色绑定(原生element-plus-ui表格)

青柚1943

Element Plus Vue3 Typescript

kube-prometheus 监控系统使用与总结

CTO技术共享

测试面试真题|抖音的广告系统前后台,该如何测试?

霍格沃兹测试开发学社

软件测试 | 测试开发 | iOS自动化真机测试验证环境过程中常见问题解析

测吧(北京)科技有限公司

测试

个推直播预告:9月26日,一线专家分享APP数字化运营方法与实践

个推

数字化 用户画像 标签体系

软件测试 | 测试开发 | 一文搞定 Postman 接口自动化测试

测吧(北京)科技有限公司

测试

【Vue2】简易Vue2-简易图书借阅管理

Sam9029

Vue 前端 9月月更

软件测试 | 测试开发 | 一文彻底理解 Cookie、Session、Token

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 不懂PO 设计模式?这篇实战文带你搞定 PO

测吧(北京)科技有限公司

测试

搭建在线帮助中心是企业最重要的第一步

Baklib

企业 在线文档 帮助中心 帮助文档

性能测试知识科普(二):测试策略

老张

性能测试

计算机网络——封装成帧和透明传输

StackOverflow

编程 计算机网络 9月月更

获得多家大厂SSP的清华应届毕业生—田原:大厂各轮面试中开源经验有什么用|《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

数据库 开源 求职 Apache IoTDB 企业号九月金秋榜

提质增效,安全灵活,阿里云EDA上云方案让芯片设计驶入高速路

阿里云弹性计算

HPC EDA 高性能计算 芯片开发

企业FAQ页面案例展示及FAQ站点搭建技巧

Baklib

企业 FAQ

阿里云PolarDB-X 荣获“2022 OSCAR 尖峰开源项目及开源社区”奖

阿里云数据库开源

阿里云 分布式数据库 开源数据库 PolarDB-X 可信开源

软件测试 | 测试开发 | JAR 文件规范详解

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | Python中日志异步发送到远程服务器

测吧(北京)科技有限公司

测试

Saas企业数字化必不可少的工具——帮助中心

Baklib

SaaS 企业 数字化 帮助中心

Onedev v7.4.14 路径遍历漏洞分析(CVE-2022-38301)

墨菲安全

网络安全 开发安全 漏洞分析 软件供应链安全

深入理解MYSQL之缓存

C++后台开发

MySQL 数据库 缓存 中间件 后端开发

软件测试 | 测试开发 | app自动化测试(iOS)元素定位(新手篇)

测吧(北京)科技有限公司

测试

阿里MaxCompute生态团队负责人—李睿博 : 参与开源,让自己的履历与众不同|《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

数据库 线上讲座 Apache IoTDB 企业号九月金秋榜

大厂校招SSP获得者—张金瑞 :开源项目,求职者的最佳简历|《大神详解开源 BUFF 增益攻略》讲座回顾

Apache IoTDB

开源 求职 Apache IoTDB 企业号九月金秋榜

干货分享|使用 Istio 实现灰度发布

北京好雨科技有限公司

istio #Kubernetes#

测试面试真题|从手工到测开,一位测试媛宝妈的 BAT 大厂逆袭之旅

霍格沃兹测试开发学社

测试人生 | 30 而立之年的蜕变,6 个月完成从国企到 BAT 大厂测开的华丽转身

霍格沃兹测试开发学社

软件测试 | 测试开发 | iOS 自动化测试踩坑(一): 技术方案、环境配置与落地实践

测吧(北京)科技有限公司

测试

软件测试 | 测试开发 | 《穿越时空的git》之创建版本库和常用命令操作

测吧(北京)科技有限公司

测试

JS-内置对象API-Array(数组)-(二)-不改变原数组的API-篇

Sam9029

JavaScript 前端 9月月更

开源操作系统汇总_语言 & 开发_李士窑_InfoQ精选文章