这是什么

尽信书不如无书

如果你已经看到这里,说明你应该有了足够的计算机基础来面对我们接下来可能遇到的难题。在这个大章节中,我们会用一个个小例子来让你尽可能快速地学习一门名为 Rust 的编程语言,并以此作为之后进行 rCore 实验的基础。

这一章的“食用”指南

我们希望你能亲手将每一章的代码都(除了注释之外)原封不动地抄下来。你可以不知道它究竟是什么意思,就先抄下来。如果有一些问题想不明白,不妨先放下来,看看后面的章节再说。

我们提供的代码中有一部分是包含错误的,它们并不一定可以正确地运行起来。但是我们会注明究竟哪里是有错误的,你可以通过“注释”等方式使得程序可以成功编译。

免责声明

我们所编写的这本书并不是一本正经的 Rust 语言教程,里面可能会有若干概念性或是事实性的错误。如果你希望对 Rust 语言有细致全面且正确的了解,我们推荐你直接参考官方文档或专业书籍进行学习。

我们会尽量保证我们所编写的内容是正确的,不过里面不可避免地会有一些错误。可能产生错误的段落,我们会使用unsafe {}标签进行标注。希望各位读者可以抱着批判的眼光进行阅读,我们欢迎各种批评与指正。

Rust 简介

Rust 是一门程序设计语言,其主要的特点就是高性能和高安全。在保证内存安全和线程安全的前提下还可以保持和 C++ 程序一样的运行效率是 Rust 最被人称赞的一点。Rust 使用了一些特殊的想法(比如说所有权机制)在编译阶段避免了许多会导致内存不安全的因素,同时不采用垃圾回收机制(比如 Java 、Javascript 、Python 都有这样的机制)而是采用了 RAII 与引用技术的方法来确保空间的申请与回收[1]从 2016 年起,Rust 一直是 StackOverflow 上“最受程序员喜爱的语言”第一名[2],可以想见这门语言的受欢迎程度。

Rust 这门语言有非常多神奇的特性,与此同时它还非常底层,如同 C 和 C++ 一样编译之后可以直接运行在板子上,再加上高安全与高性能,使得 Rust 这门语言非常适合进行操作系统开发。借着这次实验,我们可以一边学习 Rust 这门新语言,一边在 rCore 中练习自己的 Rust 编程技巧以及对于操作系统的理解。

参考资料

最后更新于