【driver4】锁,错误码,休眠唤醒,中断,虚拟内存,tasklet

news2024/9/22 21:27:27

文章目录

  • 1.互斥锁和自旋锁选择:自旋锁(开销少)的自旋时间和被锁住的代码执行时间成正比关系
  • 2.linux错误码:64位系统内核空间最后一页地址为0xfffffffffffff000~0xffffffffffffffff,这段地址是被保留的,如果指针落在这段地址内,说明是错误的无效指针
  • 3.休眠唤醒机制:持锁后系统是不会休眠,常用mem进行suspend休眠
  • 4.中断线程化:将中断处理和主线程分开,中断线程处理中断事件,主线程执行主要工作任务,减少切换开销
  • 6.虚拟内存:物理内存和进程之间的中间层,ioremap将寄存器地址映射,或devmem
  • 7.tasklet的实现:tasklet任务添加是绑定到TASKLET_SOFTIRQ软中断上


1.互斥锁和自旋锁选择:自旋锁(开销少)的自旋时间和被锁住的代码执行时间成正比关系

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
如下是字符设备节点名叫"chrdev_name"对应下面:1.module_init,2.对驱动里一些临界资源进行修改时持锁,改完放锁,3.module_exit。下面临界区很小就是flag=这一行。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
自旋锁死锁:进程或线程因长久等待已被其他进程占有的资源而陷入阻塞的一种状态,死锁一旦发生,程序解决不了,只能重启或开门狗复位
在这里插入图片描述
因为要保存中断上下文要更多内存开销,性能损耗。
在这里插入图片描述

2.linux错误码:64位系统内核空间最后一页地址为0xfffffffffffff000~0xffffffffffffffff,这段地址是被保留的,如果指针落在这段地址内,说明是错误的无效指针

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.休眠唤醒机制:持锁后系统是不会休眠,常用mem进行suspend休眠

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
suspend控制器发现如果active_since都为0,没有持锁就休眠。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.中断线程化:将中断处理和主线程分开,中断线程处理中断事件,主线程执行主要工作任务,减少切换开销

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

6.虚拟内存:物理内存和进程之间的中间层,ioremap将寄存器地址映射,或devmem

在这里插入图片描述

7.tasklet的实现:tasklet任务添加是绑定到TASKLET_SOFTIRQ软中断上

在这里插入图片描述
如下可以看对cpu的使用率。
在这里插入图片描述
在这里插入图片描述
如下tasklet_init是对tasklet_struct结构体填充。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

Sarcasm detection论文解析 |基于情感背景和个人表达习惯的有效讽刺检测方法

论文地址 论文地址:https://link.springer.com/article/10.1007/s12559-021-09832-x#/ 论文首页 笔记框架 基于情感背景和个人表达习惯的有效讽刺检测方法 📅出版年份:2022 📖出版期刊:Cognitive Computation 📈影响因子:5.4 &…

报错,java: 程序包sun.misc不存在

错误描述 down下来一个项目,编译的时候报错,提示sun.misc包不存在,通过百度得知,原来这是jdk8中的jar包,在后来的版本中被移除了(我用的jdk11,没有这个包) 结局方法 1.更换jdk版本&…

【电影】【指环王】【中土世界】影碟播放记录

一、写在前面 笔者于5月5日(昨天)在新加坡淘到了一套《指环王 The Lord of the Rings》DVD光碟,今天却听闻噩耗,Rohan国王Theoden的扮演者,英国演员Bernard Hill去世(享年79岁),发文…

链式队列基本操作

链式队列的基本概念 链式队列是一种常见的数据结构,它使用链表作为其底层数据存储结构。链式队列的特点是动态的内存分配,可以有效地处理队列的入队和出队操作。下面,我将介绍链式队列的实现方法,并提供相应的C语言代码示例。 链…

曼奇立德10节春季插画研修课

课程介绍 课程探讨了存在主义心理学的基本原理和方法。通过学习该课程,您将了解到存在主义的核心概念,如自由意志、责任感和意义寻求。您将学会运用存在主义理论和技巧来帮助个人面对挑战、追求自我实现,并寻找生活的意义。这门课程将启发您的…

力扣每日一题-去掉最低工资和最高工资后的工资平均值-2024.5.3

力扣题目:去掉最低工资和最高工资后的工资平均值 开篇 题目链接: 1491.去掉最低工资和最高工资后的工资平均值 题目描述 代码思路 太简单了。先利用sort排序对数组进行从小到大排序,然后计算时数组最小值和最大值不要加进去即可。 代码纯享版 clas…

C#图像处理实例1:opencvsharp获取轮廓凸包

