.. sphinx-rtd-template documentation master file, created by sphinx-quickstart on Fri Aug 20 23:02:53 2021. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. os-Tutorial-Book 2021 Autumn =============================================== .. toctree:: :maxdepth: 2 :caption: 正文 :hidden: 0setup-devel-env chapter1/index chapter2/index chapter3/index chapter4/index chapter5/index chapter6/index chapter7/index .. toctree:: :maxdepth: 2 :caption: 开发注记 :hidden: setup-sphinx 项目简介 ----------------------------------------------- 本教程展示了如何 **从零开始** 用 **Rust/C** 语言写一个基于 **RISC-V** 架构的 **类 Unix 内核** 。 为 Rust 和 C 各自文档合并而成,用于 2021 年秋季学期操作系统课堂教学。 导读 ----------------------------------------------- 请先阅读 :doc:`0setup-devel-env` 完成环境配置。 以下是读者为了完成实验需掌握的技术,你可以在实操中熟悉它们。 - 阅读简单的 Makefile 文件; - 阅读简单的 RISC-V 汇编代码; - git 的基本功能,解决 git merge 冲突的办法; - 实验所需语言的基本语法等: - Rust 基本语法和一些进阶语法,包括 **Cargo 项目结构、Trait、函数式编程、Unsafe Rust、错误处理等** 。 - C 基本语法 本文档使用了一些插件来合并两种语言的文档,你会见到许多这样的模块: .. tabs:: .. code-tab:: rust println!("Hello OS"); .. code-tab:: c printf("Hello OS"); 本文档正在逐渐合并分属于两种语言的文档。 鸣谢 ---------------------- 本项目基于 `2021 年春季学期操作系统实验指导书 `_ ,重构的目标是在保留结构的基础上屏蔽不必要的细节,缩短篇幅,优化语言,降低阅读成本。 如果你觉得本教程某些章节不够细致或不够连贯,可以参考春季学期实验指导书的对应章节。 .. note:: 这是一个注解,以这种方式出现的卡片提供了非必要的背景知识,你可以选择忽略。 .. attention:: 虽然实验本身在总评中占比有限,但根据往届经验,考试中可能大量出现与编程作业、思考题、代码实现思路直接相关的题目。 项目协作 ---------------------- - 待补充 - 时间仓促,本项目还有很多不完善之处,欢迎大家积极在每一个章节的评论区留言,或者提交 Issues 或 Pull Requests,让我们 一起努力让这本书变得更好!