xv6-simplified 0.1
简化版xv6
|
▼ src | |
▼ include | |
buf.h | 定义结构体buf,用于表示一个磁盘块的缓存,其中包含了一些元数据 |
defs.h | |
elf.h | ELF可执行文件的格式化 |
fat32.h | Fat相关数据结构 |
fcntl.h | 文件属性 |
file.h | 文件相关数据结构 |
fsutils.h | 定义一些在fat32.c中用到的工具函数 |
memlayout.h | 记录各个device在内存中的布局、地址位置 |
param.h | 定义了一些系统参数的常量 |
proc.h | 进程相关数据结构定义 |
riscv.h | 操作riscv底层结构的一系列函数和数据结构 |
stat.h | Stat结构 |
syscall.h | 记录系统调用号 |
types.h | |
virtio.h | 定义virtio设备,包括mmio接口,virtio描述符 |
▼ kernel | |
bio.c | 磁盘缓存管理模块,维护了一个buf结构体数组,实现了缓存的分配、读写、释放等功能 |
console.c | 命令行相关处理 |
exec.c | 系统调用sys_exec会调用的exec()函数,以及其他辅助函数 |
fat32.c | FAT32文件系统相关 |
file.c | 文件相关数据结构和函数 |
kalloc.c | 申请物理页面(allocator)以及释放 |
main.c | 从start.c(start())执行mret跳转而来,当前为S模式 |
plic.c | Riscv Platform Level Interrupt Controller(PLIC) 平台级中断控制 |
printf.c | 打印相关操作 |
proc.c | 进程相关定义 |
string.c | 字符串与内存空间赋值相关操作 |
syscall.c | 系统调用相关处理函数,包括系统调用、参数获取等 |
sysfile.c | 与文件相关的具体系统调用函数 |
trap.c | 中断实现 |
uart.c | Uart相关寄存器操作 |
virtio_disk.c | Qemu's virtio磁盘设备的驱动程序 |
vm.c | 虚拟内存管理的实现,包括创建和管理页表,以及将虚拟地址映射到物理地址 |
▼ mkfs | |
mkfs.c | |
▼ sbi | |
sbi_main.c | |
▼ user | |
init.c | Init程序,最初始的用户级别程序 |
printf.c | |
ulib.c | |
umalloc.c | |
user.h |