计算机操作系统-操作系统启动过程

2024-04-23 19:11:22 浏览数 (1)

操作系统的两种模式

1.实模式(实地址模式)

  • 计算机刚加电时处于实模式下
  • 程序按照8086寻址方式访问0h-FFFFFh(1MB)空间
  • 寻址方式:物理地址(20位)=短地址:偏移地址
  • CPU单任务运行

2.保护模式

  • 计算机启动成功后处于保护模式下
  • 寻址方式:段(32位)和偏移量(32位),寻址4GB空间
  • 段页式寻址机制(段,页)
  • 虚拟地址,进程,封闭空间
  • 应用程序和操作系统的运行环境都被保护
  • CPU支持多任务

段的属性:其实地址,存起属性,权限级别…

系统BIOS(Basic I/O System)

基本输入/输出系统 位置:F0000-FFFFF

功能:

  • 系统启动配置
  • 基本的设备I/O服务
  • 系统的加电自检和启动

MBR

BIOS读硬盘的过程会先读主启动记录MBR

  • 存放在硬盘/软盘的首扇区
  • 存放和OS启动的相关信息
  • 512BYTES
  • 结束:0Xaa55h

硬盘扇区

在这里插入图片描述在这里插入图片描述

硬盘扇区如上图划分,在系统扇区中,存在分区启动扇区(PBR),在MBR分区中存在主启动扇区。

主启动扇区:完成OS加载或启动管理功能

  • 提供菜单:让用户选择不同的启动项,实现多重启动
  • 加载核心文化:直接指向可启动区加载操作系统
  • 跳转:将启动管理功能转交给其他loader

BIOS和MBR程序运行过程

  1. POST->硬盘启动->读取MBR->控制权交给MBR
  2. MBR读取分区表,找到其中的活动分区,并确认其他的分区都不是活动分区。MBR读取活动分区的第一个分区(分区引导记录PBR),并把他加载到内存中去。
  3. PBR继续控制后面的引导过程

操作系统的启动

(1)初始引导 目的:把OS的核心装入内存并使之开始工作接管计算机系统 过程: 1)加电,JUMP POST 2)BIOS中的启动程序: 读取0面0道第1扇区内容(MBR) 加载MBR中的引导程序

引导程序 根据相关参数,读取硬盘指定位置的文件到内存 加载硬盘上OS内核,并初始化基本参数

(2)核心初始化 目的:OS内核初始化系统的核心数据 典型工作

  • 各种寄存器的初始化
  • 存储系统的页表初始化
  • 核心进程构建

(3)系统初始化 目的:为用户使用系统做准备,使系统处于待命状态 主要工作 初始化文件系统、网络系统等

Windows启动过程

1.POST 2.加电后BIOS启动主机自检程序 3.初始引导 BIOS从MBR读取引导程序,装入内存的特点文职 引导程序启动DOS7.0,调入操作系统核心 WINDOWS开始接管系统 4.核心初始化 资源状态、核心数据等初始化 5.系统初始化 GUI界面生成,系统处于待命/消息接受状态

Linux启动过程

POST->MBR->KERNEL映像(内核映像)->KERNEL映像自解压并执行 ->内核初始化->内核启动->加载init程序

KERNEL映像是一个zlib压缩国的内核映像 内核完成引导后,加载init程序 进程号1 init进程通过/etc/inittab脚本进行初始化 不同运行级别(Runlevel)/etc/inittab脚本不同 脚本文件/etc/inittab init进程根据脚本文件执行相应的脚本初始化系统

0 人点赞