版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PC32位操作系统启动过程朱韬2015-01-20课程内容PC系统启动模式历史PC主机硬件结构BIOS主要功能相关概念PC系统物理地址空间(X8632位)PC保护模式内存地址转换MBRDOS启动操作系统启动操作系统启动最终结果好书推荐PC系统启动模式历史DOS时代(它不能算是真正的操作系统)MAC和磁带(都以为是乔布斯最先实现的)PC和软盘(IBM实现,这时还没微软什么事)PC、BIOS、MBR和硬盘(也没微软什么事)PC操作系统时代PC、BIOS、MBR、硬盘和单个kernelPC、BIOS、MBR、硬盘、bootloader和多个kernelPC、EFI/UEFI、GUID、storage、bootloader和多个操作系统环境PC主机硬件结构90后00后BIOS主要功能自诊断程序:通过读取CMOS
RAM中的内容识别硬件配置,并对其
进行自检和初始化CMOS设置程序:引导过程中,用特殊热键启动,进行设置后,存
入CMOSRAM中系统自举装载程序:在自检成功后将磁盘相对0道0扇区上MBR的
引导程序装入内存,让其运行以装入操作系统(历史原因很复杂)主要I/O设备的驱动程序和中断服务:由于BIOS直接和系统硬件
资源打交道,因此总是针对某一类型的硬件系统,而各种硬件系
统又各有不同,所以存在各种不同种类的BIOS,随着硬件技术的
发展,同一种BIOS也先后出现了不同的版本,新版本的BIOS比起
老版本来说,功能更强(经典废话)最烦人的概念实模式和保护模式(兼容是个政治问题)物理存储器(内存条)物理地址(操作系统看不见)虚拟存储器(内存通货膨胀后的解决方法)虚拟地址/线性地址(一眼看不清)逻辑地址(哥只是个传说)实模式Intel808616位寄存器,寻址能力64K(可以支持文本图形)20位地址线,寻址能力1M(当时可不得了)地址线和寄存器有矛盾,因此产生了段(64K)16位基地址左移4位+16位偏移
=
20位地址DOS和Windows2.03.1Intel80286地址总线由原来的20根发展为24根,寻址能力16M(可以支持真正的图形界面)CPU通过A20GATE来控制A20地址线为了向下兼容,依然只是用20根地址线,多出来的4位地址造成了后来许多运行时BUG,因此286是个失败的产品保护模式Intel80386+(Linux诞生与此)32位寄存器,4G寻址(顺理成章的事)32位地址线,4G寻址(当时被认为足够用了)为了向下兼容,A20地址被用作实模式和保护模式的开关没有实际的内存段(段长可变,最大4G)全局描述符表(GDT)和局部描述符表(LDT)重要概念点(绕口令)线性地址空间:指linux系统中的虚拟地址空间,但虚拟地址
不是线性地址!(没有更好的表述了)cpu寻址使用的是物理地址。所以在使用cpu寻址前要把地址转
换好。(基本没有让你使用cpu寻址的可能)物理内存中的高端内存是DDR减去896M后多出来的那一段。虚
拟地址里面的高端内存是指用于映射物理高端内存的虚拟地址
空间。不过高端内存被映射到用户空间,那就是另外一回事了
(进程间通信时使用)。内核空间是可以访问用户空间的,不过不是通过虚拟地址直接
访问的(用户空间是内核空间映射出来的,我花了一年时间才
理解)。内存映射,在不同的情境中意义也不相同。(看不明白的时候
大多就是出现内存映射了)PC系统物理地址空间(X8632位)PC虚拟地址与物理地址转换MBR功能
硬盘的0柱面、0磁头、1扇区称为主引导扇区(也叫主引导记录MBR)。它由三个部分组成,主引导代码、硬盘分区表DPT(DiskPartitiontable)和分区有效标志(55AA)。
在总共512字节的主引导扇区里主引导程序(bootloader)占446个字节,第二部分是Partitiontable区(分区表),即DPT,占64个字节,硬盘中分区有多少以及每一分区的大小都记在其中。第三部分是magicnumber,占2个字节,固定为55AA。MBR结构DOS硬盘分区早期PC系统启动过程DOS系统启动成熟的PC系统启动过程(Win95+、Linux)无bootloader的系统启动(裸奔)有bootloader的单内核单操作系统的启动有bootloader的多内核单操作系统的启动有bootloader的多内核多操作系统的启动高级bootloader启动多种操作系统UEFI模式下的bootloader启动多种操作系统无bootloader的系统启动(kernel0.11)bootsect.s:内核引导程序保存在MBR中setup.s:操作系统加载程序,通常在bootloader中head.s:是system模块的最开始部分,使系统进入保护模式下运行系统启动过程中的控制权变化主机加电BIOS加载入内存实模式运行设备自检BIOS运行搜寻启动设备运行引导代码将启程引导序加载进内存从MBR加载启动引导代码启动引导程序接管主机控制权运行并开启保护模式加载系统内核系统内核接管主机控制权运行内核操作系统启动完成运行init进程操作系统初始化有bootloader的系统启动bootloader和MBR以及各分区间的关系Linuxkernel2.2+启动过程MBR系统启动后物理地址与虚拟地址的映射关系
物理地址有896M直接映射到虚拟地址的内存空间,这是一一对应的映射,只有起始地址不一样,偏移是一样的。
用户区的代码也是放在这段物理地址里面的,就是说物理地址可以进行二次映射。多出来的叫做高端内存,如果你使用vmalloc申请空间,就会在高端内存中分配,如果你使用kmalloc申请空间,就会在小于896的内存中分配。Linux系统启动完成
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年城口县医疗事业单位人员招聘考试模拟试题及答案解析
- 2026年文成县医疗事业单位人员招聘笔试模拟试题及答案解析
- 2026年黑山县医疗事业单位人员招聘考试备考试题及答案解析
- 2026年高唐县带编教师招聘笔试备考题库及答案解析
- 2026年祁县社区工作者招聘笔试模拟试题及答案解析
- 2026年巫溪县医疗事业单位人员招聘笔试备考试题及答案解析
- 2026年伊吾县带编教师招聘笔试备考题库及答案解析
- 2026年同德县带编教师招聘笔试备考题库及答案解析
- 2026年围场满族蒙古族自治县带编教师招聘笔试备考题库及答案解析
- 2026年淮滨县医疗事业单位人员招聘考试备考题库及答案解析
- 2025年西藏自治区昌都市事业单位人员招聘考试试题及答案详解
- 拓展培训项目-:85个常规拓展项目介绍
- 不孕症诊疗中国指南(2026 版)
- 乡村路面养护方案
- GB/T 47335.2-2026中医药诊断词汇第2部分:脉象
- 林业从业人员森林防火培训课件
- 五年(2021-2025)中考数学真题分类汇编(重庆专用)05:圆(教师版)
- 2022-2024重庆市开州区铁桥镇社区工作者招聘考试真题
- 封装芯片培训课件
- 2025年大学《微电子科学与工程-模拟集成电路设计》考试模拟试题及答案解析
- 水利水电工程移民安置验收规程(2025版)
评论
0/150
提交评论