文章目录
操作系统启动过程
BIOS和主引导记录MBR
实模式和保护模式
实模式(实地址模式,REAL MODE)
- 程序按照8086寻址方法访问0h–FFFFFh(1MB:1024*1024=2^20)空间
- 寻址方式:物理地址(20位)=段地址(16位):偏移地址(16位)
- CPU单任务运行
保护模式(内存保护模式,PROTECT MODE)
- 寻址方式:段(32位)和偏移量(32位),寻址4GB空间
- 段的属性:起始地址,存取属性,权限级别,…
- 段页式寻址机制(段、页)
- 虚拟地址、进程、封闭空间
- 应用程序和操作系统的运行环境都被保护(保护的对象是内存)
- CPU支持多任务
系统BIOS
Basic I/O System。bios既不属于硬件也不属于软件,而是Firmware固件。
固件是以硬件的方式存在,但内部是软件。
- 基本输入/输出系统
- 位置 F0000~FFFFF 最后的64k
Bios功能:
- 系统启动配置
- 基本的设备I/O服务
- 系统的加电自检和启动
bios的I/O服务用中断的方式来实现。
CS:IP初始化就是FFFF0指令。这是一条跳转指令JUMP POST:POST位于系统BIOS内部。
bios读硬盘的时候,先读首扇区MBR。这个启动记录512个字节。最后两个字节一定是0xAA55h。
操作系统启动过程
启动过程
从加电到用户工作环境准备好的过程
- (1)初始引导
- (2)核心初始化
- (3)系统初始化
初始引导的目的:
-
把操作系统的核心装入内存并使之开始工作接管计算机系统
过程: -
加电,JUMP POST
-
…BIOS中的启动程序运行
-
启动程序:
- 读取0面0道第1扇区内容(MBR)
- 加载MBR中的引导程序
-
引导程序:
- 根据相关参数,读取硬盘指定位置的文件到内存
- 加载硬盘上的操作系统内核,并初始化基本参数
常见的引导程序:
(1)ntldr
(2)GRUB
(3) bootmgr
(4)LILO
核心初始化
- 目的:OS内核初始化系统的核心数据
- 典型工作:
- 各种寄存器的初始化
- 存储系统和页表初始化
- 核心进程构建
- …
系统初始化
- 为用户使用系统做准备,使系统处于待命状态
- 主要工作:
- 初始化文件系统
- 初始化网络系统
- 初始化控制台
- 初始化图形界面
- …
操作系统的生成
- 满足特定硬件环境和用户需要,组装和构建操作系统过程。
操作系统生成的主要步骤
- 根据硬件环境/用户要求配置功能模块和构造参数
- 构建(build)OS的影像
操作系统生成的前提
- 操作系统由可拆装的模块构成
- 有交互式配置工具
- 有映像构建(build)工具
操作系统的生成
title指示提示信息
root表示启动设备、路径
kernel启动映像文件根目录
操作系统用户界面
用户shell脚本编程
系统调用
系统调用的特点:
- 一般涉及核心资源或硬件的操作
- 运行于核态
- 每一个系统调用具有唯一的编号:ID
- 调用过程中会产生中断,自愿中断
先用AH来接收用户指定的系统调用号,然后用INT 21H进行自愿中断
printf和exit都会引发中断(隐式的)