ucore实验报告
筱
这个作者很懒,什么都没留下…
展开
-
《ucore lab1 练习6》实验报告
[练习6]完善中断初始化和处理(需要编程)请完成编码工作和回答如下问题:中断描述符表(也可简称为保护模式下的中断向量表)中一个表项占多少字节?其中哪几位代表中断处理代码的入口?请编程完善kern/trap/trap.c中对中断向量表进行初始化的函数idt_init。在idt_init函数中,依次对所有中断入口进行初始化。使用mmu.h中的SETGATE宏,填充idt数组内容。每个中断的入口...原创 2019-10-28 19:43:45 · 1028 阅读 · 0 评论 -
《ucore lab1 练习5》实验报告
[练习5]实现函数调用堆栈跟踪函数我们需要在lab1中完成kdebug.c中函数print_stackframe的实现,可以通过函数print_stackframe来跟踪函数调用堆栈中记录的返回地址。如果能够正确实现此函数,可在lab1中执行 “make qemu”后,在qemu模拟器中得到类似如下的输出:请完成实验,看看输出是否与上述显示大致一致,并解释最后一行各个数值的含义。...原创 2019-10-28 13:04:52 · 1322 阅读 · 2 评论 -
《ucore lab1 练习4》实验报告
[练习4]分析bootloader加载ELF格式的OS的过程通过阅读bootmain.c,了解bootloader如何加载ELF文件。通过分析源代码和通过qemu来运行并调试bootloader&OS,理解:1.bootloader如何读取硬盘扇区的?2.bootloader是如何加载ELF格式的OS?问题1:bootloader如何读取硬盘扇区分析原理阅读材料其实已经给出...原创 2019-10-28 10:02:57 · 955 阅读 · 0 评论 -
《ucore lab1 练习3》实验报告
[练习3]分析从bootloader进入保护模式的过程。BIOS 将通过读取硬盘主引导扇区到内存,并转跳到对应内存中的位置执行 bootloader。请分析bootloader是如何完成从实模式进入保护模式的提示:需要阅读小节“保护模式和分段机制”和lab1/boot/bootasm.S源码,了解如何从实模式切换到保护模式,需要了解:1.为何开启A20,以及如何开启A202.如何初始化GD...原创 2019-10-28 09:36:27 · 816 阅读 · 0 评论 -
《ucore lba1练习2》实验报告
[练习2]使用qemu执行并调试lab1中的软件。(要求在报告中简要写出练习过程)为了熟悉使用qemu和gdb进行的调试工作,我们进行如下的小练习:从CPU加电后执行的第一条指令开始,单步跟踪BIOS的执行。在初始化位置0x7c00设置实地址断点,测试断点正常。从0x7c00开始跟踪代码运行,将单步跟踪反汇编得到的代码与bootasm.S和 bootblock.asm进行比较。自己找一...原创 2019-10-28 00:57:20 · 1310 阅读 · 1 评论 -
《ucore lba1练习1》实验报告
[练习1]理解通过make生成执行文件的过程。(要求在报告中写出对下述问题的回答)在此练习中,大家需要通过静态分析代码来了解:1.操作系统镜像文件ucore.img是如何一步一步生成的?(需要比较详细地解释Makefile中每一条相关命令和命令参数的含义,以及说明命令导致的结果)2.一个被系统认为是符合规范的硬盘主引导扇区的特征是什么?问题1:操作系统镜像文件 ucore.img ...原创 2019-10-28 00:58:51 · 1214 阅读 · 0 评论