随笔分类 - OS
摘要:练习6--完善中断初始化和处理 1. 中断向量表中一个表项占多少个字节?其中哪几位代表中断处理代码的入口? 答:系统将所有的中断事件统一进行编号(0~255),这个编号称为中断向量。中断向量表的一个表项占8个字节,其结构如下: 0~15位:偏移地址的0~15位; 16~31位:段选择子; 32~47
        阅读全文
                
摘要:实验5--实现函数调用堆栈跟踪函数 需要完成kdebug.c中函数print_stackframe的实现,可以通过函数print_stackframe来跟踪函数调用堆栈中记录的返回地址。 一.函数堆栈 主要的两点在于栈的结构和ebp寄存器的作用。一个函数调用动作可分解为:零到多个PUSH指令(用于参
        阅读全文
                
摘要:练习四:分析bootloader加载ELF格式的OS的过程 1.bootloader如何读取硬盘扇区? (1)在练习3中实现了bootloader让CPU进入保护模式,下一步的工作就是从硬盘上加载并运行OS。参考指导书2.3.2节的硬盘访问概述后发现,bootloader的访问硬盘都是LBA模式的P
        阅读全文
                
摘要:练习3.分析bootload进入保护模式的过程 0. BIOS通过读取硬盘主引导扇区到内存,并跳转到对应内存中的位置,也就是从’%cs=0 $pc=0x7c00‘进入并执行bootloader,bootloader要完成: (1) 切换到保护模式,启用分段机制; (2) 读取磁盘中的ELF执行文件格
        阅读全文
                
摘要:练习二实验报告 1.从CPU加电后执行的第一条指令开始,单步跟踪BIOS: 1.1默认的gdb需要进行一些额外的配置才能进行qemu的调试任务,qemu和gdb之间使用网络端口1234进行通信。 lab1/tools/gdbinit的内容如下。可见,这里是对内核代码进行调试,并且将断点设置在内核代码
        阅读全文
                
摘要:练习1 report 问题1:OS镜像文件ucore.img是如何一步一步生成的(需要比较详细地解释Makefile中的每一条相关命令和命令参数的含义,以及说明命令导致的结果)? Makefile文件大致由target、prerequisites、command组成,target表示要生成的目标文件
        阅读全文
                
 
                    
                
 
         浙公网安备 33010602011771号
浙公网安备 33010602011771号