Skip to content

os tutorial os2atc

chyyuu edited this page Dec 12, 2019 · 16 revisions

OS Tutorial on OS2ATC2019 2019.12.15

介绍

学习写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...)

step 0 理解基于RUST语言的编程

要求有基本数据结构,算法基础,相对了解或熟悉C/C++/Java等编程.

阅读书籍并多做练习题

step 1 理解RISC-V CPU

要求有基本计算机组成原理,计算机系统结构基础。

阅读书籍

step 2 阅读rcore os kernel实验文档并搭建实验环境

阅读代码和在线文档

建立实验环境

基于实验楼的在线实验环境(建设中...)

https://www.shiyanlou.com/

基于docker的本地实验环境

运行实验

本实验支持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的相关综述信息

加入微信群

os tutorial微信群

培训内容

  • 写OS变得容易了--RUST和RISC-V对OS设计实现的改变
  • 独立式可执行程序
  • 最小化内核
  • 中断
  • 内存管理
  • 内存虚拟化
  • 内核线程
  • 线程调度
  • 用户线程
  • 文件系统

毕业项目

完成下列项目之一,即可完成毕业,我们会在网络上公布已完成的毕业项目和完成者名单

把rcore移植到荔枝派开发板(基于k210 CPU, 2 cores, rv64)上