电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

清华大学操作系统实验lab1实验报告VIP免费

清华大学操作系统实验lab1实验报告_第1页
1/14
清华大学操作系统实验lab1实验报告_第2页
2/14
清华大学操作系统实验lab1实验报告_第3页
3/14
练习1、理解通过m ake生成执行文件的过程。 [练习1.1] 操作系统镜像文件 u core.img 是如何一步一步生成的? 在 proj1 执行命令 make V=可以得到 make 指令执行的过程 从这几条指令中可以看出需要生成 ucore.img 首先需要生成 bootblock,而生成 bootblock 需要先生成 bootmain.o 和 bootasm.o 还有 sign,这三个文件又分别由 bootmain.c、bootasm.S、sigh.c 来生成。 ld -m elf_i386 -N -e start -Ttext 0x7C00 obj/boot/bootasm.o obj/boot/bootmain.o – o obj/bootblock.o 这句话用于生成 bootblock,elf_i386 表示生成 elf 头,0x7C00 为程序的入make V= + cc boot/bootasm.S gcc -Iboot/ -fno-builtin -Wall -ggdb -m32 -nostdinc -fno-stack-protector -Ilibs/ -Os -nostdinc -c boot/bootasm.S -o obj/boot/bootasm.o + cc boot/bootmain.c gcc -Iboot/ -fno-builtin -Wall -ggdb -m32 -nostdinc -fno-stack-protector -Ilibs/ -Os -nostdinc -c boot/bootmain.c -o obj/boot/bootmain.o + cc tools/sign.c gcc -Itools/ -g -Wall -O2 -c tools/sign.c -o obj/sign/tools/sign.o gcc -g -Wall -O2 obj/sign/tools/sign.o -o bin/sign + ld bin/bootblock ld -m elf_i386 -N -e start -Ttext 0x7C00 obj/boot/bootasm.o obj/boot/bootmain.o -o obj/bootblock.o 'obj/bootblock.out' size: 440 bytes build 512 bytes boot sector: 'bin/bootblock' success! dd if=/dev/zero of=bin/ucore.img count=10000 记录了 10000+0 的读入 记录了 10000+0 的写出 5120000 字节(5.1 MB)已复制,0.0227439 秒,225 MB/秒 dd if=bin/bootblock of=bin/ucore.img conv=notrunc 记录了 1+0 的读入 记录了 1+0 的写出 512 字节(512 B)已复制,0.000214966 秒,2.4 MB/秒 口。 'obj/bootblock.out' size: 440 bytes 这句话表示生成的bootblock的文件大小,因为大小不到512字节,所以需要给blootblock填充,填充的功能在sign.c中有所体现,最后两字节设置为了0x55,0xAA buf[510] = 0x55; buf[511] = 0xAA; FILE *ofp = fopen(argv[2], "wb+"); size = fwrite(buf, 1, 512, ofp); [练习1.2] 一个被系统认为是符合规范的硬盘主引导扇区的特征是什么? 前面已经提到...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

清华大学操作系统实验lab1实验报告

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部