十八、Xv6代码导读(调试工具配置;调试系统调试执行)

        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):保存进程寄存器现场的内存

你可能感兴趣的:(操作系统设计与实现,系统架构)