Xv6是由麻省理工学院(MIT)为操作系统工程的课程(代号6.828),开发的一个教学目的的操作系统。Xv6是在x86处理器上(x即指x86)用ANSI标准C重新实现的Unix第六版(Unix V6,通常直接被称为V6)。(百度百科)
一、xv6介绍
Unix传奇
xv6:Unix v6现代的克隆
接近完整的Unix Shell的体验
1、基本工具集(wc,echo,cat。。。)
2、命令执行,管道,重定向
(1)支持多处理器
(2)Now in Risc-V
Xv6的进程
Xv6 调试用户代码
Xv6系统调用
(1)关闭中断
(2)复制$pc到$sepc
(3)设置$sstatus为S-mode
(4)设置$scause为trap的原因(ecall,8)
(5)跳转到$stvec($pc=$stevc)
在Xv6
(1)Trampoline(跳板):$stevec=0x3ffffff000(只读)
(2)Trapframe(0x3fffffe000):保存进程寄存器现场的内存