摘要:在我阅读 Singularity 史前活动的代码时,这个 BootInfo 结构多次出现在代码中,并且来回传递与 C 与 Asm 之间。所以单独提出来方便查阅。 \base.obj\Boot\Prototype.x86\halclass.h[530] & halclass.inc[715] 1: struct Struct_Microsoft_Singularity_BootInfo 2: { 3: 4: uint32 RecSize; ...
阅读全文
摘要:1. Singularity 的引导程序
1.1 16-bit Boot Loader
从 \base\boot\Singldr\singldr0.asm 开始:
\base\boot\Singldr\singldr0.asm[142] _TEXT segment public use16 'CODE'
一个16位的代码段
\base\boot\Singldr\singldr0.asm[155] BootPhase0 PROC NEAR
首先判断是通过 PXE 网络引导,还是从本地的 HD\CD 引导 Singularity。相对应的,通过 PXE 引导时 cs=5000,而通过 HD\CD 引导时 cs=0000。有关 PXE 的配置、初始化等等不管他,先往下看。
在 BootPhase0 的最后,会 call 2个过程:EnableA20 和 BootPhase1。
阅读全文
摘要:1. 系统需求
1.8GB 磁盘空间,其中 250MB 磁盘空间用于存放 Singularity 源代码。1.5GB 用于生成 Singularity 以及相关的应用程序。
512MB 内存。
Debugging Tools for Windows,用于调试 Singularity。
http://www.microsoft.com/whdc/devtools/debugging/default.mspx
CLR 1.1,详细的版本号码:"v1.1.4322"。
http://www.microsoft.com/downloads/details.aspx?familyid=262d25e3-f589-4842-8157-034d1e7cf3a3
Microsoft Virtual PC 2007,用于执行 Singularity。
http://www.microsoft.com/windows/downloads/virtualpc
MSBuild,生成工具。
http://msdn.microsoft.com/msdnmag/issues/06/06
阅读全文
摘要:"...it is impossible to predict how a singularity will affect objects in its causal future." - NCSA Cyberia Glossary
阅读全文