值得关注,采用 Rust 自研内核的 DragonOS,具有 Linux 兼容性的操作系统。

news/2024/9/22 14:18:59/

大家好,我是渔夫。

今天分享,一个采用 Rust 语言开发的内核 DragonOS。

DragonOS 龙操作系统,主要面向云计算轻量化场景,完全自主内核的,提供 Linux 二进制兼容性的64位操作系统。

DragonOS 提供优秀完善的架构设计,相比于同体量的其他系统,DragonOS 还支持虚拟化,并在设备模型、调度子系统等方面具有一定优势。

DragonOS 特点

DragonOS 从0开始研发内核及用户态环境,并提供 Linux 兼容性。它具有长远目标的项目,而不止步于”玩具“级别的。

DragonOS 的架构设计良好,具有不错的可维护性和可扩展性。

DragonOS 开源社区成立于2022年7月。现在与教育和研究合作,主要开发者来自包括华南理工大学、广州大学、浙江大学等在内的多所高校,这充分表明了 DragonOS 也注重与教育和研究机构的合作。

DragonOS 正在逐步淘汰原有的C代码,转而使用 Rust,这将提高操作系统的安全性。也计划在未来5年内实现生产环境大规模应用的宏伟目标,并计划提供对 Linux 的100%兼容性。

总结优点

  • 轻量化设计:DragonOS面向云计算场景,注重轻量化,适合在云环境中高效运行。

  • 高性能及高可靠性:DragonOS 旨在构建一个高性能和高可靠性的服务器操作系统,这对于企业级应用尤为重要。

  • 现代化特性:DragonOS 支持虚拟化技术,并在设备模型、调度子系统等方面具有优势,它还在不断推进对云平台和 RISC-V 架构的支持。

  • 安全性:采用 Rust 开发,逐步移除C代码,这将提高操作系统的安全性,减少内存安全问题,提高系统稳定性。

  • Linux二进制兼容性:它能够运行Linux程序,实现了“一次编译,随处运行”的能力,这使得开发者可以更容易地迁移现有的Linux应用程序到DragonOS上。

参考资料:

  • https://dragonos.org/

  • https://github.com/DragonOS-Community/DragonOS

我是渔夫,现在在国内某某云程序员,业余独立开发者,探索副业,生活、技术、非科班转码经验等相关文章,欢迎关注,和渔夫一起成长。


http://www.ppmy.cn/news/1434820.html

相关文章

Linux系统IO

Linux系统中的IO函数主要包括两大类:标准C库中的函数和Linux系统调用。这些函数可以用于文件操作、网络通信、设备控制等多种IO任务。以下是Linux系统中常用的IO函数和系统调用的概述: 标准C库IO函数 这些函数是高级的、封装好的,并且与操作…

docker-compose搭建MongoDB

代码实现 新建文件 docker-compose-MongoDB.yml,复制以下代码 version: 2.2services:mongodb:image: mongo:4.4container_name: mongodbrestart: alwaysports:- "27017:27017"environment:MONGO_INITDB_ROOT_USERNAME: adminMONGO_INITDB_ROOT_PASSWORD…

SQL注入漏洞代码分析

1.代码分析 HTML代码 <form action"#" method"GET"><input type"text" name"id"><input type"submit" name"Submit" value"Submit"> </form>action“#”&#xff0c;将数据提…

会议文字记录工具【钉钉闪记】

当开会时&#xff0c;需要文字记录会议内容&#xff0c;但是打字又慢&#xff0c;可以使用钉钉闪记。 钉钉工作台直接搜索-钉钉闪记

JAVA毕业设计136—基于Java+Springboot+Vue的房屋租赁管理系统(源代码+数据库)

毕设所有选题&#xff1a; https://blog.csdn.net/2303_76227485/article/details/131104075 基于JavaSpringbootVue的房屋租赁管理系统(源代码数据库)136 一、系统介绍 本项目前后端分离&#xff0c;分为管理员、用户、工作人员、房东四种角色 1、用户/房东&#xff1a; …

LeetCode - 283.移动零

目录 题目链接 题目分析 题解代码 题目链接 LeetCode - 283.移动零 题目分析 ​​​​​ 题解代码 #include<iostream> #include<vector> using namespace std;class Solution { public:void moveZeroes(vector<int>& nums) {for (int cur 0, dest -1…

【Taro3踩坑日记】不存在全局配置文件:C:\Users\TYW\.taro-global-config\index.json

鼠鼠想用Taro做一个完整的移动端和小程序项目&#xff0c;结果出师未捷&#xff0c;就遇到个坑。 taro init myApp之后&#xff0c;直接报错&#xff1a;不存在全局配置文件&#xff1a;C:\Users\TYW.taro-global-config\index.json 经过多方查找&#xff0c;有的说要安装taroj…

IEEE PDF eXpress Validating Pdf..之后Error in converting file

在将自己写好的pdf论文转化为IEEE出版的pdf论文格式的时候&#xff0c;错误如下图&#xff1a; 解决办法如下&#xff1a;失败之后&#xff0c;那里有一个选项按钮&#xff0c;叫做manual request&#xff0c;也就是人工转换&#xff0c;点那个申请就可以了&#xff0c;然后也挺…