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

操作系统的两种模式

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进程根据脚本文件执行相应的脚本初始化系统

  • 14
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Maybe_ch

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值