- 論壇徽章:
- 4
|
UNIX6 , swtch()函數(shù) , 2230行開始 , 丹尼斯.里奇做了如下注釋
/* if the neqw process paused because it was
* swapped out, set the stack level to the last call
* to savu(u_ssav) , this means that the return
* which is executed immediately after the call to aretu
* actually returns from the last routine which did
* the savu
*
*
* you are not expected to understand this(第2238行)
*/
if (rp->p_flag & SSWAP){
rp->p_flag =& ~SSWAP;
aretu(u.u_ssav);
}
就這么三行代碼, 丹尼斯.里奇認(rèn)為you are not expected to understand this
被<UNIX痛恨者手冊>稱之為粗暴的注釋
萊昂則認(rèn)為有相當(dāng)難度 , 如果你急于弄清楚這段代碼 , 請加入2238俱樂部;
并說這段代碼的原因, 搞透徹本書后, 最后可能會在第15章中找到, 事實上在第15章, 也沒放出個痛快屁來.
這幾行代碼其實就是一層窗戶紙, 有懂的人一點就透, 難度到?jīng)]有什么, 只是原因比較隱晦 , 偏偏丹尼斯和萊昂在注釋里把它們搞的跟加隱晦, 可能這是當(dāng)初程序員還不是民工時, 他們炫耀自己優(yōu)越感的一種外在表現(xiàn).
現(xiàn)在這段代碼這樣寫的原因在Internet上也找不到了, 我只有憑自己, 在大概對這個版本的UNIX理解到6成左右的時候, 一個人推平了什么所謂的"2238"俱樂部, 它就是一層窗戶紙.
用這個問題來判別其他人對OS的了解確實是不和時宜的, 10個Linux高手中可能只有1個能回答出來這個問題, 因為那9個在乎的只是Linux, 而不是古董UNIX6.
但是只有那1個Linux高手是超級高手,和我不在一個能量級上, 畢竟是這個版的UNIX使眾多Kernel高手成長起來. 走過這樣學(xué)習(xí)經(jīng)歷的Kernel高手顯然是真高手,我只對這一個佩服的五體投地.
其他那9個么?馬馬乎乎拉, 也許比我強(qiáng), 也許比我差, 反正我以后超過他決不是什么大問題 |
|