操作系统--操作系统运行环境与运行机制

手把手教你用STM32CubeMX和HAL库驱动MT6835磁编码器(SPI读取21位角度) 本文详细介绍了如何使用STM32CubeMX和HAL库驱动MT6835磁编码器,通过SPI接口读取21位高精度角度数据。从硬件准备、CubeMX配置到HAL库驱动实现与优化,提供了完整的实战指南,帮助开发者快速掌握磁编码器的应用技巧,适用于机器人关节和精密仪器等高精度场景。 阅读详情

2. 操作系统运行环境与运行机制

    操作系统的主要工作包括程序的执行、完成与体系结构相关的工作、完成应用程序所需的共性任务。

2.1 操作系统运行环境

2.1.1 处理器状态(模式)

     CPU是由运算器、控制器、一系列的寄存器以及高速缓存构成。寄存器分为两类:用户可见寄存器和控制、状态寄存器。其中,用户可见寄存器是高级语言通过优化算法分配并使用之,以减少程序访问内存的次数。控制、状态寄存器是用于控制处理器的操作,在某些特权级别下可以访问、修改,通常由操作系统代码使用。

    常见的控制、状态寄存器:

1)程序计数器(PC:Program Counter),记录将要取出的指令的地址

2)指令寄存器(IR:Instruction Register),记录最近取出的指令

3)程序状态字(PSW:Program Status Word),记录处理器的运行状态,如,条件码、模式、控制位等信息。

1. 处理器状态分类

     现代处理器通常将CPU状态设计划分为两种、三种或四种。在程序状态字寄存器PSW中专门设置一位(或两位),根据运行程序对资源和指令的使用权限而设置不同的CPU状态。

    操作系统需要两种CPU状态:内核态(Kernel Mode)和用户态(User Mode),内核态用于运行操作系统程序,用户态用于运行用户程序。CPU的两个状态可以执行不同的指令集合,所以可以指令集合划分为两类:特权(privilege)指令和非特权指令,特权指令是指只能有操作系统程序使用,用户程序不能使用的指令,非特权指令是指操作系统程序和用户程序都可以使用的指令。

    思考:下面哪些指令是特权指令?哪些指令是非特权指令?

启动I/O  控制转移  内存清零   修改程序状态字  设置时钟  算术运算  允许/禁止中断  访管指令  取数指令  停机

    特权指令:启动I/O、内存清零、修改程序状态字、设置时钟、允许/禁止中断、停机

    非特权指令:控制转移、算术运算、访管指令、取数指令

    x86系列处理器支持4个处理器特权级别,我们成为特权环:R0、R1、R2和R3。从R0到R3的特权级别由高到低,R0能够运行操作系统的关键代码,相当于内核态,R1能够运行设备驱动程序和一些I/O处理程序,R2能够处理受保护的共享的代码,例如一些语言编译环境,R3是给用户程序使用的相当于用户态。

    目前大多数基于x86处理器的操作系统,只选用了R0和R3两个特权级别。 

2. 处理器状态切换

    用户态-->内核态    唯一途径:中断/异常/陷入机制

    内核态-->用户态    设置程序状态字PSW

    一条特殊的指令:陷入指令(又称访管指令),提供给用户程序的接口,用于调用操作系统的功能(服务)。例如:int,trap,syscall,systenter/sysexit

2.1.2 中断与异常机制

1.  中断/异常简介

    中断与异常是CPU对系统发生的某个事件做出的一种反应。事件的发生改变了CPU的控制流,CPU暂停正在执行的程序,保留现场后自动去执行相应事件的处理程序,处理完成后返回断点,继续执行被打断的程序。

    中断/异常机制的特点:随机发生、自动处理、可恢复。

    中断的引入是为了支持CPU和设备之间的并行操作,异常的引入是为了表示CPU执行指令时本身出现的问题。中断包括I/O中断、时钟中断、硬件故障。异常包括系统调用、页故障/页错误、保护性异常、断点异常、其他程序性异常。

