预备知识
文章平均质量分 90
guoguangwu
这个作者很懒,什么都没留下…
展开
-
i386的页式内存管理机制
学过操作系统原理的读者都知道,内存管理有两种,一种是段式管理,另一种是页式管理,而页式管理更为先进。从80年代中期开始,页式内存管理进入了各种操作系统(以Unix为主)的内核,一时成为操作系统领域的一个热点。Intel从80286开始实现其保护模式,也即段式内存管理。但是很快发现,光有段式内存管理而没有也是内存管理是不够的,那样会使它的x86系列逐渐失去竞争力以及作为主流CPU产品的地位。因此,在不久以后的80386中就实现了对页式内存管理的支持。也就是说,80386除了完成并完善从80286开始的段式原创 2021-10-30 16:28:39 · 230 阅读 · 0 评论 -
Intel x86 CPU系列的寻址方式
Intel可以说是资格最老的微处理器芯片制造商了,历史上的第一个微处理器芯片4004就会Intel制造的。所谓x86系列,是指Intel从16位微处理器8086开始的整个CPU芯片系列,系列汇总的每种型号都保持与前面的各种型号兼容,主要有8086、8088、80186、80286、80386、80486以及各种型号的Pentium芯片。自从IBM选择8088用于PC个人计算机以后,x86系列的发证就与IBM PC及其兼容机的发展休戚相关了。其中80186并不广为人知,就与IBM当初决定停止在PC机中使用80原创 2021-10-30 16:02:16 · 1040 阅读 · 0 评论 -
linux内核源代码中的汇编语言代码
任何一个用高级语言编写的操作系统,其内核源代码中总有少部分代码是用汇编语言编写的。读过Unix SysV源代码的读者都知道,在其约3万行的核心代码中用汇编语言编写的代码约2000行,分成不到20个扩展名为.s和.m的文件,其中大部分是关于中断与异常处理的底层程序,还有就是与初始化有关的程序以及一些核心代码中调用的公用子程序。用汇编语言辨析核心代码中的部分代码,大体上是出于如下几个方面的考虑:操作系统内核中的底层程序直接与硬件打交道,需要用到一些专用指令,而这些指令在C语言中并无对应的语言成分。例如,原创 2021-10-29 22:45:30 · 940 阅读 · 0 评论