## challenge-12:写出xv6的注释和分析文档

- 提示: 参考https://com.github/chyyuu/v9-cpu中的os.c
- 要求：分析os.c的源码，根据已有的操作系统的知识，写出os.c的注释和分析技术文档。
- 完成人：

## challenge-11:写出v9-cpu模拟器的分析文档

- 提示: 参考https://com.github/chyyuu/v9-cpu中的em.c
- 要求：分析em.c的源码，根据已有的计算机原理的知识，对x86, MIPS的理解，写出v9-cpu模拟器的分析技术文档。
- 完成人：

## challenge-10:写出c编译器的分析文档

- 提示: 参考https://com.github/chyyuu/v9-cpu中的c.c
- 要求：分析c.c的源码，根据已有的编译原理的知识，写出c编译器的分析技术文档。
- 完成人：

## challenge-1: 

- 提示: 参考https://com.github/chyyuu/v9-cpu中的os2.c, os4.c, os5.c, os.c
- 要求：用简单的代码实现包含用户态映射的页表，并能让os从内核态回到用户态，能正确访问受限制的内存
- [题目的第三小题](https://github.com/chyyuu/os_course_spoc_exercises/blob/master/all/04-1-spoc-discussion.md#v9-cpu)

## challenge0: 用页表限制用户态下可访问的内存

- 提示: 参考https://com.github/chyyuu/v9-cpu中的os2.c, os4.c, os5.c, os.c
- 要求：用简单的代码实现包含用户态映射的页表，并能让os从内核态回到用户态，能正确访问受限制的内存
- [题目的第一小题](https://github.com/chyyuu/os_course_spoc_exercises/blob/master/all/04-1-spoc-discussion.md#v9-cpu)

## challenge1:简化ucore lab1-3，使其能在v9-cpu上运行。

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的CPU模拟器em，一个简化的C子集编译器c, 
- 要求：简化ucore　os lab1~lab3的code，使其能够在v9-cpu上运行.体现lab1~lab3的特点。
- 完成人：


## challenge2:简化ucore lab4-5，使其能在v9-cpu上运行。

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的CPU模拟器em，一个简化的C子集编译器c, 
- 要求：简化ucore　os lab4~lab5的code，使其能够在v9-cpu上运行.体现lab4~lab5的特点。
- 完成人：


## challenge3:简化ucore lab6-7，使其能在v9-cpu上运行。

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的CPU模拟器em，一个简化的C子集编译器c, 
- 要求：简化ucore lab6~lab7的code，使其能够在v9-cpu上运行.体现lab6~lab7的特点。
- 完成人：


## challenge4:简化ucore lab8，使其能在v9-cpu上运行。

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的CPU模拟器em，一个简化的C子集编译器c, 
- 要求：简化ucore lab8的code，使其能够在v9-cpu上运行.体现lab8的特点。
- 完成人：


## challenge５:在v9-cpu上增加debugger功能。

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的CPU模拟器em，有初步的debugger实现，一个简化的C子集编译器c, 
- 要求：扩展em.c，支持debugger功能，可单步调试，设置断点，显示函数调用堆栈，显示内存内容等。
- 完成人：

## challenge6:把v9-cpu编译器用javascript重写

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的C子集编译器c, 
- 要求：　c.c --> c.js

## challenge7:把v9-cpu模拟器用javascript重写

- 提示: 基于　https://com.github/chyyuu/v9-cpu ，已经在ubuntu 15.10上实验过,很容易测试运行起来。
- 状态：已有一个简化的CPU模拟器em，有初步的debugger实现
- 要求：　em.c --> em.js


