练习一:
问题1:操作系统镜像文件ucore.img是如何一步一步生成的?
-
cc kern/init/init.c //编译 init.c
-
cc kern/libs/readline.c //编译 readline.c
-
cc kern/libs/stdio.c //编译 stdio.c
-
cc kern/debug/kdebug.c//编译 kdebug.c
-
cc kern/debug/kmonitor.c //编译 kmonitor
-
cc kern/debug/panic.c//编译 panic.c
-
cc kern/driver/clock.c //编译 clock.c
-
cc kern/driver/console.c //编译 console.c
-
cc kern/driver/intr.c//编译 intr.c
-
cc kern/driver/picirq.c //编译 picirq.c
-
cc kern/trap/trap.c //编译 trap.c
-
cc kern/trap/trapentry.S //编译 trapentry.S
-
cc kern/trap/vectors.S //编译 vector.S
-
cc kern/mm/pmm.c//编译 pmm.c
-
cc libs/printfmt.c // printgmt.c
-
cc libs/string.c //编译 string.c
-
ld bin/kernel//接下来用ld合并目标文件(object) 和 库文件(archive),生成kernel程序
-
cc boot/bootasm.S //编译 bootasm.S
-
cc boot/bootmain.c //编译 bootmain.c
-
cc tools/sign.c //编译 sign.c
-
ld bin/bootblock//接下来连接源文件与目标文件,生成bootblock程序
//最后将bootblock和kernel程序放入虚拟硬盘ucore.img中去。
dd if=/dev/zero of=bin/ucore.img count=10000
dd if=bin/bootblock of=bin/ucore.img conv=notrunc
dd if=bin/kernel of=bin/ucore.img seek=1 conv=notrunc
问题2:一个被系统认为是符合规范的硬盘主引导扇区的特征是什么?
一个符合规范的引导扇区应当不大于512字节,且最后两个位一定是0x55和0xAA。
练习二
问题1:
make lab1-mon //在Makefile中设置调试