操作系统

  • Window,UNIX,Linux ,Max OS, Android, iOS
  • 操作系统是直接运行硬件之上计算机程序
  • 操作系统用于管理和控制计算机的硬件与软件程序‘
  • 操作系统为用户软件的开发提供必要的服务和接口

现代计算机系统架构

第1课 - 进阶操作系统

编译软件可以认为是用户软件,只不过是编译软件比较特殊,是用于程序开发的,最终可得到用户软件。

 

BIOS(Base Input & Output System)

  • BIOS 是计算机上电后第一个运行的程序
  • BIOS 首先检测硬件状态,检测通过后立即进行硬件初始化
  • BIOS 会在内存中建立中断向量表(提供硬件访问方式)
  • BIOS 最后将控制权交由主引导程序程序

注意:

BIOS 不是软件(software),而是固件(Firmware)

固件是固化于硬件中的程序,在硬件出厂前烧写固定。

系统启动流程(X86架构)

第1课 - 进阶操作系统

问题:

BIOS是如何运转起来的?

BIOS 的运行机制

  • BIOS 存储于 ROM 中,地址应射为 0xF0000 - 0XFFFF(实地址)
  • BIOS 的入口地址为:0xFFFF0(因为BIOS是程序,所以有入口地址)
  • 硬件电路的特殊设计使得:开机后,CPU从 0xFFFF0 处开始执行

BIOS最后的使命

  • 按照用户设置扫描各个存储介质(光驱,软驱,U盘,等)
  • 发现主引导区后,将主引导区中的主引导程序载入内存
  • 主引导程序在内存中的入口地址为 0x7c00
  • 将控制权交由主引导程序执行(jmp 0x7c00)

问题:

BIOS 如何在存储介质中寻找主引导区?

如何判断引导区中有没有主引导程序?

主引导区(MRB:Master Boot Record)

  • 位置:位于存储介质的最开始的位置处,大小为512字节
  • 特点:前512字节的最后2个有效字节为 0x55aa
  • 数据:0x55aa 之前的数据被视为主引导程序

更详细的系统启动流程(X86架构)

第1课 - 进阶操作系统

 

小结

  • BIOS 是计算机上电后第一个运行的程序
  • BIOS 进行必要的初始化, 并加载运行主引导程序
  • 主引导程序位于存储介质的最开始 512字节处
  • 主引导程序负责后续初始化,并加载运行操作内核

 

相关文章: