和Steve之间的通信--RE: 关于《UNIX技术内幕》的勘误及遇到的问题_12

  1. 云栖社区>
  2. 博客>
  3. 正文

和Steve之间的通信--RE: 关于《UNIX技术内幕》的勘误及遇到的问题_12

罗宾豪 2012-04-22 17:49:07 浏览595
展开阅读全文
Steve,
答复如下。

From: quntmec@hotmail.com
To: qf.hao@hotmail.com
Subject: 关于《UNIX技术内幕》的勘误及遇到的问题_12
Date: Fri, 28 Oct 2011 21:46:12 +0800

郝先生,

1、第158页,第2段第3、4行里提到的wakeup(&runin)可以改为 setrun(&proc[0]),我觉得直接替换不可以吧?如果真要替换,那也只能是设置一个循环遍历所有进程,符合唤醒条件的才 setrun(&proc[0])。你觉得呢?
郝:是这样,只有sched进程(proc[0])会挂起在runin上,所以调用wakeup其实就是唤醒proc[0],因此循环就没有必要了,直接调用setrun()显得更高效。
2、第158页,第7段第1句,u.u_ar0 = (10)sp。这里的 10 是十进制数吗?
郝:是的,比如sp=100,那么u.u_ar0=110。不过这里使用(10)sp有点不够清楚,它是汇编里的语法,应该是&sp[5]更好点。

此外,勘误如下:

161 3 1 call函数第17(应该是第18行)
郝:是的,谢谢
Steve

网友评论

登录后评论
0/500
评论
罗宾豪
+ 关注