diff --git a/related_info/labX/lab1_X.md b/related_info/labX/lab1_X.md new file mode 100644 index 0000000..cb21548 --- /dev/null +++ b/related_info/labX/lab1_X.md @@ -0,0 +1,12 @@ +challenge1: 实现内核态与用户态之间的来回切换 +状态:已完成,在branch master中的labcodes_answer/lab1_result + + +challenge2: 用敲键盘实现用户模式内核模式切换 +状态:已完成,在branch lab1_X中的labcodes_answer/lab1_result +完成人:尹治宏 (yinzhihong12@msn.com) + + +challenge3: 可以在真实x86机器上用grub bootloader引导ucore kernel +状态:已完成 +完成人:王欢 (mikewang.exe@gmail.com) diff --git a/related_info/labX/lab2_X.md b/related_info/labX/lab2_X.md new file mode 100644 index 0000000..f69feb1 --- /dev/null +++ b/related_info/labX/lab2_X.md @@ -0,0 +1,9 @@ +challenge1: buddy system(伙伴系统)的page分配算法 +提示:参考“http://coolshell.cn/articles/10427.html +状态:未完成 +完成人: + +challenge2: slub分配算法(任意大小的内存单元) +提示:参考 http://www.ibm.com/developerworks/cn/linux/l-cn-slub/ +状态:未完成 +完成人: diff --git a/related_info/labX/lab3_X.md b/related_info/labX/lab3_X.md new file mode 100644 index 0000000..db10adb --- /dev/null +++ b/related_info/labX/lab3_X.md @@ -0,0 +1,15 @@ +challenge1:实现识别dirty bit的 extended clock页替换算法 +状态:未完成 +完成人: + +challenge2:实现工作集页替换算法 +状态:未完成 +完成人: + +challenge3:实现缺页率页替换算法 +状态:未完成 +完成人: + +challenge4:实现LIRS页替换算法 +状态:未完成 +完成人: diff --git a/related_info/labX/lab4_X.md b/related_info/labX/lab4_X.md new file mode 100644 index 0000000..bbea7bf --- /dev/null +++ b/related_info/labX/lab4_X.md @@ -0,0 +1,3 @@ +challenge1: 实现内核线程的按需分页(demanding page)机制 +状态:未完成 +完成人: diff --git a/related_info/labX/lab5_X.md b/related_info/labX/lab5_X.md new file mode 100644 index 0000000..f0df553 --- /dev/null +++ b/related_info/labX/lab5_X.md @@ -0,0 +1,7 @@ +challenge1: 实现用户进程的Copy on Write机制 +状态:未完成 +完成人: + +#challenge1: 实现用户线程,且内核无法“看到”用户线程(即需要在用户态完成线程切换) +状态:未完成 +完成人: diff --git a/related_info/labX/lab6_X.md b/related_info/labX/lab6_X.md new file mode 100644 index 0000000..63120a1 --- /dev/null +++ b/related_info/labX/lab6_X.md @@ -0,0 +1,20 @@ +challenge1: 参考Linux 的CFS,实现简化的CFS调度算法(基于红黑树) +状态:未完成 +完成人: + + +challenge2: 参考Linux2.6的O(1)调度器,实现简化的O(1)调度算法 +状态:未完成 +完成人: + + +challenge3: 实现面向Real-time系统的RM/EDF调度算法 +状态:未完成 +完成人: + + +challenge4: 短作业优先(SJF)调度算法/高响应比优先调度算法 +状态:未完成 +完成人: + + diff --git a/related_info/labX/lab7_X.md b/related_info/labX/lab7_X.md new file mode 100644 index 0000000..7de4255 --- /dev/null +++ b/related_info/labX/lab7_X.md @@ -0,0 +1,12 @@ +challenge1: 实现内核级的进程/线程抢占机制 +状态:未完成 +完成人: + +challenge2: 参考Linux的RCU,实现简化的RCU机制 +提示: +http://www.ibm.com/developerworks/cn/linux/l-rcu/ +http://www.diybl.com/course/6_system/linux/Linuxjs/20081117/151814.html +状态:未完成 +完成人: + + diff --git a/related_info/labX/lab8_X.md b/related_info/labX/lab8_X.md new file mode 100644 index 0000000..02ac6b0 --- /dev/null +++ b/related_info/labX/lab8_X.md @@ -0,0 +1,8 @@ +challenge1 参考unix的pipe/fifo机制,实现基于VFS接口的pipe/fifo机制 +状态:未完成 +完成人: + + +challenge 支持现有文件系统之外的其他文件系统的读写 +状态:未完成 +完成人: diff --git a/related_info/labX/labx_X.md b/related_info/labX/labx_X.md new file mode 100644 index 0000000..bd5fb94 --- /dev/null +++ b/related_info/labX/labx_X.md @@ -0,0 +1,8 @@ +challenge1:完善ucore lab smp实现,扩展ticket lock机制(参考linux的ticket lock实现),能够在真实机器上把lab8跑起来,并能看出出smp 调度和同步互斥的特点 +状态:可基于田博的ucore lab smp当前实现(完成大部分) +完成人: + +challenge2:改进并简化一个简化的CPU模拟器(这个简化CPU的目的就是为了支持ucore OS的进一步简化),把ucore lab8移植到此简化CPU上。 +状态:已有一个简化的CPU模拟器ex,一个简化的C子集编译器4c,一个基于此C子集的简化的xv6,4c编译的xv6可以运行在ex上。ex,4c,xv6的源码都在2000行以内。 +要求:改进简化CPU模拟器ex,使得它像一个稍微扩展一点的Y86,修改C子集编译器4c,支持改进的ex,把xv6改成lab1~lab8的code.体现lab1~lab8的特点。此项目比较有意思,有一定的综合性,给分也会偏多一些。 +完成人: