|
|
|
@ -17,15 +17,31 @@
|
|
|
|
|
|
|
|
|
|
### 2.1.1 头歌平台
|
|
|
|
|
|
|
|
|
|
PKE实验在[头歌平台](https://www.educoder.net/)上进行了部署,但因为仍在测试阶段,所以没有开放全局选课(感兴趣的读者可以尝试邀请码:2T8MA)。PKE实验(2.0版本)将于2021年秋季在头歌平台重新上线,届时将开放全局选课。
|
|
|
|
|
为支撑《操作系统原理》课程的教学,PKE系列实验在[头歌平台(educoder.net)](https://www.educoder.net/)上进行了部署。
|
|
|
|
|
|
|
|
|
|
<img src="pictures/fig2_install_1.png" alt="fig2_install_1" style="zoom:80%;" />
|
|
|
|
|
<img src="pictures/educoder_1.png" alt="educoder_step1" style="zoom:80%;" />
|
|
|
|
|
|
|
|
|
|
图1.1 头歌课程界面。
|
|
|
|
|
读者可以在头歌平台的主页上,通过选择左上角的“实践课程”入口,然后在搜索框中输入“基于RISCV的操作系统实验”找到PKE实验对应的实践课程:
|
|
|
|
|
|
|
|
|
|
头歌平台为每个选课的学生提供了一个docker虚拟机,该虚拟机环境中已经配置好了所有开发套件(包括交叉编译器、Spike模拟器等),用户可以通过shell选项(*详细使用方法将待2.0上线时更新*)进入该docker环境在该docker环境中完成实验任务。
|
|
|
|
|
<img src="pictures/educoder_2.png" alt="educoder_step2" style="zoom:80%;" />
|
|
|
|
|
|
|
|
|
|
进入课程后,可以先阅读课程实验说明,翻到课程下的实验后就可以通过点击“开始实战”来进入实验了。
|
|
|
|
|
|
|
|
|
|
<img src="pictures/educoder_3.png" alt="educoder_step3" style="zoom:80%;" />
|
|
|
|
|
|
|
|
|
|
进入实战后,会看到如下的界面:
|
|
|
|
|
|
|
|
|
|
<img src="pictures/educoder_4.png" alt="educoder_step4" style="zoom:80%;" />
|
|
|
|
|
|
|
|
|
|
以上界面中,左侧显示的是实验的任务描述以及参考文献链接。右侧是做实验要用到(修改)的源代码文件,在右侧界面的顶端,有一个“命令行”标签,点击进入后可进入命令行模式;顶端的右侧的文件夹图标点击后会出现整个文件目录树,读者可以通过目录树选择要阅读的文件;最后,在右下角有个“评测”按钮,读者可以在完成实验后点击该按钮对自己的实验结果进行评测。
|
|
|
|
|
|
|
|
|
|
**实际上,读者看到的这个界面背后是一个Linux docker虚拟机,在该虚拟机中已经安装好了实验所需要的环境**。包括各种开发工具包、RISC-V交叉编译器等;而评测按钮按下后,会触发虚拟机中的构建(build)脚本,该脚本会自动对代码树进行构建、执行给定的用户程序(如lab1_1中的user/app_helloworld)、最后根据输出的内容对实验结果的正确性进行判断。
|
|
|
|
|
|
|
|
|
|
**然而,由于在头歌平台上的课程,每个实验都对应了一个独立的代码仓库,所以从一个实验到另一个实验的切换无法通过`git merge`命令实现对上一个实验的实验结果的继承**。学生在进行实验切换时,需要将之前实验的代码手动地贴入下一个实验的对应文件中。这一点,我们在课程的“课程须知”中做了说明。一个比较好的方法,是采用类似Notepad++这样类型的软件,记录每个实验的答案(包括答案所在的文件),并在切换到下一个实验时,将答案拷贝粘贴到对应文件。
|
|
|
|
|
|
|
|
|
|
考虑到头歌平台的用户身份(主要有老师和学生)的不同,以及老师开课和学生选课的过程的不同,头歌平台给出了[教师使用手册](pictures/EduCoder平台(教师)使用手册v5.0.0_20200924.pdf)和[学生使用手册](pictures/EduCoder平台(学生)使用手册v5.0.0_20200924.pdf)。**简单来说,为了将头歌平台上的PKE实验课程应用到《操作系统原理》课程教学,教师需要在头歌平台上建立一个教学课堂,并在该教学课堂中选用“基于RISCV的操作系统实验”课程,将该实验课程中的实验有选择性的导入到所建立的教学课堂中,并最后吧所建立的教学课堂的邀请码发给学生**。对于学生而言,只需要用老师所给的邀请码在头歌平台上加入教学课堂即可。以上过程都可以通过头歌主页右上侧的“+”符号(将鼠标移动到该符号上)对应的弹出菜单中选择即可。
|
|
|
|
|
|
|
|
|
|
“基于RISCV的操作系统实验”课程的设计,充分考虑到了实验的模块化以及学制安排的问题。课程共设计了15个实验,其中包含9个基础实验和6个挑战实验(随着时间推移,这个列表可能会进一步增加),实验间的关联见[PKE实验的组成](#pke_experiemnts)。**教师开设教学课堂的时候,可以根据学生的水平、教学预期按需选择不同的实验内容,分期分批地给学生安排实验任务**。
|
|
|
|
|
|
|
|
|
|
<a name="subsec_windows"></a>
|
|
|
|
|
|
|
|
|
|