在OpenCvSharp中,你可以使用Cv2.ApproxPolyDP函数来获取轮廓的凸包。这个函数使用Douglas-Peucker算法来近似轮廓。 以下是一个简单的例子,展示如何使用OpenCvSharp获取轮廓的凸包: Mat src Cv2.ImRead("保存图像\2.jpg", ImreadM…

C++例题:大数运算---字符串相加(使用数字字符串来模拟竖式计算)

1.代码速览 class Solution2 { public:string addStrings(string num1, string num2){//end1和end1是下标int end1 num1.size() - 1;int end2 num2.size() - 1;string str;//下标(指针)从后向前走,走到头才可以结束,所以是end>0int next 0;while (end1 > 0 || end2 &…

利用大语言模型(KIMI)构建智能产品的信息模型

数字化的核心是数字化建模,为一个事物构建数字模型是一件非常繁杂和耗费人工的事情。利用大语言模型,能够轻松地生成设备的信息模型,我们的初步实验表明,只要提供足够的模板,就能够准确地生成设备的数字化模型。 我们尝…

CyberDemo解读

CyberDemo: Augmenting Simulated Human Demonstration for Real-World Dexterous Manipulation解读 摘要1. 简介2. Related Work2.1 Data for Learning Robot Manipulation2.2 机器人的预训练视觉表征2.3 Sim2Real Transfer 3. CyberDemo3.1 收集人体遥操作数据3.2 在模拟器中…

颠覆传统?「一束光子,两种频率」的量子纠缠!

在最新的研究中,科学家们开发了一种革命性的量子纠缠方式——“频域光子数路纠缠”(frequency-domain photon number-path entanglement)。这一量子物理学的重大进展涉及到一个创新性的工具:频率分束器(frequency beam…

景源畅信:抖音运营做什么工作内容?

在如今这个信息爆炸的时代,抖音已经成为了人们生活中不可或缺的一部分。无论是消磨时间、获取信息还是展示自我,抖音都扮演着重要的角色。那么,作为抖音运营,他们需要做些什么呢? 一、内容策划与制作 抖音运营的首要任务就是内容…

USB3.0

用万用表测量电容,电阻的好坏: 直接用万用表的电容档位测量电容的值,若所测值与电容表面所写或原理图中电容大小一样的话则判断电容是好的,否则是坏的。电阻一样。 有时候万用表并不好用,LCR仪则更为准确&#xff1a…

AArch64 内存管理

本文是对arm developer网站《Learn the architecture - AArch64 memory management Guide》的学习笔记(Documentation – Arm Developer) 一、背景概述 本文介绍了AArch64中的内存转换,这是内存管理的关键,它解释了虚拟地址如何转…

Java模块化系统:引领代码革命与性能飞跃

JDK工程结构的问题 在说Java模块化系统之前,先来说说Java9之前的JDK在工程结构上的问题,从JDK本身的问题说起,Java从1996年发布第一版到2017年发布Java9,中间经历了近20年的时间,在这期间发布了无数个大大小小的版本用…

鸿蒙开发-ArkTS语言-容器

鸿蒙开发-UI-交互事件-键鼠事件 鸿蒙开发-UI-交互事件-焦点事件 鸿蒙开发-UI-交互事件-手势事件 鸿蒙开发-UI-web 鸿蒙开发-UI-web-页面 鸿蒙开发-ArkTS语言-基础类库 鸿蒙开发-ArkTS语言-并发 鸿蒙开发-ArkTS语言-并发-案例 文章目录 前言 一、容器类库概述 二、线性容器 1…

Linux网络服务的存储,FTP服务和NFS共享

目录 一.存储 1.存储类型 2.应用场景 二.FTP服务 1.FTP工作原理介绍 2.FTP协议的两种模式 3.用户类型 4.匿名用户案例 三.NFS 1.NFS简介 2.NFS服务主要进程 3.NFS特点 4.NFS共享配置文件格式 5.NFS工具 5.1 exportfs 5.2 showmount 5.3 mount.nfs 6.创建文…

张大哥笔记:卖盗版网课,获利 100 万被抓

这几天刷视频,看到一个新闻,某大学生卖盗版网课,把别人2000多正版网课,以做活动名义售卖20元,获利100多万被抓。 下方图片来自:极目新闻 卖这种盗版网课,门槛低,成本低,…

CWDM、DWDM、MWDM、LWDM:快速了解光波复用技术

在现代光纤通信领域,波分复用(WDM)技术作为一项先进的创新脱颖而出。它通过将多个不同波长和速率的光信号汇聚到一根光纤中来有效地传输数据。本文将深入探讨几种关键的 WDM 技术(CWDM、DWDM、MWDM 和 LWDM)&#xff0…

软考中、高项变成了一年考一次,还有机会上岸吗?

真正想考试的人机会一直都在,虽然这次考试频次减少了,但整个调整还未涉及到考试内容方面,所以如果你现在考不过的话,之前也未必可以,主要还是要对考试内容有足够的熟悉才能顺利通过。 一、做了哪些科目调整 将软考初…