2.  中断/异常机制工作原理

    中断/异常机制是现代计算机系统的核心机制之一,主要是硬件和软件互相配合完成的。在这个机制工作过程中,硬件用来捕获中断源发出的中断/异常请求,以一定方式响应,将处理器控制权交个特定的处理程序,这个过程叫做中断/异常响应。软件用于识别中断/异常类型并完成相应的处理,这个过程叫做中断/异常处理程序。

1)中断响应过程

    中断响应包括发现中断、接收终端的过程,有中断硬件部件完成。处理器控制部件中设有中断寄存器,用于保存接收的中断信号。


    中断向量表是由若干中断向量组成,中断向量是一个内存单元,里面存放中断处理程序入口地址和程序运行时所需的处理机状态字。


2)中断处理程序

     设计操作系统时,为每一类中断/异常事件编好响应的处理程序,并设置好中断向量表。系统运行时若响应中断,中断硬件部件将CPU控制权给中断处理程序,中断处理程序会做以下事情:保存相关寄存器信息,分析中断/异常的具体原因,执行相应的处理功能,恢复现场,返回被事件打断的程序。

     以设备输入输出中断为例:



3. 中断异常实例


2.1.3 系统调用机制

1. 系统调用简介

    系统调用是操作系统提供给编程人员的唯一接口,可以使CPU状态从用户态陷入内核态,从而用户在编程时可以调用操作系统功能,每个操作系统都提供几百种系统调用(进程控制、进程通信、文件使用、目录操作、设备管理、信息维护等)。

    系统调用与库函数、API以及内核函数有什么关系呢?


2. 系统调用机制设计


    如何实现用户程序的参数传递给内核



3. 系统调用的执行过程

    当CPU执行到特殊的陷入指令时:

1)中断/异常机制:硬件保护现场;通过查询中断向量表把控制权转给系统调用总入口程序。

2)系统调用总入口程序:保存现场;将参数保存在内核堆栈中;通过查系统调用表把控制权转给相应的系统调用的处理程序或内核函数

3)执行系统调用程序

4)恢复现场,返回用户程序

vasp-自旋轨道耦合(SOC)计算步骤 在VASP中执行自旋轨道耦合(SOC)计算,具体的计算步骤如下: 结构优化获取CONTCAR文件 自洽计算(collinear normal VASP calculations)获取IBZKPT,CHGCAR和WAVECAR文件。 SCF+SOC计算,在此步骤中,将步骤2中的IBZKPT复制为KPOINTS,以便两个步骤具有相同的k网格,因此可以读取步骤2中的CHGCAR和WAVECAR文件。 能带结构计算,在此步骤中,将KPOINTS改为高对称点,读取步骤3中的CHGCAR和WAVECAR文件。 阅读详情

相关推荐

SMPTE ST 2110 概论(三)

