在知识体系很庞杂的时候如何学习?
细小知识太多,感觉无从下手?
我的答案是抓住主线(关键词),宏观把握知识脉络,把知识点一个萝卜一个坑的填进去,这就是一个填字游戏…
操作系统存储管理这部分内容牵扯的知识其实挺多挺杂的,包括各种寄存器,描述符表,保护模式与实模式等等。故在此做一个整理,希望帮助自己和有缘看到本文的人理清思路。
背景知识:
- 8086:16位的Intel CPU。在此之前CPU是4位,8位的。此CPU中地址总线有20根,也就是说最大寻址范围2^20(1MB)
80x86:表示80286,80386等CPU
【其实说白了就是这些都是一系列不同版本的CPU】
- 寄存器:和内存一样用于存储信息的容器。和内存的区别在于内存在CPU之外,它在CPU之内。
类别 名称/解释 通用寄存器 AX/累加寄存器 BX/基地址寄存器 CX/计数寄存器 DX/数据寄存器 SP/堆栈指针寄存器 BP/基指针寄存器 SI/源地址寄存器 DI/目的变址寄存器 控制寄存器 IP/指令指针寄存器 FLAG/标志寄存器 段寄存器 CS/代码段寄存器 DS/数据段寄存器 SS/堆栈段寄存器 ES/附加段寄存器
首先是两个模式。
保护模式
实模式
然后就引出了一种重要的数据结构——描述符表,对应两种模式也有两种:
GDT
LDT
最后,就能理解操作系统里存储管理的方式了:
分页
分段