现在位置: 首页 > 技术文章 > 操作系统 > 文章
2014年03月08日 操作系统 ⁄ 共 5106字 暂无评论 ⁄ 阅读 206 次
《自己动手写操作系统》学习笔记目录(持续更新)  http://www.techbulo.com/832.html LDT使用初步 LDT使用初步 在本节中,我们将添加一个LDT段,在段中打印一个字符L,从而学习如何利用程序的LDT段。程序的执行流程随之也会发生变化,我们将分析代码和分析代码结构。 一、概要分析: 在上一节的基础上,我们增加一个段LDT和一个LDT中的一个段codeA。需要注意的是,LDT存在的前提是GDT,因为LDT本身是一个段中,需要由GDT中的信...
阅读全文
2014年03月06日 操作系统 ⁄ 共 6773字 暂无评论 ⁄ 阅读 995 次
《自己动手写操作系统》学习笔记目录(持续更新)  http://www.techbulo.com/832.html 实模式->保护模式->实模式 实模式------>保护模式------>实模式 一、“实模式--保护模式--实模式”的转换过程 1、“实模式--保护模式”的跳转 (1)准备GDT (2)用lgdt加载gdtr (3)打开A20 (4)置cr0的PE位 (5)跳转,进入保护模式 2、“保护模式--实模式”的跳转  (比实模式--->保护模式要复杂一些,因为在准备结束保护模式...
阅读全文
2014年03月04日 操作系统 ⁄ 共 7081字 暂无评论 ⁄ 阅读 196 次
《自己动手写操作系统》学习笔记目录(持续更新)  http://www.techbulo.com/832.html 实模式跳转到保护模式 实模式------>保护模式 有了上一节的基础,那我们开始编码,看看如何实现先前描述的内容 首先,既然我们需要一个数组,全局描述符表,那我们就定义一块连续的结构体: [SECTION .gdt]    ;为了代码可读性,我们将这个数组放到一个节(段)中 ;由一块连续的地址组成的,不就是一个数组吗?看下面代码,^_^         ...
阅读全文
2014年03月02日 操作系统 ⁄ 共 381字 暂无评论 ⁄ 阅读 380 次
《自己动手写操作系统》学习笔记目录(持续更新)  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  ...
阅读全文
2014年02月28日 操作系统 ⁄ 共 1456字 暂无评论 ⁄ 阅读 188 次
为什么不能从32位的保护模式直接跳转到实模式,而要先跳转到16位的保护模式,再从16位的保护模式跳转到实模式的理解 呼呼 不能从32位代码段返回实模式,而只能从16位代码段返回。 原因:(书中说的)因为无法实现从32位代码段返回时CS高速缓冲寄存器中的属性符合实模式的要求(实模式不能改变段属性) 下面具体的来进行分析: ;****************注意在此用normal选择子对段寄存器进行填充****************************** mov ax, S...
阅读全文
2014年02月27日 操作系统 ⁄ 共 3340字 暂无评论 ⁄ 阅读 188 次
描述符高速缓存寄存器 在实模式下,段寄存器含有段值,为访问存储器形成物理地址时,处理器引用相应的某个段寄存器并将其值乘以16,形成20位的段基地址。在保护模式下,段寄存器含有段选择子,如上所述,为了访问存储器形成线性地址时,处理器要使用选择子所指定的描述符中的基地址等信息。为了避免在每次存储器访问时,都要访问描述符表而获得对应的段描述符,从80286开始每个段寄存器都配有一个高速缓冲寄存器,称之为段描述...
阅读全文
2014年02月13日 操作系统 ⁄ 共 508字 暂无评论 ⁄ 阅读 522 次
自己动手写操作系统 《自己动手写操作系统》学习笔记(一)     http://www.techbulo.com/605.html 《自己动手写操作系统》学习笔记(二)     http://www.techbulo.com/689.html 《自己动手写操作系统》杂记一              http://www.techbulo.com/816.html 《自己动手写操作系统》学习笔记(三)     http://www.techbulo.com/869.html 《自己动手写操作系统》学习笔记(四)     http://www.techbulo.com/878.html 《自己动手写操...
阅读全文
2014年02月12日 操作系统 ⁄ 共 8551字 暂无评论 ⁄ 阅读 153 次
《自己动手写操作系统》学习笔记目录(持续更新)  http://www.techbulo.com/832.html question 1、问:操作系统如何能够开始控制一台计算机,操作系统的起点是什么?     答:操作系统的“开端”一般被认为是引导程序(Boot),它是操作系统程序中最早被计算机硬件系统加载入内存并执行的部分,引导程序一般规定长度为512个字节,就是从这512字节开始,操作系统被一步步装载入计算机内存,进而最终控制整台计算机。那么引导程序是...
阅读全文
2014年02月11日 操作系统 ⁄ 共 2355字 暂无评论 ⁄ 阅读 224 次
实模式下的内存寻址: 让我们首先来回顾实模式下的寻址方式 段首地址×16+偏移量 = 物理地址 为什么要×16?因为在8086CPU中,地址线是20位,但寄存器是16位的,最高寻址64KB,它无法寻址到1M内存。于是,Intel设计了这种寻址方式,先缩小4位成16位放入到段寄存器,用到时候,再将其扩大到20位,这也造成了段的首地址必须是16的倍数的限制。 保护模式下分段机制的内存寻址: 保护模式下 分段机制是利用一个称作段选择符的偏移量...
阅读全文

×