Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
runninglinuxkernel authored and Figo-zhang committed Jul 7, 2022
1 parent 597a40a commit 2c33e0b
Showing 1 changed file with 32 additions and 5 deletions.
37 changes: 32 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
# BenOS 中文名: 笨OS

笨OS是笨叔的OS,为《奔跑吧Linux内核》第二版新增的一个大综合实验,大家可以当做练手的一个项目,把闲置的树莓派玩起来。
1. 《奔跑吧Linux内核 入门篇》第二版已经交稿,大约在冬季会出来(2020年)。
2. 蓝色《奔跑吧Linux内核》第二版已经交稿,大约在盛夏出来(2020年),基于Linux 5.0和ARM64,第二版全新修订,大约1000页,新增很多新内容。
笨OS是笨叔的OS,为《Arm64体系结构编程与实践》一书操作系统大综合实验,大家可以当做练手的一个项目,把闲置的树莓派玩起来。

《Arm64体系结构编程与实践》一书已经在2022年4月出版。
购买:
JD: https://item.jd.com/13119117.html
当当: http://product.dangdang.com/29384351.html

本书资料下载: 关注"奔跑吧linux社区“微信公众号,输入”arm64“获取。


## BenOS的来由
学习操作系统最有效及最具有挑战性的训练是从零开始动手写一个小操作系统(OS)。目前很多国内外知名大学的操作系统课程的实验都与动手写一个小OS相关,比如麻省理工大学的操作系统课程采用xv6系统来做实验。xv6是在x86处理器上重新实现的Unix第六版系统,用于教学目的。清华大学的操作系统课程也采用类似的思路,他们基于xv6的设计思想,通过实验一步一步完善一个小操作系统:ucore OS。xv6和ucore OS实验都是采用类似英语考试中完成填空式的方式来引导大家实现和完善一个小OS。

动手写一个小操作系统会让我们对计算机底层技术有更深的理解,对操作系统中核心功能,比如系统启动、内存管理、进程管理等内容理解也会有更深刻。我们设计了20多个小实验引导读者在树莓派上从零开始实现一个小操作系统,我们把这个小操作系统命名为:BenOS。
## 实验设备:
1. 硬件开发平台:树莓派3B或者树莓派4B
1. 硬件开发平台:树莓派4B
2. 软件模拟平台:QEMU 4.2
3. 处理器架构:ARMv8架构(aarch64)
4. 开发主机:Ubuntu Linux 20.04
Expand Down Expand Up @@ -63,7 +69,7 @@
26. 实验26:添加多核SMP的支持

## 邀请一起玩BenOS
目前只邀请奔跑吧VIP小伙伴参与BenOS开发。(订阅奔跑吧旗舰篇视频成为奔跑吧VIP小伙伴)
邀请小伙伴参与BenOS开发.

开发要求:
1. 代码设计合理,注释合理。
Expand All @@ -72,11 +78,32 @@
4. patch分割合理,每个小功能一个小patch。
5. 必须在QEMU和树莓派上都能运行,包括树莓派3B和树莓派4B

## 代码checkin要求

所有代码patch都必须经过checkpatch.pl脚本的检查。
```
$ git diff | ./scripts/checkpatch.pl --no-tree
对于新创建文件:
$ git add new_file
$ git diff --cached | ./scripts/checkpatch.pl --no-tree
```
除了printk函数的警告以及文件版权警告不用fix,其他的都需要fix。

## 代码组织
每个小实验一个分支,例如lab01,可以git checkout lab01分支。
每个实验都可以单独维护。

armv8_dev是主开发分支。

master是用来存放文档和芯片手册。

## 奔跑吧视频课程
有兴趣的读者可以订阅奔跑吧旗舰篇视频课程,目前有两季
1. 第一季,内存管理专题
2. 第二季,进程管理,锁,中断三合一
3. 死机黑屏专题,介绍kdump+crash如何解决死机难题。
4. 第3季 Arm64体系结构编程与实践

奔跑吧视频课程,基于Linux 5.0进行讲解,手把手分析Linux 5.0内核源代码。
我们是按照专题来收费,比如您订阅了第一季,以后录制和内存管理相关的视频,都统统免费。
Expand Down

0 comments on commit 2c33e0b

Please sign in to comment.