西南交通大学操作系统期末复习总结.doc

西南交通大学操作系统期末复习总结.doc

ID:55615062

大小:49.00 KB

页数:12页

时间:2020-05-19

西南交通大学操作系统期末复习总结.doc_第1页
西南交通大学操作系统期末复习总结.doc_第2页
西南交通大学操作系统期末复习总结.doc_第3页
西南交通大学操作系统期末复习总结.doc_第4页
西南交通大学操作系统期末复习总结.doc_第5页
资源描述:

《西南交通大学操作系统期末复习总结.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、1org07c00h;这是告诉编译器将这段程序加载到内存偏移地址0x7c00处movax,csmovds,axmoves,axcallDispStrjmp$DispStr:movax,BootMessagemovbp,axmovcx,16movax,01301hmovbx,000chmovdl,0int10hretBootMessage:db"hello,osworld!"times510-($-$$)db0dw0xaa55这是第一章的程序,从中可以看出起始位置是07c00h,程序的结束标志是0xaa55。

2、$表示当前行被汇编后的地址。$$表示一个节的开始处被汇编后的地址。那么$-$$表示本行距离程序开始处的相对距离。1.对于程序的说明实际上以上程序只是一个引导扇区(BootSector),不是完整的OS,当计算机电源被打开时,它会加电自检(POST),然后寻找启动盘,如果是从软盘启动,计算机就会检查软盘的0面0磁道1扇区,如果发现它以0xaa55结束,并且包含了少于512字节的执行码,那么BIOS认为它是一个引导扇区。一旦发现了引导扇区,就将这512字节放入内存地址0000:7c00处,然后跳转并且移交控制器

3、。2.制作软盘过程本身这段程序是boot.asm,是汇编程序,然后使用工具nasm将其转换为boot.bin,然后使用软盘绝对扇区读写工具将这个文件写到一张空白软盘的第一个扇区。(.bin文件的说明:*.bin是Foxbase定义的一种特殊的可执行文件,它同DOS的.com文件类似,区别在于.com文件是从100H开始运行的,而.bin从0开始,.bin的调用参数保存在DS:BX中。如果在Foxbase中,你可以使用Call命令调用。如果你在VFP中,将无法直接调用,只能使用Debug反汇编,分析其功能,然

4、后重新编写.)3.方括号[]的使用在NASM中,任何不被方括号[]括起来的标签或变量名都被认为是地址,访问标签中的内容必须使用[]。3.1认识保护模式1.对于这一节的程序的理解数据区:先是定义了一些描述符(LABEL_GDT,LABEL_DESC_CODE32,LABEL_DESC_VIDEO),然后定义了GdtPtr,它是一个6字节的数据结构,前两字节表示GDT的界限(即描述符的界限),后4字节表示GDT的基地址(GdtPtr就是用来描述GDT的,会用一个寄存器GDTR来保存它的值)。然后定义两个选择子,

5、分别指向已定义的描述符。代码区:初始化32位代码段描述符,为加载GDTR作准备,加载GDTR:lgdt[GdtPtr],然后是关中断:cli,(保护模式下中断处理的机制是不同的,不关中断会出错)打开地址线A20,然后将cr0的PE位置为1(0:实模式,1:保护模式),准备切换到保护模式,跳转到保护模式中jmpdwordSelectorCode32:02.Descriptor是一个宏,它是一个8字节的数据结构。三个描述符组成了一个结构数组。3.[BITS16]说明这是一个16位的代码段,而[BITS32]是3

6、2位的代码段。程序中的知识点要搞清楚的有:GDT是一个索引,指向一个数据结构的表项。GDT作用:提供段式存储机制。程序对GDT做了什么?jmpSelectorCode32:0?GDT1.在保护模式下,CPU有着巨大的寻址能力(保护模式下为4G,实模式下为1M),并为强大的32位操作系统提供了更好的硬件保障。2.在保护模式下,段值仅仅变成了一个索引,这个索引指向一个数据结构的一个表项,表项中定义了段的起始地址、界限、属性等内容。这个数据结构就叫GDT,表项就叫描述符。3.描述符分为代码段和数据段描述符,还可以

7、分为系统段描述符和门描述符。4.选择子TI位0:GDT,1:LDT当TI和RPL都为0时,选择子就变为了偏移。5."段:偏移"经过段机制转化为“线性地址”,而不是物理地址。JMP1.对于cr0的设置是实模式和保护模式的关键2.jmpdwordSelectorCode32:0的作用是将描述符DESC_CODE32对应的段的首地址。3.为什么那儿有一个dword呢?(没有dword的话编译出来是16位的代码,而目标地址是32位的。)进入保护模式的主要步骤:1.准备GDT2.用lgdt加载gdtr3.打开A204

8、.设置cr0的PE位5.跳转,进入保护模式描述符的属性1.P位——存在位。P=1,表示在段内存中存在;P=0则在内存中不存在。2.DPL位——描述符特权级。有0,1,2,3级,数字越小级别越大3.S位——指明描述符是数据段/代码段(s=1),还是系统段/门描述符(s=0)3.2保护模式进阶在这一节中,首先在上一节程序的基础上改写:(1)跳入保护模式之后再次跳回实模式(2)读写大地址内存对于读大地址内容,它是先读,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。