[MIT6.828] 调试虚拟机OS时断点设置问题和总结
在qemu+gdb的调试环境中,gdb的b命令生效地址必须是虚拟机的物理地址,但是OS中运行的程序大部分都是以虚拟地址出现的,所以计算出真实的物理地址才能下断点。
MIT6.828的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数[……]
在qemu+gdb的调试环境中,gdb的b命令生效地址必须是虚拟机的物理地址,但是OS中运行的程序大部分都是以虚拟地址出现的,所以计算出真实的物理地址才能下断点。
MIT6.828的LAB1中的内核代码中,内核段基址为0x10000000(可由kern/entry.S中的mygdt标号下的数[……]
1、整体
ELF文件结构看起来如下:
Linking View Execution View ============ ============== ELF header[......]
第四章
本章主要讲述了IA32架构下的段页管理以及中断异常和任务的切换等基础知识。要点多,理解难度大。
要点1: 段描述符和门描述符的格式
要点2: 段选择和切换的时候进行的权限验证
要点3: 页目录和页表的格式以及权限设置
要点5: CR0-CR3 GTDR ITDR LTDR TR EFLAG[……]
1、DPL,RPL,CPL 之间的联系和区别是什么?RPL和CPL是必须相同吗?如果相同,为什么要釆用两个而不改用一个呢?
答:特权级是保护模式下一个重要的概念,CPL,RPL和DPL是其中的核心概念,查阅资料无数,总结如下:
简单解释:
CPL是当前进程的权限级别(Current Privileg[……]
循环不变式的思想及其应用
循环不变式(loop invariants)不只是一种计算机科学的思想,准确地说是一种数学思想。在数学上阐述了通过循环(迭代、递归)去计算一个累计的目标值的正确性,属于基础数学的范畴,而且在计算机上也应用广泛。初次见到这个词是在《算法导论》,在第二章描述了这个思想[……]
那些消逝了的和未曾存在的
似水流年依然
幼稚的彷徨
我可以凝视着
阳光
暖的 明亮
睡意悠扬
淹没了忧伤
只留下一片
金黄
于零六年末洪庆校区8F-JX 下午数学课昏睡时梦游之作,后写到语文期末考试卷子上 ^^
中午,太阳叫我起床
透过窗子[……]
汇编命令是指示汇编器操作方式的伪指令。汇编命令用于要求汇编器为变量分配空间、确定程序开始地址、指定当前汇编的区、修改位置计数器值等。所有汇编命令的名称都以"."开始,其余是字符,并且大小写无关。但是通常都使用小写字符。下面我们给出一些常用汇编命令的说明。
1..align ab[……]
1、左值是一个表达式,可以读取或者修改它所引用的对象。对象是一块内存区域,可以读取或者修改它的值。
2、左值也可以是只读。
3、能放到等号左边(对其赋值)的一定是左值,但并不是所有的左值都可以放到等号左边(对其赋值)。
4、左值可以是不完整类型但不能是void类型
5、除了字符串字面常量外,其他任何[……]
就让挚爱的你沉睡在
宁静的湖底
那晶莹飘落的雪
是你洁白的新衣
那呼啸而去的风
是你婚典的乐曲
那清冽无垠的水
是你温柔的呓语
再也没有悲伤 痛苦 恐惧 哭泣
只有我的心和满满的记忆一起
一起与你
安息
[……]