ARM体系在linux中的中断抢占

上一篇说到系统调用等异常通过向量el1_sync做处理,中断通过向量el1_irq做处理,然后gic的工作都是为中断处理服务,在rtos中,我们一般都会有中断嵌套和优先级反转的概念,但是在linux中,中断是否会被其他中断抢占呢?

gic概述

gic主要提供如下功能,主要是四种中断服务,中断掩码和优先级

 gic框架中的各组件的通路如下

中断最终分发给一个或多个PE的cpu interface,通过硬件中断号来区分各中断,各PE的运行优先级就是当前运行中断的优先级;一个中断是否进入PE,会先看优先级掩码能否到PE;还要通过中断抢占设置,和运行优先级,来判断是否能抢占当前PE

中断掩码寄存器

该寄存器设置将中断转发到该 PE 所需的最低优先级。 只有优先级高于寄存器值的中断才会发送给 PE

中断优先级寄存器

它是一个 8 位无符号值。 0x00 是最高优先级,0xFF 是最低优先级

 中断抢占优先级

该寄存器定义优先级值字段分成两部分的点,即组优先级字段和子优先级字段。 组优先级字段确定组 0中断抢占

运行优先级寄存器

当 PE 响应中断时,它的运行优先级变为该中断的优先级

 linux内核开启了抢占

根据上面的BPR的寄存器介绍,写0,相当于8位都是组优先级,而组优先级控制抢占,所以linux内核开启了抢占

linux内核实际不会发生中断抢占

arm64核心是有抢占的,但是在linux中,优先级都被设置成一样,所以在linux内核没有中断抢占,或者说没有中断嵌套

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/690864.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

kali入门

文章目录 第一部分:安装Kali Linux步骤一:下载Kali Linux镜像文件步骤二:安装VMware Workstation Pro步骤三:安装Kali Linux 第二部分:Kali Linux简介第三部分:关于作者第四部分:DDoS攻击实例代…

js_三种方法实现深拷贝

深拷贝( 递归 ) 适用于需要完全独立于原始对象的场景,特别是当对象内部有引用类型时,为了避免修改拷贝后的对象影响到原始对象,就需要使用深拷贝。 // 原始对象 const obj { uname: Lily,age: 19,hobby: [乒乓球, 篮球…

力扣 188. 买卖股票的最佳时机 IV

题目来源:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock-iv/description/ C题解:动态规划 思路同力扣 123. 买卖股票的最佳时机 III-CSDN博客,只是把最高2次换成k次。如果思路不清晰,可以将k从0写到4等找找规律…

Vue | (三)使用Vue脚手架(上) | 尚硅谷Vue2.0+Vue3.0全套教程

文章目录 📚初始化脚手架🐇创建初体验🐇分析脚手架结构🐇关于render🐇查看默认配置 📚ref与props🐇ref属性🐇props配置项 📚混入📚插件📚scoped样…

参数替换之${parameter-default}和${parameter:-default}

