-
Notifications
You must be signed in to change notification settings - Fork 378
os tutorial os2atc
学习写OS不是那么难--基于RUST语言 && 面向RISC-V CPU
学习写操作系统内核很困难吗?我们认为这是过去的历史了。如果你有一定的基础,比如有数据结构和编程能力,且愿意学习新知识,比如学习RUST语言编程和RISC-V CPU的一些与OS相关的硬件知识,那么你会发现,也许学习写一个OS不是那么困难的事情。在这个tutorial中,我们讲介绍如何一步一步地设计并实现从OS加载,启动到能够运行应用程序的6个阶段步骤,让你体会到采用新技术和新思路来实现一个面向特定领域的OS不是那么困难。也许在未来的AIoT领域,你可以实现自己的OS。
由于场地有限,需要提前在 os2atc2019会议网站上报名参加os tutorial,且被通过(会有邮件回复确认报名成功)
人数限制:只有60个座位的实验室
有较强编程能力的高年级本科生,研究生和工程师;从事系统软件相关研究/开发的从业者。尤其适合:深入地系统化学习;追求技术细节和技术突破。 先修要求:1、较强编程能力;2、提前自学RUST语言编程 3、了解计算机组成原理和RISC-V CPU
12月15日上午 9:00~12:00
深圳市鹏城实验室(到后请询问具体上课地点)
- 了解linux命令行方式的基本操作
- 了解git基本操作
- 学过编程,数据结构,组成原理,操作系统
- (推荐)安装了ubuntu 18.04 x86-64的笔记本电脑(能上wifi或4G网络)
- (推荐)推荐提前安装好基于docker的实验环境(看下面“建立实验环境”一节)
- (推荐)提前尝试下载/编译/运行 https://github.com/rcore-os/rCore_tutorial 中的代码(如果你熟悉linux/git/rust...)
要求有基本数据结构,算法基础,相对了解或熟悉C/C++/Java等编程.
要求有基本计算机组成原理,计算机系统结构基础。
- 自学PPT for RIS-V特权指令级架构
- 自学RISC-V手册:一本开源指令集的指南 重点是第10章
- 自学RIS-V特权指令级规范 重点是与OS相关的特权硬件访问的内容
运行实验
本实验支持docker环境下开展,在docker hub上已有可用的docker环境,在当前目录下运行make docker
将会从云端拉取docker镜像,并将当前目录挂载到/mnt位置。
# ---在本机环境中的命令---
git clone https://github.com/rcore-os/rCore_tutorial # 取得os tutorial: rcore step by step 源码
cd rCore_tutorial # 进入实验项目目录
make docker # 建立本机docker环境并进入docker中的终端
# ---在docker实验环境中的命令---
cd /mnt
# 然后可以进行编译/qemu中运行实验。例如:
cd usr
make user_img
cd ../os
make build
make run
如有兴趣,也可以自行构建/调整docker镜像,相关的Dockerfile文件在当前目录下,我们提供了make docker_build
命令来帮助构建,详情请看Dockerfile和Makefile
- Rust-OS-comparison
- 视频:半个世纪过去了,是时候用Rust重写操作系统了吗?(CC字幕)
- 视频+PPT:金枪鱼之夜:陈嘉杰同学介绍 rCore v0.2.0 实现历程和进展
- PPT: 尝试用RUST写教学操作系统
- 写OS变得容易了--RUST和RISC-V对OS设计实现的改变
- 独立式可执行程序
- 最小化内核
- 中断
- 内存管理
- 内存虚拟化
- 内核线程
- 线程调度
- 用户线程
- 文件系统
完成下列项目之一,即可完成毕业,我们会在网络上公布已完成的毕业项目和完成者名单