感谢洪燕辉同学指出的错误。欢迎更多的同学提出问题、意见和建议。
--
Best Regards
==============================================
Chen Yu
Ph.D. Associate Professor
System Software&Software Engineering Group,
Laboratory of Pervasive Computing,
Dept. of Computer Science and Technology
Tsinghua University, Beijing 100084, P.R. China
E-Mail: mailto:yuc...@tsinghua.edu.cn chy...@gmail.com
==============================================
在 2012年4月9日 下午5:07,ZHANG Meng <zml...@foxmail.com> 写道:
> 陈老师:
>
> 您好!我觉得首先最好明确解释一下n所代表的量。n是指"页表要管理的物理页数",从结论看,页目录表和二级页表不包含其中。页目录表不属于"页表要管理的"比较明显;而二级页表也不属于"页表要管理的",在我们的概念中它属于"页目录表要管理的",换言之,"页目录表"不属于这里所讲的"页表"的范畴。
我认为:n是指"页表要管理的物理内存的页数",但页表本身也在此物理内存中。所以页目录表和二级页表包含在其中。
>
> 其次,我认为得出这个结论的解释有点瑕疵。最好解释为"(在前面定义的n的含义下)如果0<n≤1024,则需要1个二级页表管理。一般化,则需要((n-1)/1024)+1个二级页表管理。"否则的话,如果取0<n<1024,为什么不一般化为(n/1024)+1呢?因此我觉得解释时考虑这个边界情况可以更好地理解这个问题。顺便一提,这里除号代表的是计算机界的整数除法也是比较郁闷的事情......在这个上下文中,把((n-1)/1024)+1写为ceil(n/1024.0)或许是更直观的表达。
对,我用的是计算机界的整数除法,需要注意,在OS里面的主要部分基本上看不到浮点运算,原因是考虑性能优化。即使要用浮点计算,也是尽量通过整数运算来模拟浮点计算。
>
> 敬请
> 教安
>
> 计94 张檬
>
>
> ------------------ Original ------------------
> From: "陈渝"<chy...@gmail.com>;
> Date: Sun, Apr 8, 2012 07:39 PM
> To: "os-course"<osco...@googlegroups.com>;
> "yos-course"<yos-c...@googlegroups.com>;
> Subject: 关于lab2文档的一个错误描述
> --
> You received this message because you are subscribed to the Google Groups
> "os-course" group.
> To post to this group, send email to osco...@googlegroups.com.
> To unsubscribe from this group, send email to
> oscourse+u...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/oscourse?hl=en.