摘要:
21.1 什么是高级可编程中断控制器 我们已经使用过型号为8259A的可编程中断控制器(Programmable Interrupt Controller,PIC)。在单CPU计算机中,中断的处理相对简单:所有的外设和CPU都连接在PIC上即可。然而,如果计算机中不止一个CPU,情况就会变得复杂起来 阅读全文
摘要:
20.1 64位ELF格式 在64位模式下,由于内存地址变宽,ELF格式中的内存地址也要跟着变宽。这并不是一个麻烦的问题,因为ELF格式的整体结构没有发生变化,仍然由一个文件头,加上若干程序头表组成。 对于64位ELF格式的文件头,我们需要关注的信息如下表所示: 偏移量 字节数 含义 0x18 8 阅读全文
摘要:
19.1 64位段描述符与GDT 在32位操作系统中,我们使用的是平坦模型而非分段模型,从而,段描述符的段基址和段限长均成了摆设。在64位模式下,就连CPU也淘汰了分段模型,转而固定使用平坦模型。 64位代码段描述符如下图所示: 如图所示,由于固定使用平坦模型,段描述符中的段基址、段限长、粒度等位均 阅读全文
摘要:
18.1 引言 我们已经实现了一个运行在保护模式下的操作系统,然而,读者朋友也许不会满足:如今早已是多核CPU,64位操作系统的时代,而我们的操作系统仅仅是单核CPU,32位的。因此,从本章开始,我们将在32位单核操作系统的基础上,将其升级为一个64位多核操作系统。 18.2 准备工作 我们仍然使用 阅读全文