1.${parameter-default}和${parameter:-default} ${parameter-default},如果变量parameter没被声明,那么就使用默认值 ${parameter:-default},如果变量parameter没被声明,那么就使用默认值 ${parameter-default}和${parameter:-…

【Java】纯小白的三种工厂模式基础知识学习笔记

工厂模式概念 在Java中,工厂模式是一种设计模式,用于创建对象而无需指定明确的类。工厂模式通过定义一个共同的接口或抽象类来创建对象,然后由工厂类根据特定条件或参数来实例化具体的对象。 工厂模式通常包括三种类型:简单工厂…

Linux网络编程——序列反序列化

文章目录 0. 前言1. 认识协议2. 序列号与反序列化3. 自定义协议——网络计算器4. json 本章Gitee仓库:序列反序列化 0. 前言 tcp是面向字节流的,但是如何保证读取的数据是一个完整的报文呢? 管道也是面向字节流,写端写了一大堆的…

LeetCode_20_简单_有效的括号

文章目录 1. 题目2. 思路及代码实现(Python)2.1 栈 1. 题目 给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型…

Sora:新一代实时音视频通信框架

一、Sora简介 Sora是一个开源的实时音视频通信框架,旨在提供高效、稳定、可扩展的音视频通信解决方案。它基于WebRTC技术,支持跨平台、跨浏览器的实时音视频通信,并且具备低延迟、高并发、易集成等特点。 --点击进入Sora(一定要科学哦&#x…

机器学习基础(一)理解机器学习的本质

导读:在本文中,将深入探索机器学习的根本原理,包括基本概念、分类及如何通过构建预测模型来应用这些理论。 目录 机器学习 机器学习概念 相关概念 机器学习根本:模型 数据的语言:特征与标签 训练与测试&#xf…

四分位距IQR_ interquartile range

四分位距IQR_ interquartile range 1 IQR(Interquartile Range)四分位距的含义2 如何计算IQR参考: 1 IQR(Interquartile Range)四分位距的含义 官方定义: 四分位距(interquartile range, IQR&a…

机器学习中梯度下降法的缺点

机器学习中的梯度下降法是一种寻找函数最小值的优化算法,广泛应用于训练各种模型,尤其是在深度学习中。尽管其应用广泛,但梯度下降法也存在一些不可忽视的缺点: 1. 局部最小值和鞍点 局部最小值问题: 对于非凸函数&a…

数据分析 - 机器学习

1:线性回归 线性回归是一种统计技术用于对输出变量与一个或多个输入变量之间的关系进行建模 用外行人的话来说,将其视为通过某些数据点拟合一条线,如下所示 以便在未知数据上进行预测,假设变量之间存在线性关系 点和线之间存在微小…

Git面试题整理(基本点)

1.简述Git Git是一种分布式版本控制系统,它允许多个开发者在任何时间,从任何地点对代码进行编辑和分享,而不会互相干扰。Git通过跟踪和管理代码的历史版本,帮助团队协作开发复杂的项目。 与集中式版本控制系统不同&#…

[ansible] playbook运用

一、复习playbook剧本 --- - name: first play for install nginx #设置play的名称gather_facts: false #设置不收集facts信息hosts: webservers:dbservers #指定执行此play的远程主机组remote_user: root #指定执行此play的用…

【Java万花筒】选择最适合您的数据序列化格式:比较 Avro、Protocol Buffers、JSON、XML、MessagePack和BSON

选择最佳数据序列化格式:找到适合您的解决方案 前言 在当今数据驱动的世界中,高效地处理和传输数据变得至关重要。选择合适的数据序列化格式对于数据存储、通信和处理的性能至关重要。本文将介绍并比较几种常用的数据序列化格式,包括Apache…

python绘制k线图均线图

AAPL.csv 数据文件 Date,Close,Volume,Open,High,Low 06/23/2023,$186.68,53117000,$185.55,$187.56,$185.01 06/22/2023,$187.00,51245330,$183.74,$187.045,$183.67 06/21/2023,$183.96,49515700,$184.90,$185.41,$182.5901 06/20/2023,$185.01,49799090,$184.41,$1…

2.19C语言学习

P8597 [蓝桥杯 2013 省 B] 翻硬币 因为把相邻两个硬币翻转两次相当于不翻,所以最优方案中同一组硬币最多只会翻转一次,故翻转顺序无后效性,考虑贪心:从前往后比较,发现一个不同的硬币就把它和他后面的硬币翻转&#x…

单例模式的几种实现方式

在Java中,实现单例模式主要有几种方式:懒汉式、饿汉式、双重检查锁定、静态内部类和枚举。每种方式都有其特点和适用场景。 1. 饿汉式(线程安全) 饿汉式是最简单的一种实现方式,通过静态初始化实例,保证了…

springboot 事务管理 详细介绍

在Spring Boot中,事务管理是一种关键的特性,它确保了数据的完整性和一致性。Spring Boot提供了对事务管理的内置支持,使得在应用程序中使用事务变得非常简单。 事务管理的基本概念 事务是指一系列操作,这些操作要…