传统宏内核架构和微内核架构的操作系统在性能上有一些可以优化的地方,但在具体实施上又很难做到。
ArceOS采用了一系列的新技术来解决传统操作系统的安全问题。
ArceOS在架构设计上,虽然目前的重点是基于unikernel架构,但也通过一系列的架构设计,支持宏内核和微内核架构
操作系统开发一直是一个比较困难的事情,我们看到的实际情况是操作系统(如Linux)随着时间的发展越来越庞大臃肿,难以维护和开发。我们认为将来的操作系统不是像现在统治世界的 Linux、Windows 那样庞大而通用,而是各种可以迅速组合形成的,并且功能丰富多彩的组件化定制操作系统,能够快速适配未来多种多样的处理器、加速器、外设和应用需求,在开发的便捷性、性能和安全性等方面优于已有的通用操作系统。但如何设计组件化定制操作系统是一个需要深入思考的挑战性问题。为此我们一直在思考能否通过基于泛型的独立功能组件来快速构建各种领域专用的OS。
我们认为开发操作系统的痛点是开发者编写操作系统软件很繁琐,需要关注的细节太多。其根本原因是操作系统内部模块广泛的相互依赖带来的软件复杂性,以及操作系统的自包含性带来的软件不可重用性。我们需要把操作系统看出是一个多层次的软件栈,分析操作系统中各个功能的层次划分,各个功能模块具有独立性,从而形成面向操作系统的层次化软件开发方法。
我们希望操作系统开发者能够快速创建一个面向特定领域的操作系统内核,且对于每个应用程序,能确保最佳性能、高安全和高可靠的需求,同时能轻松移植现有的应用程序。为此,需要建立如下一些设计原则:
简而言之,ArceOS是一个基于Rust语言的Unikernel,它的目标是为云计算平台提供一种高性能、高可靠、高安全、易开发的操作系统解决方案。ArceOS的设计思路是将操作系统的核心功能和应用程序紧密集成在一起,形成一个单一的可执行镜像,这个镜像包含了应用程序所需的所有功能组件,包括网络协议、文件系统和设备驱动等。而组成ArceOS的功能组件是可以独立存在的,并可以与其它功能组件组合,形成新的领域操作系统内核。