计算机体系结构 | 您所在的位置:网站首页 › x86处理器操作系统工作在 › 计算机体系结构 |
下文中部分图片摘自:https://chyyuu.gitbooks.io/ucore_os_docs/content/lab0/lab0_2_1_about_labs.html 本文将以开源操作系统Linux举例说明。 1. 操作系统概述操作系统是用户程序和硬件之间的接口, 为用户提供各种服务和监控功能,其主要作用有处理基本的输入输出操作、分配内存和外存、为多个应用程序提供共享计算机资源的服务等。下图为操作系统在计算机系统的角色: 下图为适配龙芯电脑的Linux的代码目录结构图(图片摘自“基于龙芯的linux内核探索解析”一书) 操作系统包括三大基本功能和三大其他功能,分别是异常和中断处理、内存管理和进程管理,以及文件系统、设备驱动和网络协议。三大基本功能主要涉及两部分内容,一部分是与体系结构相关的特定内容,另一部分是是与体系结构无关的通用框架;三大其他功能集基本均与体系结构无关。 1 OS与指令集相关的内容(1)ISA中定义的工作态 (2)ISA中的异常处理 MIPS中的异常处理 硬件检测到异常发生,并将发生时的信息保存到CP0(特殊寄存器堆,是CPU和操作系统的交互窗口),然后跳转到操作系统的通用异常处理入口。同时禁止一切异常的检测,否则检测到的异常会使系统崩溃通用异常处理代码通过提取的异常信息识别出发生的异常,据此分发到相应的异常处理代码所发生的异常处理代码运行完毕后,CPU跳转到被异常打断的指令重新开始运行,同时使能异常检测。 2 OS与CPU硬件相关的内容(1)硬件在异常处理时的任务 事务1和2一般由一个异常识别单元完成,且设计为组合逻辑电路,这样才能在异常发生时产生异常信息,并通知控制器进行异常处理 识别操作系统所需要了解的异常在异常发生时将异常信息保存到指定的位置能够随时将异常处理代码地址或返回地址写入PC,已完成异常处理的进入和返回能够对异常的检测进行使能(2)虚实地址转换 3. 多种工作态和硬件保护机制一般情况下,CPU有多种种运行模式,能够支持多个程序在各自独立的内存空间中并发执行,且有用户特权级和内核特权级的区分,让一般应用不能破坏操作系统内核和执行特权指令。 1 内存和工作态 内存地址是访问内存空间的索引,一般内存空间有两种:一个是CPU通过总线访问物理内存空间用到的物理地址,另一个是程序员编写的应用程序用到的逻辑地址(虚拟地址)。 例如C语言中的指针存储的内容就是指针指向的变量的逻辑地址。 有关虚拟地址参见:https://blog.csdn.net/qq_39815222/article/details/107020684 工作态利用 程序状态字的态(模式)来对特权指令、访存范围进行控制 一般分为用户态和核态 进入核态由中断/异常机制实现,按照中断/异常向量表进入到约定程序入口 2 以arm32处理器为例 七种运行模式除用户模式外,其他六种模式为特权模式。低权模式进入高权模式要通过中断或异常 用户模式系统模式快中断模式中断模式管理模式种植模式未定义模式线程/进程/虚拟机的现场: 大多与操作系统无关。 线程现场:寄存器的值 进程现场: 表示共享空间的内容,如页表基地址寄存器值。(进程可以看成模拟CPU)虚拟机现场: 特定的一些寄存器(虚拟机可以看成模拟计算机) 异常发生时,硬件的操作 异常模式的R14保存迁移工作模式的下一条即将执行的指令地址将CPSRd的值 3 以ARM64处理器为例 四种工作态 EL0(类似用户态) 运行应用程序EL1(雷同核心态) 运行操作系统EL2 运行虚拟机管理器EL3(secure 态:运行固定可靠程序客房为保留空间和设备) 运行只读的程序,例如一些固件,驱动程序等 如何进入特权级运行运行SVC进入EL1,HVC进入EL2,SMC进入EL3 EL2优先级程序可以设置低优先级程序运行时的HCR_EL2寄存器 每个特权级都有自己的中断异常向量基址寄存器,保存每个特权级都有自己的向量表基地址 4 以80386处理器(x86架构)为例对于80386处理器来说,他有四种运行模式。 四种工作模式 实模式 早期PC采用的简单运行模式,当时的DOS操作系统即运行在该模式下。 80386加电启动后处于实模式运行状态,该模式下软件可访问的物理内存空间不超过1MB,且无法发挥intel 80386以上级别的32位CPU的4GB内存管理能力。实模式将整个物理内存空间看成分段的区域,程序代码和数据位于不同的区域,OS和用户程序并没有区别对待,且每一个指针都指向实际的物理地址。保护模式 保护模式的目地在于确保应用程序无法对操作系统进行破坏。 80386处理器通过在实模式下初始化控制寄存器以及页表,然后再通过设置CR0寄存器是其中的保护模式使能位置位,从而进入到保护模式。 该模式下,处理器所有的32根地址线都可供寻址,物理寻址空间高达4GB;同时支持内存分页机制,提供了对虚拟内存的良好支持,支持多任务模式、优先级机制,不同程序可以运行在不同的特权级上SMM模式虚拟8086模式 4. 文件系统 1 概念 文件系统文件系统是操作系统中管理持久性数据的子系统,可以童工数据存储和访问功能 文件文件是具有符号名,由字节序列构成的数据项集合 文件是文件系统的基本数据单位 文件的属性包括名称、类型、位置、大小、保护、创建者、创建时间等 文件头:即文件系统元数据中的文件信息 文件系统的功能 分配文件磁盘空间,包括管理文件块的位置和顺序、管理空闲空间的位置等、分配算法管理文件集合,包括文件定位、命名、文件系统结构(文件的组织方式)保证数据可靠和安全,即多层次的保护数据安全,且持久地、避免系统崩溃媒体错误攻击地保存文件 5. 操作系统的启动事实上,不同OS的启动由于计算机体系结构的不同有着多种启动方式,这是工程师根据体系结构设计的,同时针对某一体系结构下的某一操作系统来说,要根据整个架构的属性和体系结构的特点进行相应的初始化和处理,例如有些与处理器系统相关的资源如MMU、中断、系统调用等,必须根据自身系统的特点进行处理;与指令集,操作系统种类关系不大。指令集只是提供了程序和硬件衔接的接口,而操作系统种类虽然不同,但是一个OS从加载到运行的过程均是前篇一律的。 OS的启动可以分为两部分,一部分为上电后初始化和操作系统的加载,另一部分为OS内核的启动。 1 启动类别 单系统启动 加电bootrom运行osloader运行操作系统运行 双系统启动 加电片上ROMBIOS运行MBR的Grub运行Ntloader程序运行操作系统初始化 |
CopyRight 2018-2019 实验室设备网 版权所有 |