linux系统启动过程分析上.ppt

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
linux系统启动过程分析(上) 内容介绍 本章我们将通过源代码分析操作系统引导的过程,所谓引导就是开机通电后,硬件系统是如何将磁盘中的操作系统调入到内存中运行,然后将控制权交给操作系统的全部过程。 现在操作系统都运行在保护模式下,因此保护模式编程以及分页式内存管理是首先需要介绍的。 由于引导部分使用了两种汇编语言,因此有必要介绍一下ATT汇编语言。 本章内容 与启动有关的背景知识 PC/AT组成与引导原理 80X86保护模式初步 Linux0.01启动分析 引导过程的描述 Boot.s的分析 ATT汇编语言初步 head.s的分析 第一节与启动有关的背景知识 PC/AT组成与引导原理 80X86保护模式初步 PC/AT组成与引导原理 PC/AT总体组成 主存储器、BIOS和CMOS存储器 I/O寻址和访问控制 中断控制 PC/AT组成框图 现代pc机芯片组 控制卡和控制器大多已经被集成在少数几个超大规模芯片上,最主要的是连接CPU内存和AGP视频控制器的北桥芯片MCH(Memory Controller Hub,内存控制器集线器和连接中低速控制器(PCI总线,IDE硬盘借口,USB端口等)的南桥芯片ICH(Input/Output Controller Hub,输入/输出控制集线器) 虽然总线接口发生很大变化,但编程模式仍然保持一致。操作系统要负责管理这些控制卡和控制器。 主存储器、BIOS和CMOS存储器 BIOS用作开机后的自检,然后将操作系统的引导程序加载到0x7c00处,并条转到这个地方执行 BIOS程序固化在主板的ROM芯片中(Flash Rom),拥有访问硬件的程序,并且也使用了中断机制,因此配置了中断向量表,但linux系统在加载之后就抛开bios不在依赖bios访问硬件,原来的中断向量表也重新配置 CMOS存储器(64-128B)存放实时钟信息和系统硬件配置信息。这部分存储器采用独立的地址空间,通常和RTC(real time chip)芯片集成在一起,RTC芯片(PC/AT采用Motorola的MC146818)在开机时为操作系统提供当前时间日期(time_init())然后就没什么用了。 BIOS ROM 早期的BIOS多为可重写EPROM芯片,上面的标签起着保护BIOS内容的作用,因为紫外线照射会使EPROM内容丢失,所以不能随便撕下。现在的ROM BIOS多采用Flash ROM(快闪可擦可编程只读存储器),通过刷新程序,可以对Flash ROM进行重写,方便地实现BIOS升级。   目前市面上较流行的主板BIOS主要有Award BIOS、AMI BIOS、Phoenix BIOS三种类型。Award BIOS是由Award Software公司开发的BIOS产品,在目前的主板中使用最为广泛。Award BIOS功能较为齐全,支持许多新硬件,目前市面上主机板都采用了这种BIOS。   AMI BIOS是AMI公司出品的BIOS系统软件,开发于80年代中期,它对各种软、硬件的适应性好,能保证系统性能的稳定,在90年代后AMI BIOS应用较少;Phoenix BIOS是Phoenix公司产品,Phoenix BIOS多用于高档的原装品牌机和笔记本电脑上,其画面简洁,便于*作,现在Phoenix已和Award公司合并,共同推出具备两者标示的BIOS产品。 I/O寻址 独立编址和统一编址 I/O控制期或控制卡通过端口(数据端口、命令端口、状态端口)被CPU进行访问,对端口进行独立于存储器地址之外进行编址称为独立编址,否则就是统一编址。 PC兼容机主要使用独立编址,使用专门的I/O指令访问端口 PC兼容机也部分采用了统一编址方式,比如CGA显示内存的地址就直接占用地址空间0xB800-0xBC00,直接用内存操作指令对该区域写就可以在屏幕上显示一个字符 早期的ISA总线的PC其I/O地址空间为0x000-0x3FF,共1024个端口地址可用 现代基于PCI总线的PC其I/O地址空间为0x0000-0x3FFF,共64KB个端口地址可用(LINUX中使用命令cat /proc/ioports可以查看I/O地址使用情况) I/O访问控制 循环查询方式(能立即返回信息才采用) CPU在程序中循环查询设备的状态来判断是否可以进行数据交换 不需要特别的硬件支持 编程简单 中断处理方式(大多数设备采用) 需要中断控制器的支持 I/O设备通过中断控制器向CPU发出请求 DMA传输方式(外部存储器设备采用) 需要DMA(Direct Memory Access)控制器的支持 I/O设备和内存间通过DMA直接批量传输数据,其间无需CPU的干预(仅在启动和结束的时候通过中断方式通知CPU或者接受CPU的命令)

文档评论(0)

phljianjian + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档