我出这次的作业的原则是解决现实世界的问题,而非课本上的死条文
填鸭式教育对学习并没有帮助,未来去公司上班,老板也不会叫你抄课本做
当然如果学其他课的助教让学生复制贴上投影片上的Code,稍微修改就能写出
对我们改作业、给成绩会快很多,同学也能都能高分,皆大欢喜
反正你们的分数也跟我无关,多学东西或少学东西也不会影响到我
但如此一来,你们真的学的到东西吗?可以自豪地对外人说你修过OS吗?
除了应付考试,有几个人真正会修改OS?有办法在真实世界解决问题?
对于花很多时间的同学而言,你们大可放心我们花更多时间
为了改这次作业我必须一个一个在你们的程式码添加东西,并加入新的档案来测试
事前也必须由其他助教先写过一遍,所花的时间远远超过你们写的时间
这次作业有非常多不同的解法,这就是为何我没有把所有细节都写死
每个人都有自己解决问题的偏好方法,不应该限制他们的解决方法
所以问不同的助教有不同的写法是有可能发生的情况
考虑到困难度,所以我抄自美国水牛城大学的作业(该校仅为二流大学,详见USnews排名)
原本的作业还有IPC(inter process communication)和Memory Swapping
扣除这两个部分不做,剩下的1/3对台大学生应该是合理的作业要求
你们并没有少获得该有题目的提示,甚至比水牛城大学学生还多
认为提示不够的人,有几个认真看完课本和Nachos档案里的注解?
里面全都写得很清楚,多花几分钟google,也会得到一堆答案
有三个星期的时间应该是足够的,除非你是在Deadline前几天才开始
测试的方法就是测试投影片每一句要求要做到的项目
像The CreateSemaphore system call will return 0 on success and –1 on failure.
测试程式会检查成功时是否回传0失败时是否回传-1
除了Meomory Recycle跟PID Recycle,因为这两者是课本基本观念
作业一开始要求做multiprogramming,就已经包含在内了
不过PID Recycle既然R2说不用做,那就不测
至于两人一组的依靠情况,是一个愿打一个愿挨
就跟现实社会一样,除了实力,有些人就是有办法得到额外的帮助
我当然知道有人期中期末分数爆低,答案乱写,作业分数却爆高
不过作业才占20%,所以她还是要被当,这种过当然没天理
就跟我以前微积分老师说过的一样:作业爱抄就给你抄,期末还不是要被当
要来看自己错的地方可以来336看,只要我在就会开起来给你看错在哪
至于分数的话,朱老师给的分数高到不像话,所以争这个没啥意义
反正期末总成绩都一样很高
P.S.
之前有同学上课时问PID如何Recycle,但一直没来问,所以我直接PO在这
作法一
在Exec时用table记录Parent和Child关系在OS中,在Exit时才移除,当要Join时,
检查纪录的table,如果有Parent和Child关系时,才允许Join,否则不准,所以确保
PID不会被误用
作法二
用在一些Unix系统中,当PID超过Policy规定的上限时,从PID最低的开始回收使用
作法三
用其他公式改变作法二中线性回收的作法,避开PID低会先被杀掉的问题
作法二和做法三非理论上最佳解,但实作已够解决问题
※ 引述《sam9595 (帕帕)》之铭言:
: 我觉得 针对作业4 其实还满多可以讲的
: 看完成绩之后 只能说是很傻眼
: 当初大家在实验室拚命一直写 结果还互相测过跑过 出来这种成绩看了真是于心不忍
: 为什么会有这种成绩 大家错的Goal还南辕北辙
: 最大的问题是当初根本没有说清楚要测什么吧
: 投影片洋洋洒洒写了一堆goal说要作什么什么
: 但是有哪些种状况要考虑一点提示都没有
: 大家跑去问助教 结果三个楼层有三种答案
: 完全让人无所适从
: 当然也可以归结到我们程度不够 写不出完美的code来预防所有可能的状况
: 但是每个人为了这个没有头绪的作业花了这么久的时间
: 最后却得到这种分数 更何况两人一组的政策让有些人只需要依附别人就有分数
: 简单一句话 就是奇毛子不好嘛
: 最后想请问助教 有没有什么时间是可以让大家去问关于这次的作业成绩的
: 也希望会有合理的处理方式
: 最后也感谢你看完这篇没有理性只因为看到分数不开心而PO的文