Skip to content

Commit

Permalink
Merge pull request #20 from syswonder/dev
Browse files Browse the repository at this point in the history
add frame for chap06
  • Loading branch information
coolyjg authored Jun 6, 2024
2 parents c0c8097 + 3a3a947 commit c23253e
Show file tree
Hide file tree
Showing 10 changed files with 195 additions and 0 deletions.
13 changes: 13 additions & 0 deletions src/Contributors.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@

# 贡献者

感谢以下同学、单位的支持和贡献:

|姓名|github ID|单位|
|----|---------|----|
|贾越凯|[@equation314](https://github.com/equation314)|清华大学(博士生)|
Expand All @@ -18,3 +20,14 @@
|徐金阳|[@AuYang261](https://github.com/AuYang261)|北京理工大学(本科生), 北京大学(硕士生)|
|周智|[@Sssssaltyfish](https://github.com/Sssssaltyfish)|清华大学(本科生)|

## 如何贡献

RuxOS 项目地址: [https://github.com/syswonder/ruxos](https://github.com/syswonder/ruxos)

邮件列表: [[email protected]](https://maillist.syswonder.org/mailman3/lists/unikernel.syswonder.org/)

欢迎订阅邮件列表,关注我们的开发讨论例会。欢迎关注 RuxOS 仓库,对其中正在解决、开发的 [issue](https://github.com/syswonder/ruxos/issues)[feature](https://github.com/syswonder/ruxos/milestones) 做出您的一份贡献。




29 changes: 29 additions & 0 deletions src/chap06/crates/algorithms.md
Original file line number Diff line number Diff line change
@@ -1 +1,30 @@

# 内存分配及调度算法

RuxOS 底层组件实现了多种内存分配和任务调度算法,提供给用户灵活的选择,针对不同类型的应用进行特殊优化。

## 内存分配算法

### buddy 算法


### slab 算法


### tlsf 算法



## 任务调度算法

### FIFO 算法


### RR 算法


### CFS 算法




16 changes: 16 additions & 0 deletions src/chap06/crates/arch-related.md
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@

# 架构相关

### ARM GIC


### ARM PL011


### DTB


### Linux 错误类型 axerrno




20 changes: 20 additions & 0 deletions src/chap06/crates/drivers.md
Original file line number Diff line number Diff line change
@@ -1 +1,21 @@

# 各类驱动


### VirtIO-block


### VirtIO-net


### VirtIO-gpu


### VirtIO-pco


### VirtIO-9p




32 changes: 32 additions & 0 deletions src/chap06/crates/fs-IO.md
Original file line number Diff line number Diff line change
@@ -1 +1,33 @@

# 文件系统及 IO 类

RuxOS 底层组件支持如下文件系统,具体的文件系统封装(如fatfs)在功能模块层。

- [设备文件系统 devfs](#设备文件系统-devfs)

- [内存文件系统 ramfs](#内存文件系统-ramfs)

- [虚拟文件系统层 vfs](#虚拟文件系统层-vfs)

## 设备文件系统 devfs

在 Linux 的设计理念中,将各类设备(网络设备、块设备、串口设备等)抽象为了文件,由 `/dev` 挂载的设备文件系统进行统一管理,通过统一的 read/write 接口来实现对设备的访问。RuxOS 遵循了这样的理念,将设备抽象为文件,设计了设备文件系统的相关接口,包括挂载文件系统、创建目录、删除设备文件等。

在 RuxOS 初始化的时候,将设备文件系统挂载在了根目录,并且初始化了如下设备:

- 空设备 /dev/null。对 null 设备发起读将会返回空,发起写将直接返回写的长度。

- 随机数设备 /dev/random。读 random 设备发起读能够以字节的形式返回给定长度的随机数,发起写将直接返回写的长度。

- 零设备 /dev/zero。对 zero 设备发起读,将对传入的缓冲 buffer 填入指定长度的0;对 zero 设备发起写将直接返回写的长度。

## 内存文件系统 ramfs



## 虚拟文件系统层 vfs





30 changes: 30 additions & 0 deletions src/chap06/crates/kernel-tools.md
Original file line number Diff line number Diff line change
@@ -1 +1,31 @@

# 内核数据结构


### capability



### flatten objects


### lazy init



### linked list



### ratio


### spinlock


### timer list


### tuple for each


11 changes: 11 additions & 0 deletions src/chap06/crates/pte-pt.md
Original file line number Diff line number Diff line change
@@ -1 +1,12 @@

# 页表项及页表

### 页表项 page table entry


### 页表 page table


### percpu 类、宏


10 changes: 10 additions & 0 deletions src/chap06/modules/config-and-initialization.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,13 @@



### RuxOS 基本参数配置 ruxconfig


### RuxOS 硬件抽象层 ruxhal


### RuxOS 运行时 ruxruntime



25 changes: 25 additions & 0 deletions src/chap06/modules/kernel-submodules.md
Original file line number Diff line number Diff line change
@@ -1 +1,26 @@

# 内核子模块


### 内存分配模块 axalloc


### 网络模块 axnet


### 任务调度模块 ruxtask


### 驱动模块 ruxdriver


### 9pfs 模块 rux9p


### 显示模块 ruxdisplay


### 文件系统模块 ruxfs



9 changes: 9 additions & 0 deletions src/chap06/modules/tools.md
Original file line number Diff line number Diff line change
@@ -1 +1,10 @@
# 调试及开发工具

### 日志调试工具 axlog


### 同步工具 axsync


### 快速用户态锁 ruxfutex

0 comments on commit c23253e

Please sign in to comment.