操作系统的实现
文章平均质量分 78
隐无影
默默努力的菜鸟
展开
-
操作系统实现之内存分页机制.虚拟空间
内存虚拟存储主要是为了将一个进程分为不同页.存储到不同物理页中.然而不同进程的虚拟地址是可以相同的.因为MMU把进程的虚拟地址映射到各个不同的物理地址中.以下操作系统采用二级分页.一开始CS:IP寄存器.将CS的基地址跟IP的偏移地址进行相加.得到线性地址.接着.线性地址的高10位用于当作页目录表的索引.页目录表保存的是页表的物理地址.接着.线性地址的低10位用于当作页表的索引.页原创 2016-06-26 01:09:12 · 2854 阅读 · 1 评论 -
bios内存分布-编写最简单操作系统(mbr)
0-3ff 1k用于中断向量表400-4ff 256B bios数据区500-7Bff 30kb 可自定义区域7C00-7BFF 512b MBR被bios加载到的内存区域7E00-9FBFF 608k 自定义区域9FC00-9FFFF 1kb 扩展bios数据区A0000-AFFFF 64k 彩色显示适配器B0000 B7FFF 32k原创 2016-06-17 18:51:53 · 5411 阅读 · 0 评论 -
操作系统之loader的实现
上一章已经讲解了笔记本从开始到bios加载MBR(主引导扇区)的相关内容.这章将介绍MBR跳转到loader的执行,以及用显卡直接输出到字符.有可能会有疑问为何还要写loader.因为mbr只能是512字节.这么小的空间没法做啥.只能作为跳板所以写个loader用来加载内核.从图可知.显卡的文本模式映射到了B8000处.只要把字符移到此处.就可以在屏幕显示字符,并且每个字符占用原创 2016-06-18 00:40:29 · 1903 阅读 · 0 评论 -
操作系统实现之保护模式
保护模式主要是为了防止用户程序故意使坏.而且用户所引用的地址都是指向真实的物理地址.跟内核属于同特权级.不利于安全.另外保护模式将是32/64位.大家所说的实模式一般指的是32位的cpu在16位模式下的状态.不是指的是16位cpu.本来没有实模式这个说法.不过后来出现保护模式.于是就出现了实模式说法保护模式下的改变通用寄存器扩展为32位段寄存器保存的不再是段基址,而是段选择子(原创 2016-06-18 14:16:15 · 2241 阅读 · 1 评论