SMPTE ST 2110 概论(三)ST 2110-30:未压缩的PCM音频流ST 2110-31:非PCM音频传输ST 2110-40:辅助数据传输结语 ST 2110-30:未压缩的PCM音频流 鉴于音频系统是广播系统中最复杂,也是最重要的一套系统,我们先来回顾一下广电音频系统的历史。 最老式的音频都是基于模拟信号的,具有有限的动态范围,并且用连续的电压变化来描述音频。再后来就基于数字信号(...

Cidd0422的博客 1万+

操作系统学习笔记:并发:多处理器编程模型1:C语言状态机与汇编语言状态机、状态迁移

操作系统学习笔记:并发:多处理器编程模型1:C语言状态机与汇编语言状态机、状态迁移

风不归的乐园 1195

华为IC岗笔试刷题含答案(2)

又做了几套题,记录了部分及答案,如有错误,欢迎评论指正。

Ingrid的博客 1万+

java开发基础

1. 计算机基础 1.1. 计算机 电子计算机,俗称电脑,是一种能够按照程序运行,自动、高速处理海量数据的现代化智能电子设备。由硬件和软件所组成,没有安装任何软件的计算机称为裸机。  1.2. 硬件和软件 1.2.1. 硬件 1. cpu是一台计算机的运算核心和控制核心。其功能主要是解释计算机指令以及处理计算机软件中的数据。CPU由运算器、控制器、寄存器、高速缓存及实现它们之间联

oguro的博客 1583

深度学习模型设计的方法和技巧

设计神经网络模型是一个迭代的过程,需要不断试验和调整各个组成部分,以达到最佳性能。同时,遵循良好的工程实践,如模块化设计、版本控制、文档记录等,也是成功的关键。

xw555666的博客 4026

直流有刷电机控制 - 认识电机(一)

电机控制学习

u011030644的博客 917

系统运行环境分析

1. 系统运行环境 客观的反应系统的执行环境,通常包括如CPU 利用率,Memory 使用情况, Storage 剩余情况等。这些资料也非常重要,比如可以快速的知道,当时是否有Process 在疯狂的执行,当时是不是处于严重的low memory 情况, Storage 是否有耗尽的情况发生等。   2. CPU Usage 追查CPU 利用率可大体的知道,当时机器是否有Proce

bagleZB的博客 7543

以太网硬件核心:MAC、PHY、MII与交换机原理与实战排查

计算机网络通信的基础依赖于一套完整的硬件协议栈。在OSI模型中,数据链路层和物理层是实现设备间可靠、高效数据传输的基石。其核心原理在于将上层数据包封装成帧,并通过特定的介质访问控制与物理信号转换机制进行传输。这一过程的技术价值在于为上层应用提供了透明、稳定的通信信道,是互联网和所有局域网通信的物理承载。在嵌入式系统、网络设备开发及运维等应用场景中,深入理解底层硬件交互至关重要。本文将聚焦于以太网硬件的两大核心组件:负责逻辑成帧与流量控制的MAC控制器,以及负责数模转换与链路协商的PHY芯片。它们通过MII、

dgqvhtlwq472235338的博客 420

iatf16949标准三大过程_IATF16949:2016标准理解与应用-7.1.4过程运行环境

IATF16949:2016标准理解与应用-7.1.5监视和测量资源一、标准条款二、条款解析1.过程运行环境是指过程运行时所需要的一组条件,这样才能确保过程有效并得到合格的产品。这组条件可能是相互结合的,包括:(1)社会的因素,如没有种族、男女、残疾歧视,没有民族对立、地区冲突,没有宗教、派系对抗;(2)心理的因素,如不制定过分严厉的罚款制度以减少员工的思想压力,合理安排加班时间不至于员工过度疲劳...

weixin_39682944的博客 4760

深入解析路科验证V0实验lab1:SV接口与时钟块实战

本文深入解析了路科验证V0实验Lab1的核心内容,重点阐述了SystemVerilog接口与时钟块在验证环境搭建中的关键作用。通过拆解router_io接口设计、时钟块同步机制及程序块封装,详细讲解了如何构建稳定可靠的验证通信基础,并提供了复位时序分析与常见调试技巧,为后续复杂验证打下坚实基础。

peach的博客 430

SOI LDMOS器件的Sentaurus TCAD建模与关键电学特性仿真研究

本文研究了SOI LDMOS器件的TCAD建模与电学特性仿真。通过Sentaurus TCAD平台建立了单RESURF结构的SOI LDMOS模型,详细阐述了器件结构原理和RESURF耐压机制。研究采用SDE进行几何定义和掺杂配置,在Sentaurus Device中构建了完整的物理模型体系,包括迁移率、复合和碰撞电离模型。通过系统仿真提取了器件的转移特性、输出特性和击穿特性等关键参数,分析了各参数对性能的影响规律。研究结果为功率半导体器件的仿真建模提供了规范化参考,有助于优化SOI LDMOS的性能设计。

huanghm88的专栏 134

软件运行 计算机硬件环境,软件运行环境该怎么写

1. 关于软件的运行环境.NET Framework 是支持生成和运行下一代应用程序和 XML Web services 的内部 Windows 组件。也就是说.NET Framework是Windows的一部分,你要运行C#就必需在Windows的平台上.运行环境,也就是程序的运行平台,我们通常所说的程序是指应用程序,就是在运行平台(即系统程序)上进行二次开发出来的应用软件.运行环境对应用...

weixin_39887183的博客 3万+

SAN存储与协议,了解SCSI、FC和ISCSI

在前面我们介绍SAN存储及iSCSI协议的时候了解到SAN存储其实是一个CS架构的系统。存储系统本身就是整个系统的服务端。以IP-SAN(也就是基于iSCSI的SAN存储)为例,其整体架构如图1所示。 图1 CS架构 对于存储系统来说,通常是由专业的存储厂商提供,比较知名的如EMC、NetAPP、IBM和日立等等。国内存储厂商也迅速崛起,比较知名的如华为、宏杉、浪潮和同友等等。另外,还有一些小的存储厂商,他们往往集中在某个领域,比如专注文件系统或者块存储等等。 除了专业的存储设备外,其实Linux

shuningzhang的专栏 2684

操作系统运行环境和运行机制

CPU状态 中断/异常机制 系统调用

wyi06的博客 4314

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

第二讲:操作系统运行环境与运行机制笔记

重点: *理解计算机系统的保护机制: 掌握处理器状态 掌握特权指令与非特权指令 *掌握中断/异常机制  掌握中断/异常的基本概念  理解中断/异常机制的工作原理 *掌握系统调用机制  掌握系统调用设计原理  掌握系统调用执行过程 *重点概念: CPU状态 内核态/用户态 特权指令/非特权指令 中断 异常 中断响应 中断向量 中断处理程序 系统调用 陷入指令 系统调...

qnvhuang的博客 483

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

操作系统运行环境与运行机制

操作系统必须与硬件打交道中断和异常の概念中断和异常的工作原理中断异常机制是现代计算机核心[硬软件相互配合]硬件中断响应    软件中断处理中断响应 发现中断 接收中断过程[硬件完成]响应中断过程中断向量表是一种数据结构中断处理程序[设计操作系统时为每一类中断异常编好程序并设置好中断向量表]...

为AC千千万万遍 607

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

操作系统的运行环境和运行机制(笔记2)

中央处理器(CPU) 处理器由计算机、存储器、一系列的寄存器和高速缓存构成 两类寄存器 寄存器是有限存贮容量的高速存贮部件,用来暂存指令、数据和地址信息。 用户可见寄存器 高级语言编译器通过优化算法分配并使用,用来减少程序访问内存次数 控制和状态寄存器 用于控制处理器的操作通常由操作系统代码使用 用于控制处理器的操作 在某种特权级别下可以访问、修改。 常见的控制和状态寄存器 程序...

weixin_43661839的博客 261

二、操作系统运行环境与运行机制

这部分很重要! 1.CPU状态 cpu→寄存器→控制状态寄存器(用于控制处理器的操作)→程序状态字寄存器(PSW:记录cpu的运行状态如条件码、模式、控制位等)         由于操作系统具有并发、共享的特征,为了保证用户成序与用户程序、用户程序与操作系统之间互不干扰,所以操作系统需求cpu提供保护与控制         为了实现对操作系统的保护,cpu在PSW中留了一位来表示cpu的不同的状态权限         操作系统根据cpu提供两种权限状态,来分别运行不同的指令集合 内核态(Kernel Mo

weixin_45931082的博客 1084

操作系统--运行环境与运行机制

一、中央处理器(CPU) 处理器由运算器、控制器和一系列的寄存器以及高速缓存构成。 两类寄存器: 1、用户可见寄存器:高级语言编译器通过优化算法分配并使用之,以减少程序访问内存次数 2、控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用(在某种特权级别下可以访问、修改)   常见的控制和状态寄存器: a、程序计数器(PC),记录记录将要取出的指令的地址 b、指令寄存器(I

wunian_930124的博客 960

操作系统运行环境与运行机制(1)

1.处理器状态(模式) 2.中断与异常机制 3.中断/异常机制工作原理 4.实例 1.处理器状态 基本概念 处理器:由运算器、控制器、一系列寄存器以及高速缓存构成 寄存器分类:用户可见寄存器,控制和状态寄存器 控制和状态寄存器: 用于控制处理器的操作 分类:程序计数器(PC),指令寄存器(IR),程序状态字(PSW) PC:记录将要取出的指令地址 IR:记录最近取出的指令 PSW:记录处理器的运行状态(如条件码,模式,控制位) 操作系统的需求 基本需求:保护(由此产生运行机制) 基本

qq_41837332的博客 508

操作系统运行环境与运行机制(一)

3.在计算机系统中,集中了资源管理功能 和 控制程序执行功能 的软件,称为操作系统。操作系统要管理和保护这些程序和数据,使他们不受到破坏和互相影响。两类存储器:1.读写型的存储器 2.只读型的存储器。:高级语言编译器分配并使用,减少程序访问主存储器的次数。多道程序系统,就会有若干个程序和相关的数据放到。存取速度越慢~平均每比特价格越低,容量会增大。2.软件系统保证计算机系统协调工作,各种。平均每比特价格越高,容量越小。1.硬件系统是计算机赖以工作的实体。作业必须把它的程序和数据存放在。

星星月亮的博客 396

操作系统基础·2 操作系统的运行环境和运行机制

5、中断的分类,按来源:中断(外部)/Trap(内部),按功能:输入输出中断/外中断/机器故障中断/程序性中断(溢出、用户态用内核态指令)/访管中断(对操作系统提出某种需求时所发出的中断、非法操作有时也被称为系统调用、陷阱或软件中断),按方式:强迫/自愿(如访管)。(3)应用程序执行中CPU收到来自外设的中断,对中断的处理导致CPU的特权级从用户态切换到内核态。,现场是在中断的那一时刻能确保程序继续运行的有关信息(包括后继指令所在主存的单元号、程序运行所处的状态、指令执行情况、程序执行的中间结果)。

2303_79624041的博客 429

(2)操作系统运行环境与运行机制

操作系统的框架: 应用程序 -----------------------虚拟机器界面                    操作系统运行机制:系统调用 操作系统 ----------------------物理机器界面                    操作系统运行环境:CPU状态,中断和异常机制 硬件 处理器状态 一、处理器状态(模式)

L’on ne amoureux amis的博客 731

操作系统原理(二) —— 运行环境与运行机制

处理器状态 内核态 (Kernel Mode):运行操作系统程序。 用户态 (User Mode):运行用户程序。 用户态 → 内核态:中断/异常/陷入机制。 内核态 → 用户态:设置程序状态字 PSW。 特权指令 :只能由操作系统使用、用户程序不能使用的指令。 非特权指令 :用户程序可以使用的指令。 中央处理器 处...

weixin_33819479的博客 257

2.操作系统运行环境和运行机制

  2.1处理器状态 中央处理器(CPU):由运算器、控制器、一系列的寄存器和高速缓存构成。 两类寄存器: 用户可见寄存器:高级语言编译器通过优化算法分配并使用之,以减少程序访问内存次数; 控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用。 用于控制处理器的操作 在某种特权级别下可以访问、修改 常见的控制和状态寄存器: 程序计数器:记录将要取出的指令的地址 指令寄存器...

Daisy74的博客 997

巩固基础——操作系统(2)操作系统的运行环境与运行机制

处理器的状态(又叫处理器的模式): 处理器是由运算器,控制器,以及一系列的寄存器以及高速缓存构成 有两类寄存器:1,用户可见寄存器:高级语言通过优化算法进行分配和使用,减少了程序访问内存的次数。                              2,控制和状态寄存器:用于控制处理器的操作,通常由操作系统代码使用。用于控制处理器的操作,在某种特权级别下可以访问和修改。

qq_36354669的博客 379
上一篇: 操作系统--计算机概述
下一篇: 操作系统--进程与线程
Wang_AI
博客等级 码龄12年 988粉丝 162原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值