操作系统概述
1. 现代PC机的组成
一个微型计算机的组成如上图所示:
名词解释:
MCH:内存控制器中心,即北桥芯片,用于连接CPU、MM、AGP视频接口,这些设备具有很高的传输速率。MCH还起着MM控制作用。(原书中讲述存储器控制作用,这里的存储器本人认为是MM。)
ICH:IO控制器中心,即南桥芯片。用于连接SATA、网络接口、USB、PCI-E等低中速接口(设备中、低速)。
操作系统内核模块
操作系统的内核模块主要有以下基本组成,其依赖关系如下图所示:
- 进程调度
- 进程间通信
- 内存管理
- 文件系统
- 网络接口
从上图应该可以意识到,进程管理和内存管理应当是相当复杂的逻辑过程。
计算机的启动过程
-
BIOS启动设置
当计算机系统上电开启或者按了机箱上复位按钮之后,CPU会自动把代码寄存器CS设置为0xF000,其段基址为0xFFFF0000,段长为64KB,而IP被设置为0xFFF0,此时CPU代码指针指向0xFFFFFFF0处,即4G空间最后一个64KB中的最后16字节处,即ROM BIOS的地址,并且BIOS在此处有一个JMP跳转指令,跳转到BIOS代码中64KB范围内的某一条指令中,并用一种称为32位大模式(Big Mode)技术,将将数据段寄存器的访问范围设置成4G,这样便可以在整个内存空间(0-4G)内执行和操作数据。 -
BIOS硬件检测与初始化
此后BIOS开始执行硬件检测和初始化操作,如果出现问题,就会阻塞到那个地方(陷入死循环,并触发警报),如果一切正常,BIOS就会将本身的代码和数据复制到,内存低端1M末端的最后64K处,然后跳转到这个地方继续执行。 -
加载引导程序bootsect并载入setup
下一步,计算机从选择好的存储设备中(选择系统启动盘)读取起始的512Byte,也就是主引导记录(MBR,master boot record),一般引导程序都会分成两个部分,一部分写在MBR中,一部分写在MBR后面的磁道中(因MBR太小,才512Byte),程序执行MBR中的引导程序,将后序的引导程序加载进入内存(0x7c00)