现在位置: 首页

《自己动手写操作系统》学习笔记(四)

2014年03月04日 操作系统  ⁄ 共 7081字 《自己动手写操作系统》学习笔记(四)已关闭评论 ⁄ 阅读 1,916 次
《自己动手写操作系统》学习笔记目录(持续更新)  http://www.techbulo.com/832.html 实模式跳转到保护模式 实模式------>保护模式 有了上一节的基础,那我们开始编码,看看如何实现先前描述的内容 首先,既然我们需要一个数组,全局描述符表,那我们就定义一块连续的结构体: [SECTION .gdt]    ;为了代码可读性,我们将这个数组放到一个节(段)中 ;由一块连续的地址组成的,不就是一个数组吗?看下面代码,^_^         ...
阅读全文

《自己动手写操作系统》学习笔记(三)

2014年03月02日 操作系统  ⁄ 共 381字 《自己动手写操作系统》学习笔记(三)已关闭评论 ⁄ 阅读 2,279 次
《自己动手写操作系统》学习笔记目录(持续更新)  http://www.techbulo.com/832.html 嘎嘎 初识保护模式 初识保护模式 之 保护模式下寻址     请看这篇文章  http://www.techbulo.com/825.html   初识保护模式 之 保护模式下,什么是一致性代码和非一致性代码段  请看这篇文章  http://www.techbulo.com/789.html   初识保护模式 之 什么是GDT,LDT,GDTR,LDTR  请看这篇文章  http://www.techbulo.com/708.html  ...
阅读全文

为什么不能从32位的保护模式直接跳转到实模式

2014年02月28日 操作系统  ⁄ 共 1456字 为什么不能从32位的保护模式直接跳转到实模式已关闭评论 ⁄ 阅读 1,965 次
为什么不能从32位的保护模式直接跳转到实模式,而要先跳转到16位的保护模式,再从16位的保护模式跳转到实模式的理解 呼呼 不能从32位代码段返回实模式,而只能从16位代码段返回。 原因:(书中说的)因为无法实现从32位代码段返回时CS高速缓冲寄存器中的属性符合实模式的要求(实模式不能改变段属性) 下面具体的来进行分析: ;****************注意在此用normal选择子对段寄存器进行填充****************************** mov ax, S...
阅读全文

段描述符高速缓冲寄存器介绍

2014年02月27日 操作系统  ⁄ 共 3340字 段描述符高速缓冲寄存器介绍已关闭评论 ⁄ 阅读 2,102 次
描述符高速缓存寄存器 在实模式下,段寄存器含有段值,为访问存储器形成物理地址时,处理器引用相应的某个段寄存器并将其值乘以16,形成20位的段基地址。在保护模式下,段寄存器含有段选择子,如上所述,为了访问存储器形成线性地址时,处理器要使用选择子所指定的描述符中的基地址等信息。为了避免在每次存储器访问时,都要访问描述符表而获得对应的段描述符,从80286开始每个段寄存器都配有一个高速缓冲寄存器,称之为段描述...
阅读全文

串口显示被占用怎么办?清除被占用的串口

2014年02月21日 常见问题  ⁄ 共 307字 串口显示被占用怎么办?清除被占用的串口已关闭评论 ⁄ 阅读 3,499 次
串口被占用 可以通过删除注册表中的一个数值项来清除这些配置:在“运行”对话框中输入“regedit”进入注册表;然后进入 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\COM Name Arbiter这时我们可以找到该数值项:ComDB,它的值代表目前使用中的串口端号。比如1d,它的二进制:0001 1101,则从右往左数代表第1,3,4,5端口被占用。这样我们只需要把ComDB这个数据项删除,关闭注册表(不用重启电脑)即可。
阅读全文
×