Shell挑战性任务问题集合

戴波(助教)
🔖︎ 5 订阅
👍︎ 8 点赞
🔝︎ 已置顶
❌︎ 已关闭
✔︎ 由课程团队认证
  1. 不能修改课程组下发的user/true.c,user/false.cuser/sleep.c文件。

  2. 需要修改原有的exit函数使得用户进程能够返回值。

  3. 评测只会对新增指令touch,mkdir,rm,fg,jobskill检测当给定参数出现错误时的输出。

  4. 需要将history,kill,jobs,fg指令实现为shell的内置指令,并且评测不会修改保存指令的文件,对于内置指令,评测所有输入的指令都不会带有.b

  5. 对于反引号与引号,评测中保证不会出现诸如``xx``引号的嵌套,可能会有"`xx`"的情况。

  6. 检查编译时出现的warning以及线下测试时是否开启了MOS_PROFILE=release。只有代码在debug版本与release版本下行为相同才算正确。

  7. 后台指令被kill后应该将状态设置为Done

  8. jobs指令只需要考虑输出开启shell后所有被创建的任务(包括所有已完成的作业),这里规定后台任务创建总数不超过16个。jobskill在评测中并不会作为后台指令。

  9. 不需要考虑一次性创建或删除多个文件的情况。

  10. sys_cgetc会阻塞等待输入,对于后台指令来说,可能需要修改该函数。

  11. 对于history指令,如果输入连续多条指令则需要保存连续多条相同指令,并且也不会在切换到非当前输入指令进行编辑。请注意至多保存最近的20条指令。

  12. 将会在spoc上开放挑战性任务文档提交通道。

0%