- 论坛徽章:
- 0
|
近期研究linux初始化,做了一个bochs的调试环境。
环境信息:
Grub 0.97的引导程序
linux 3.14.12的内核
bochrc的配置为:
megs: 32 //Ps:megs配置的是内存大小,这个应该不错吧?
romimage: file=$BXSHARE/BIOS-bochs-latest
vgaromimage: file=$BXSHARE/VGABIOS-lgpl-latest
ata0-master: type=disk, path="disk0.img", cylinders=20, heads=16, spt=63
boot: c
log: bochsout.txt
mouse: enabled=0
cpu: ips=15000000
clock: sync=both
然后在研究的linux初始化的过程中遇到了几个小疑问一直咯在心里,想请教一下各位。
我的疑问是:
我编译的linux内核压缩后是5M多点,压缩前的vmlinux有200M+,按我理解来说,内核在decompress_kernel解压的时候,是应该把整个内核都解压出来吧?
而我配置的物理内存仅有32M而已,怎么看都不够用啊?难道那200M+的内核不是全解压吗?我看到的是它能够解压出来也没报错什么的也能跑,这里面有什么内存交换或者其他的技术点在上面吗?
使得物理内存很小,内核也照样能跑?
这几个问题一直咯在心里,不上不下的,自己钻研又找不到一个入口,烦请熟悉或者了解的仁兄帮忙指点一二,小弟不胜感激,谢谢~
|
|