From 8d0dbae5549d338c20fb39e0a48d91f8992ae5c2 Mon Sep 17 00:00:00 2001 From: chyyuu Date: Tue, 15 Mar 2016 21:19:11 +0800 Subject: [PATCH] add v9_cpu related challenges --- related_info/labX/v9_cpu_X.md | 128 +++++++++++++++++++++++++----------------- 1 file changed, 78 insertions(+), 50 deletions(-) diff --git a/related_info/labX/v9_cpu_X.md b/related_info/labX/v9_cpu_X.md index e71990a..248f8bd 100644 --- a/related_info/labX/v9_cpu_X.md +++ b/related_info/labX/v9_cpu_X.md @@ -1,54 +1,82 @@ -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的特点。 -完成人: - - -challenge5:在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 +## 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的特点。 +- 完成人: + + +## challenge5:在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