Linux操作系统分析与实践

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Linux操作系统分析与实践第二讲:计算机系统硬件基础Page2本讲主要内容概述中央处理器(CPU)存储系统中断机制I/O系统时钟以及时钟队列Linux启动过程SMP及多核技术Page3操作系统的硬件环境讨论操作系统对运行硬件环境的要求讨论操作系统设计者考虑的硬件问题中央处理器(CPU)存储系统中断机制I/O系统时钟以及时钟队列名门棋牌官网1PK1棋牌公社官网一、概述任何系统软件都是硬件功能的延伸操作系统直接依赖于硬件条件OS的硬件环境以较分散的形式同各种管理相结合实现操作系统时必须理解的计算机基本结构操作系统管理的重要资源Page5计算机系统的组成Page6中央处理器(CPU)专门设计了一系列基本机制:-具有特权级别的处理器状态,能在不同特权级运行的各种特权指令-硬件机制使得OS可以和普通程序隔离实现保护和控制Page71.1CPU的构成与基本工作方式处理器由运算器、控制器、一系列的寄存器以及高速缓存构成运算器实现指令中的算术和逻辑运算,是计算机计算的核心控制器负责控制程序运行的流程,包括取指令、维护CPU状态、CPU与内存的交互等等Page8寄存器是指令在CPU内部作处理的过程中暂存数据、地址以及指令信息的存储设备在计算机的存储系统中它具有最快的访问速度高速缓存处于CPU和物理内存之间一般由控制器中的内存管理单元(MMU:MemoryManagementUnit)管理访问速度快于内存,低于寄存器利用程序局部性原理使得高速指令处理和低速内存访问得以匹配,从而提高CPU的效率Page9处理器中的寄存器寄存器提供了一定的存储能力速度比主存快得多造价高,容量一般都很小两类寄存器:用户可见寄存器,高级语言编译器通过算法分配并使用之,以减少程序访问主存次数控制和状态寄存器,用于控制处理器的操作由OS的特权代码使用,以控制其他程序的执行Page10用户可见寄存器机器语言直接引用包括数据寄存器、地址寄存器以及条件码寄存器数据寄存器(dataregister)又称通用寄存器主要用于各种算术逻辑指令和访存指令地址寄存器(addressregister)用于存储数据及指令的物理地址、线性地址或者有效地址,用于某种特定方式的寻址。如indexregister、segmentpointer、stackpointer条件码寄存器保存CPU操作结果的各种标记位如算术运算产生的溢出、符号等等Page11控制和状态寄存器用于控制处理器的操作大部分对于用户是不可见的一部分可以在某种特权模式(由OS使用)下访问常见的控制和状态寄存器:程序计数器(PC:ProgramCounter),记录将要取出的指令的地址指令寄存器(IR:InstructionRegister),包含最近取出的指令程序状态字(PSW:ProgramStatusWord),记录处理器的运行模式信息等等Page121.2、特权指令和非特权指令特权指令:只能由操作系统使用的指令使用多道程序设计技术的计算机指令系统必须要区分为特权指令和非特权指令处理器通过特殊的机制将处理器状态切换到操作系统运行的特权状态(管态)•CPU如何知道当前运行的是操作系统还是一般应用软件?有赖于处理器状态的标识Page131.3、处理器的状态根据运行程序对资源和机器指令的使用权限将处理器设置为不同状态多数系统将处理器工作状态划分为管态和目态管态:操作系统管理程序运行的状态,较高的特权级别,又称为特权态(特态)、核心态、系统态目态:用户程序运行时的状态,较低的特权级别,又称为普通态(普态)、用户态有些系统将处理器状态划分核心状态、管理状态和用户程序状态(目标状态)三种Page14实例:x86系列处理器(1)386、486、Pentium系列都支持4个处理器特权级别(特权环:R0、R1、R2和R3)从R0到R3特权能力依次降低R0相当于双状态系统的管态R3相当于目态R1和R2则介于两者之间,它们能够运行的指令集合具有包含关系:3210RRRRIIIIPage15各个级别有保护性检查(地址校验、I/O限制)特权级别之间的转换方式不尽相同四个级别运行不同类别的程序:R0-运行操作系统核心代码R1-运行关键设备驱动程序和I/O处理例程R2-运行其他受保护共享代码,如语言系统运行环境R3-运行各种用户程序现有基于x86处理器的操作系统,多数UNIX、Linux以及Windows系列大都只用了R0和R3两个特权级别实例:x86系列处理器(2)Page161.4、程序状态字PSW(ProgramStatusWord)在PSW中专门设置一位,根据运行程序使用指令的权限而设置CPU状态CPU的工作状态码——指明管态还是目态,用来说明当前在CPU上执行的是操作系统还是一般用户,从而决定其是否可以使用特权指令或拥有其他的特殊权力条件码——反映指令执行后的结果特征中断屏蔽码——指出是否允许中断Page17例:微处理器M68000的程序状态字1514131211109876543210TSI2I1I0XNZVC条件位:C:进位标志位V:溢出标志位Z:结果为零标志位N:结果为负标志位I0–I2:三位中断屏蔽位S:CPU状态标志位,为1处于管态,为0处于目态T:陷阱(Trap)中断指示位为1,在下一条指令执行后引起自陷中断Page18CF:进位标志位ZF:结果为零标志位SF:符号标志位OF:溢出标志位标准条件位:TF:陷阱标志位IF:中断允许(中断屏蔽)标志位VIF:虚拟中断标志位VIP:虚拟中断待决标志位IOPL:IO特权级别例:微处理器Pentium的程序状态字Page19CPU状态的转换目态→管态唯一途径是中断管态→目态设置PSW(修改程序状态字)可实现Page20二、存储系统支持OS运行硬件环境的一个重要方面:作业必须把它的程序和数据存放在内存中才能运行多道程系统中,若干个程序和相关的数据要放入内存操作系统要管理、保护程序和数据,使它们不至于受到破坏操作系统本身也要存放在内存中并运行Page212.1、存储器的类型半导体存储器实现内存存储器芯片的内部组织结构静态存储器(SRAM)异步动态随机存储器(DRAM)同步动态随机存储器(SDRAM)双倍数据速率SDRAM(DDRSDRAM)(开放标准)Rambus公司的SDRAMPage22只读型存储器ROM(Read-OnlyMemory):只能从其中读取数据,但不能随意用普通方法写入数据(写入数据只能用特殊方法)在微机中,一些常驻内存的模块以微程序形式固化在ROM中,如:PCBIOS和CBASIC解释程序被固化于ROM中PROM:可编程只读存储器,使用特殊PROM写入器写入数据EPROM:电可擦写可编程只读存储器,用特殊的紫外线光照射此芯片,以“擦去”信息,恢复原来状态,再使用特殊EPROM写入器写入数据闪存(flashmemory)存储器的类型Page232.2、存储器的层次结构存储系统设计三个问题:容量、速度和成本容量:需求无止境速度:能匹配处理器的速度成本问题:成本和其他部件相比应在合适范围之内Page24容量、速度和成本三个目标不可能同时达到最优,要作权衡存取速度快,每比特价格高容量大,每比特价格越低,同时存取速度也越慢解决方案:采用层次化的存储体系结构当沿着层次下降时每比特的价格将下降,容量将增大速度将变慢,处理器的访问频率也将下降Page25层次化的存储体系结构Page26存储访问局部性原理提高存储系统效能关键点:程序存储访问局部性原理程序执行时,有很多的循环和子程序调用,一旦进入这样的程序段,就会重复存取相同的指令集合对数据存取也有局部性,在较短的时间内,稳定地保持在一个存储器的局部区域处理器主要和存储器的局部打交道在经过一段时间以后,使用的代码和数据集合会改变Page272.3、存储分块存储最小单位:“二进位”,包含信息为0或1最小编址单位:字节,一个字节包含八个二进位主流个人电脑主存:128MB~512MB之间辅助存储器:在20GB~70GB工作站、服务器主存:512MB~4GB之间硬盘容量:数百GB为简化分配和管理,存储器分成块,称一个物理页(Page)块的大小:512B、1K、4K、8KPage282.4、存储保护设施对主存中的信息加以严格的保护,使操作系统及其他程序不被破坏,是其正确运行的基本条件之一多用户,多任务操作系统:OS给每个运行进程分配一个存储区域问题:多个程序同时在同一台机器上运行,怎样才能互不侵犯?如何处理重定位?Page29保护的硬件支持解决方案依赖于配有特殊硬件的CPU硬件可提供如下功能:界地址寄存器(界限寄存器)存储键地址转换机制Page30界地址寄存器(界限寄存器)界地址寄存器被广泛使用的一种存储保护技术机制比较简单,易于实现实现方法:在CPU中设置一对下限寄存器和上限寄存器存放用户作业在主存中的下限和上限地址也可将一个寄存器作为基址寄存器,另一寄存器作为限长寄存器(指示存储区长度)每当CPU要访问主存,硬件自动将被访问的主存地址与界限寄存器的内容进行比较,以判断是否越界如果未越界,则按此地址访问主存,否则将产生程序中断——越界中断(存储保护中断)Page31界地址寄存器存储保护技术Page32存储键每个存储块有一个由二进位组成的存储保护键一用户作业被允许进入主存,OS分给它一个唯一的存储键号并将分配给该作业各存储块存储键也置成同样键号当OS挑选该作业运行时,OS将它的存储键号放入程序状态字PSW存储键(“钥匙”)域中每当CPU访问主存时,都将该主存块的存储键与PSW中的“钥匙”进行比较如果相匹配,则允许访问,否则,拒绝并报警Page33地址转换机制同时有多个程序在内存程序在内存的位置不是固定的而是随机的用户程序A内存用户程序BPage34CPUMMU内存磁盘控制器总线虚拟地址物理地址MMU:内存管理单元Page35地址转换机制虚拟地址(逻辑地址)处理器生成的指令或数据的二进制地址这些地址用硬件和软件结合的方法转换成物理地址MMU:内存管理单元,一种特殊硬件,完成转换工作Page36三、中断技术中断对于操作系统的重要性就像机器中的驱动齿轮一样所以有人把操作系统称为是由“中断驱动”或者“(中断)事件驱动”它使得OS可以捕获用户程序发出的系统功能调用及时处理设备的中断请求防止用户程序中破坏性的活动等等Page373.1、中断的概念CPU对系统发生的某个事件作出的一种反应CPU暂停正在执行的程序,保留现场后自动转去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序特点:1)中断随机的2)中断是可恢复的3)中断是自动处理的引入中断的目的解决主机与外设的并行工作问题实现实时控制Page38中断/异常:指系统发生某个异步/同步事件后,处理机暂停正在执行的程序,转去执行处理该事件程序的过程中断的引入:为了开发CPU和通道(或设备)之间的并行操作,当CPU启动通道(或设备)进行输入/输出后,通道便(或设备)可以独立工作了,CPU也可以转去做与此次输入/输出不相关的事情,那么通道(或设备)输入/输出完成后,还必须告诉CPU继续输入/输出以后的事情,通道(或设备)通过向CPU发中断告诉CPU此次输入/输出结束中断的概念Page39异常引入:用于表示CPU执行指令时本身出现算术溢出、零做除数、取数时的奇偶错,访存指令越界或就是执行了一条所谓“异常指令”(用于实现系统调用)等情况,这时中断当前的执行流程,转到相应的错误处理程序或异常处理程序注意:最早中断和异常并没有区分,都把它们叫做中断。随着它们的发生原因和处理方式的差别愈发明显,才有了以后的中断和异常中断的概念Page40中断(外中断)异常(内中断)例外I/O中断时钟中断系统调用缺页异常断点指令其他程序性异常(如算术溢出等)中断(狭义

1 / 164
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功