Linux原理与结构 作者 郭玉东 全书 第2章.ppt

Linux原理与结构 作者 郭玉东 全书 第2章.ppt

  1. 1、本文档共140页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
  如果不考虑虚拟机监控器(VMM),操作系统内核就是最底层的系统软件。操作系统内核直接运行在计算机硬件平台之上,其设计技术与实现方法都与硬件平台有着十分密切的关系。离开了硬件平台的支持,操作系统内核的许多管理工作都难以开展。事实上,计算机硬件平台中的许多功能也是专门为操作系统内核设计的,只有操作系统内核才会使用它们。要了解操作系统内核的原理与结构,就必须了解计算机的硬件平台。   在复杂的计算机硬件平台中,最核心的是处理器,与内核设计关系最密切的也是处理器。虽然Linux内核可以运行在多种处理器之上,但Intel系列的处理器是Linux支持的第一种处理器,也是目前最常见的处理器,更是本书的讨论基础。   Linux内核是用C和汇编语言写成的,然而它所用的C语言经过了GNU的扩展,所用的汇编语言采用的是ATT的格式。Linux内核的实现充分利用了GNU C和ATT汇编的扩展特性,与这两种语言的结合极为紧密。GNU C和ATT格式的汇编是Linux的核心开发工具,也是理解Linux内核源代码的基础。   另外,在Linux内核的诸多数据结构中,最常见的是链表和树。链表和树的实现方式很多,为了避免重复,Linux设计了通用链表和红黑树。当需要将某种结构组织成链表或红黑树时,Linux就会在其中嵌入一个通用链表节点或红黑树节点。      操作系统所管理的计算机硬件平台大致由CPU、内存、外存和其它外部设备组成,它们之间通过总线连接在一起。图2.1是一种抽象的计算机硬件平台的组织结构。    图2.1 计算机硬件平台的组织结构   处理器又叫CPU,是整个计算机系统的大脑,它负责执行由指令构成的程序,并通过程序的执行来控制整个计算机系统。一个计算机系统中可以有一个或多个处理器,一个处理器中又可以有一个或多个核(Core)。为方便起见,可以将一个核看成一个独立的处理器。一个以多核处理器为核心的计算机系统等价于一个多处理器(SMP)系统。   内存是处理器执行程序、加工数据的场所,是处理器可以直接访问的存储空间。内存通常被抽象成一个字节数组,其中的每个字节都有一个地址。处理器可通过地址随机地访问内存中的任意一个字节。为了加快内存的访问速度,计算机系统中通常都提供了一些高速缓存(Cache)。Cache通常由硬件管理。   I/O设备通常由I/O控制器和物理设备组成。处理器通过I/O控制器管理物理设备。对内核来说,I/O控制器主要由控制与状态寄存器(CSR)和数据寄存器组成。处理器通过读CSR获得设备的状态、通过写CSR来控制设备的动作、通过读写数据寄存器与I/O设备交换数据。因而,内核通常将一个I/O设备抽象成一组寄存器,并给每个寄存器一个I/O地址。处理器通过I/O地址访问所有的I/O寄存器。有些处理器还提供了I/O指令,专门用于访问I/O寄存器,如Intel的in、out指令。   现代计算机系统中的许多设备寄存器可被映射到物理地址空间中。此时,每个设备寄存器都有一个物理内存地址,处理器可以像访问物理内存一样访问设备的寄存器。这种方式的I/O称为内存映射I/O(MMIO),它的使用更加方便,但会消耗物理地址。   在所有的I/O设备中,对系统影响最大的是外部存储设备,如硬盘、光盘等。操作系统、应用程序、数据文件等都存储在外部存储设备(如磁盘)上。 为了便于管理,通常把外存抽象成一个数据块的数组,每个数据块都有一个序号。处理器可以通过序号随机地读、写外存中的任何一个数据块。对外存的操作以块为单位,因此又称外存为块设备。对应地,其它I/O设备称为字符设备。   总线负责将处理器、内存、I/O控制器等连接起来,组合成一个完整的计算机系统。常用的总线有ISA、PCI、PCI-E、AGP、ATA、SCSI等。总线除负责计算机系统中各部件之间的通信之外,还负责检测、枚举连接在其上的设备,报告它们的信息。      在众多的处理器中,最常见的是Intel处理器。Intel处理器是一个大家族,包括多个系列的产品,如80386、80486、Pentium、Pentium II、Pentium III、Pentium 4、Xeon、CoreTM Duo、CoreTM Solo等。若按处理器的体系结构划分,可将主流的Intel处理器分为两大类,即IA-32和Intel 64。其中,IA-32提供32位编程环境,Intel 64提供64位编程环境。Intel 64与IA-32是兼容的。   Intel处理器为操作系统内核的设计提供了多种支持机制,包括操作模式、内存管理机制、进程管理机制、中断处理机制、保护机制、专用寄存器和指令等。 2.2.1 处理器操作模式   定义操作模式的目的主要是为了兼容。在设计8086处理器时,Intel并没

文档评论(0)

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

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

1亿VIP精品文档

相关文档