0 回复
戴波(助教)
🔖︎ 5 订阅
👍︎ 8 点赞
🔝︎ 已置顶
❌︎ 已关闭
✔︎ 由课程团队认证
不能修改课程组下发的
user/true.c
,user/false.c
与user/sleep.c
文件。需要修改原有的
exit
函数使得用户进程能够返回值。评测只会对新增指令
touch
,mkdir
,rm
,fg
,jobs
与kill
检测当给定参数出现错误时的输出。需要将
history
,kill
,jobs
,fg
指令实现为shell的内置指令,并且评测不会修改保存指令的文件,对于内置指令,评测所有输入的指令都不会带有.b
。对于反引号与引号,评测中保证不会出现诸如``xx``引号的嵌套,可能会有"`xx`"的情况。
检查编译时出现的warning以及线下测试时是否开启了
MOS_PROFILE=release
。只有代码在debug版本与release版本下行为相同才算正确。后台指令被
kill
后应该将状态设置为Done
。jobs
指令只需要考虑输出开启shell后所有被创建的任务(包括所有已完成的作业),这里规定后台任务创建总数不超过16个。jobs
与kill
在评测中并不会作为后台指令。不需要考虑一次性创建或删除多个文件的情况。
sys_cgetc会阻塞等待输入,对于后台指令来说,可能需要修改该函数。
对于history指令,如果输入连续多条指令则需要保存连续多条相同指令,并且也不会在切换到非当前输入指令进行编辑。请注意至多保存最近的20条指令。
将会在spoc上开放挑战性任务文档提交通道。
CC BY-SA 4.0
创建于:
最后修改于:
最后回复于:
最后修改于:
最后回复于: