|
|
|
@ -704,9 +704,8 @@ satp寄存器包含一个44位的PPN,它指向了一个页表的根目录所
|
|
|
|
|
|
|
|
|
|
我们认为,代理内核除了它的实用特性(如以上讨论的对RISC-V的开发和验证)外,具有很好的教学用途。在开发代理内核的过程中,学生只需要将精力放在对计算机的“核心资产”(即处理器和内存)的管理,和通过各种数据结构实现的逻辑到物理的映射上,而无须过多考虑对IO设备控制的细节。这些都有助于降低操作系统开发的复杂度,尽量降低学生开发的难度和复杂度。**同时,代理内核的目标是支撑给定目标应用,无需搞个“大而全”的内核,去运行各种可能的应用**。
|
|
|
|
|
|
|
|
|
|
一个显而易见的事实是:**比起复杂的多进程网络服务器(如[Apache HTTP Server](https://httpd.apache.org/))所需要的操作系统支持而言,简单的Hello world!程序所需要的操作系统支持显然要少得多!**例如,PKE的第一个实验(lab1_1)所就采用了Hello world!程序作为目标应用,而支撑该应用的PKE内核代码只有500多行,这可能是世界上**最小**的“操作系统”了!基于该事实,采用代理内核思想设计操作系统实验的一个更Strong的理由,是我们可以通过对输入的目标应用的迭代(从易到难,从简单到复杂),反推代理操作系统内核本身的“进化”,学生在进化代理内核的过程中完成对操作系统课程知识点的学习。
|
|
|
|
|
一个显而易见的事实是:**比起复杂的多进程网络服务器(如[Apache HTTP Server](https://httpd.apache.org/))所需要的操作系统支持而言,简单的Hello world!程序所需要的操作系统支持显然要少得多!基于该事实,采用代理内核思想设计操作系统实验的一个更Strong的理由,是我们可以通过对输入的目标应用的迭代(从易到难,从简单到复杂),反推代理操作系统内核本身的“进化”,学生在进化代理内核的过程中完成对操作系统课程知识点的学习。
|
|
|
|
|
|
|
|
|
|
需要说明的是,我们的PKE实验代码即可以满足操作系统课程实验的开发需求,同时,所开发的代理内核可以无缝地在Zedboard开发板上运行。这样PKE实验实际上是同时兼顾了教学用途(采用Spike模拟RISC-V环境),和实际工程开发(在Zedboard开发板的PL上搭载需要验证的RISC-V处理器软核)用途的。这样,就为选择PKE实验的学生打下了一定的RISC-V(软硬协同)开发基础。
|
|
|
|
|
|
|
|
|
|
<a name="toolsoftware"></a>
|
|
|
|
|
### 1.7 相关工具软件
|
|
|
|
|