
《x86汇编语言:从实模式到保护模式》札记
文章平均质量分 93
在学习操作系统的时候,因为对GDT、LDT、TSS、TCB概念不太了解,网上搜索相关资料搜索到这本书,发现这本书详细讲解了这些概念,遂通篇阅读,近1个月时间全部读完,中间也碰到了不少疑问,记录了不少笔记,于是尝试把笔记整理出来,和大家分享交流。
晴空闲雲
探秘计科,阅读、思考、写作。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
第20章 平坦内存模型和软件任务切换
该章节的代码功能和前面几章类似,只是本章通过平坦内存模型简化开发、通过软件进行任务切换。如果前面几章都理解了,这章就容易理解了。原创 2024-10-18 10:57:54 · 1065 阅读 · 0 评论 -
第19章 分页机制和动态页面分配
该章主要讲解了内存的分页机制,根据其机制对第18章的代码进行改造优化。在阅读的过程中,一开始比较懵,但后来掌握一个方法后就容易理解多了:就是多从线性地址转成物理地址的角度去思考。因为书中很多的地方要通过物理地址构造线性地址,比如页目录表的物理地址是0x21000,构造的线性地址是0xFFFFF000,反向思考有点难,但是正向从线性地址0xFFFFF000转成物理地址0x21000进行思考并尝试自己计算,就很容易理解了。原创 2024-10-11 10:30:46 · 1130 阅读 · 0 评论 -
第18章 中断和异常的处理与抢占式多任务
本章代码实现的功能,创建内核任务、用户任务1、用户任务2,然后通过中断的方法在几个任务之间切换,不同的任务打印不同的字符串。原创 2024-09-30 11:56:31 · 975 阅读 · 0 评论 -
第17章 协同式任务切换
从任务切换的时机来讲,有两种基本的策略:协同式任务切换和抢占式任务切换,本章主要介绍协同式的任务切换。原创 2024-09-26 17:25:56 · 907 阅读 · 1 评论 -
第16章 任务和特权级保护
该章节的内容我感觉比较难,其中涉及了很多新的知识:调用门、LDT、TSS、TCB、特权级、IO特权级等,并且调用门还涉及特权级检查和变更等。我也看了很多遍,才弄清楚,建议是一个一个知识点厘清。原创 2024-09-24 16:42:47 · 896 阅读 · 0 评论 -
第15章 程序的动态加载和执行
该章节讲解了MBR加载内核,然后内核加载用户程序这样一套流程,模拟操作系统的工作原理。原创 2024-09-21 11:25:47 · 1175 阅读 · 0 评论 -
第14章 存储器的保护
该章主要介绍了GDT、代码段、数据段、栈段等的访问保护机制。存储器的保护功能可以禁止程序的非法内存访问。利用存储器的保护功能,也可以实现一些有价值的功能,比如虚拟内存管理。原创 2024-09-18 11:04:34 · 561 阅读 · 0 评论 -
第13章 操作数和有效地址的尺寸
16位操作尺寸的指令和32位操作尺寸的指令可能具有相同的机器码,为了区分这两种不同操作尺寸的指令,32位处理器引入了默认操作尺寸的概念。原创 2024-09-14 10:56:22 · 582 阅读 · 0 评论 -
第12章 进入保护模式
该章代码的功能:程序运行后从实模式进入保护模式,并在屏幕上输出字符:Protect Mode OK.原创 2024-09-12 11:48:23 · 510 阅读 · 0 评论 -
第11章 32位x86处理器编程架构
IA-32(INTEL Architecture, 32-bit):INTEL 32位处理器架构简称IA-3,以8086处理器为基础发展起来的。该章重点介绍了IA-32处理器的工作方式和相关技术。原创 2024-09-10 15:28:37 · 1311 阅读 · 0 评论 -
第10章 中断和动态时钟显示
书中介绍了为什么有中断(Interrupt)的设计,中断的几种方式:外部硬件中断、内部中断和软中断。通过中断做了一个会走的时钟和屏幕上输入字符的程序。原创 2024-09-09 11:23:54 · 1621 阅读 · 0 评论 -
第9章 硬盘和显卡的访问与控制
该章节模拟操作系统加载应用程序,其中涉及的知识点:段的重定位方法、读取硬盘、控制屏幕光标等。原创 2024-09-06 14:17:22 · 1298 阅读 · 0 评论 -
第8章 比高斯更快的计算
该章通过从1加到100的功能,介绍了数据结构——栈、处理器的寻址方式。原创 2024-09-02 15:15:17 · 1198 阅读 · 0 评论 -
第7章 相同的功能,不同的代码
该章节和上章实现的功能是一样。也在屏幕上输出:Label offset: number标号的十进制格式,不过用了更优雅的实现方式。原创 2024-08-30 11:51:49 · 833 阅读 · 0 评论 -
第6章 编写主引导扇区代码
该章节的程序就是在屏幕上输出:Label offset: number标号的十进制格式,通过这个例子介绍了屏幕显示内容原理、主引导扇区知识和Bochs调试知识等。原创 2024-08-28 11:53:39 · 845 阅读 · 0 评论 -
第5章 虚拟机的安装和使用
第5章 虚拟机的安装和使用,第一节介绍了计算机的启动过程原理,为后面创建和使用虚拟机做铺垫。第二节介绍虚拟机(Virtual Box)的安装和使用,以及如何在虚拟机上运行我们编写的汇编程序。原创 2024-08-23 16:03:29 · 1051 阅读 · 0 评论 -
第4章 汇编语言和汇编软件
第4章 汇编语言和汇编软件读书札记,了解了汇编语言全貌,用visual studio code编写汇编还有习题的解答。原创 2024-08-22 09:29:59 · 2179 阅读 · 0 评论 -
第3章 分段机制和逻辑地址
该章节主要介绍了寄存器的字长、如何访问内存、内存中的字节序以及8086的分段机制。原创 2024-10-26 08:16:07 · 1048 阅读 · 0 评论 -
第2章 计算机和汇编语言
第2章重点介绍了寄存器(Register)、内存(Memory)和指令(Instruction)、指令集(Instruction set)、字节(Byte)等基本概念,然后引出了为什么要发明汇编语言(Assembly)。原创 2024-10-23 14:35:15 · 320 阅读 · 0 评论 -
第1章 十六进制计数法
第一章节主要是说明了数制的知识,讲解了二进制、十进制和十六进制,以及进制之间的互相转换。原创 2024-10-22 11:16:55 · 508 阅读 · 0 评论