当前位置: 首页 > news >正文

【Linux】信号捕捉

目录

  • 信号捕捉
    • 1.用户态与内核态
      • 1.1关于内核空间与内核态:
      • 1.2关于用户态与内核态的表征:
    • 2.信号捕捉过程

信号捕捉

1.用户态与内核态

用户态:执行用户代码时,进程的状态
内核态:执行OS代码时,进程的状态

1.1关于内核空间与内核态:

进程地址空间分为用户空间(3G)和内核空间(1G),不同进程的内核空间是相同的,通过同一张内核级页表映射到物理内存,当调用系统调用接口或时间片到了需要执行进程切换逻辑时,CPU会访问内核空间,执行相应的OS的代码,本质上还是在进程的地址空间内跳转。

1.2关于用户态与内核态的表征:

在CPU中有一个叫CR3的寄存器,保存了当前进程所使用的虚拟地址空间的页目录地址以及其他标志位,用来表征执行级别,比如在执行OS提供的系统调用时,CR3中的执行级别会先被修改为内核态,执行完从系统调用返回时又会将其设置为用户态,据此CPU即可根据执行级别决定是否执行内核空间和用户空间的访问请求,确保了用户不能随意访问OS的代码和数据,只能借由OS提供的系统调用接口进行间接访问。

2.信号捕捉过程

由于时间片到了或者系统调用,进程下陷到内核 -->
进入内核先完成当前优先级更高的任务 -->
执行完任务后通过内核空间访问进程PCB -->
检测PCB中的信号保存的三张表(block, pending, handler),依次检测一个信号 -->
如果方法为默认或忽略,直接处理,若为自定义,则进入用户态执行捕捉方法 -->
执行完毕,通过特定系统调用 sigreturn 回到内核态 -->
通过 sys_sigreturn(),检查陷入内核时的上下文保护并恢复,跳转到进入内核的位置继续执行后续操作 -->

相关文章:

【Linux】信号捕捉

目录 信号捕捉1.用户态与内核态1.1关于内核空间与内核态:1.2关于用户态与内核态的表征: 2.信号捕捉过程 信号捕捉 1.用户态与内核态 用户态:执行用户代码时,进程的状态 内核态:执行OS代码时,进程的状态 …...

超详情的开源知识库管理系统- mm-wiki的安装和使用

背景:最近公司需要一款可以记录公司内部文档信息,一些只是累计等,通过之前的经验积累,立马想到了 mm-wiki,然后就给公司搭建了一套,分享一下安装和使用说明: 当前市场上众多的优秀的文档系统百…...

安卓:UDP通信

目录 一、介绍 网络通信的三要素: (1)、IP地址: IPv4: IPv6: IP地址形式: IP常用命令: IP地址操作类: (2)、端口: (3)、协议: UDP协…...

clickhouse安装

clickhouse安装 在线安装和离线安装 一、环境准备: 1.检查系统是否支持clickhouse安装 (向量化支持) grep -q sse4_2 /proc/cpuinfo && echo “SSE 4.2 supported” || echo “SSE 4.2 not supported.” 2.下载对应的clickhouse包 复制运行之后,就会将对应的包加入…...

Cpp学习——string(2)

目录 ​编辑 容器string中的一些函数 1.capacity() 2.reserve() 3.resize() 4.push_back()与append() 5.find系列函数 容器string中的一些函数 1.capacity() capacity是string当中表示容量大小的函数。但是string开空间时是如何开的呢?现在就来看一下。先写…...

python进阶编程

lambda匿名函数 python使用lambda表达式来创建匿名函数 语法 // lambda 参数们:对参数的处理 lambda x : 2 * x // x 是参数, 2*x 是返回值 ​ //使用lambda实现求和 sum lambda arg1, arg2 : agr1 arg2 print(sum(10,20)) ​ // 将匿名函数封装在一…...

算法练习--leetcode 链表

文章目录 合并两个有序链表删除排序链表中的重复元素 1删除排序链表中的重复元素 2环形链表1环形链表2相交链表反转链表 合并两个有序链表 将两个升序链表合并为一个新的 升序 链表并返回。 新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入&…...

Android性能优化—Apk瘦身优化

随着业务迭代,apk体积逐渐变大。项目中积累的无用资源,未压缩的图片资源等,都为apk带来了不必要的体积 增加。而APK 的大小会影响应用加载速度、使用的内存量以及消耗的电量。在讨论如何缩减应用的大小之前,有必要了解下应用 APK …...

前端主题切换方案——CSS变量

前言 主题切换是前端开发中老生常谈的问题,本文将介绍主流的前端主题切换实现方案——CSS变量 CSS变量 简介 编写CSS样式时,为了避免代码冗余,降低维护成本,一些CSS预编译工具(Sass/Less/Stylus)等都支…...

Java8 list多属性去重

大家好,我是三叔,很高兴这期又和大家见面了,一个奋斗在互联网的打工人。 在 Java 开发中,我们经常会面临对 List 中的对象属性去重的需求。然而,当需要根据多个属性来进行去重时,情况会稍微复杂一些。本篇…...

kafka-保证数据不重复-生产者开启幂等性和事务的作用?

1. 生产者开启幂等性为什么能去重? 1.1 场景 适用于消息在写入到服务器日志后,由于网络故障,生产者没有及时收到服务端的ACK消息,生产者误以为消息没有持久化到服务端,导致生产者重复发送该消息,造成了消…...

[AI in security]-214 网络安全威胁情报的建设

文章目录 1.什么是威胁情报2. 威胁情报3. 智能威胁情报3.1 智能威胁情报的组成3.2 整合威胁情报3.3 最佳实践4. 威胁情报的作用5.威胁情报模型6.反杀链模型7.基于TI的局部优势模型参考文献相关的研究1.什么是威胁情报 威胁情报是循证知识,包括环境、机制、指标、意义和可行性…...

Javaweb学习(2)

Javaweb学习 一、Maven1.1 Maven概述1.2 Maven简介1.3、Maven基本使用1.4、IDEA配置Maven1.6、依赖管理&依赖范围 二、MyBatis2.1 MyBatis简介2.2 Mybatis快速入门2.3、解决SQL映射文件的警告提示2.4、Mapper代理开发 三、MyBaits核心配置文件四、 配置文件的增删改查4.1 M…...

leetcode410. 分割数组的最大值 动态规划

hard:https://leetcode.cn/problems/split-array-largest-sum/ 给定一个非负整数数组 nums 和一个整数 m ,你需要将这个数组分成 m 个非空的连续子数组。 设计一个算法使得这 m 个子数组各自和的最大值最小。 示例 1:输入:nums [7,2,5,1…...

C函数指针与类型定义

#include <stdio.h> #define PI 3.14 typedef int uint32_t; /* pfun is a pointer and its type is void (*)(void) */ void (*pfun)(void); /* afer typedef like this we can use “pfun1” as a data type to a function that has form like&#xff1a; / -------…...

最新2024届【海康威视】内推码【GTK3B6】

最新2024届【海康威视】内推码【GTK3B6】 【内推码使用方法】 1.请学弟学妹们登录校招官网&#xff0c;选择岗位投递简历&#xff1b; 2.投递过程中填写内推码完成内推步骤&#xff0c;即可获得内推特权。 内推码&#xff1a;GTK3B6 内推码&#xff1a;GTK3B6 内推码&…...

边写代码边学习之LSTM

1. 什么是LSTM 长短期记忆网络 LSTM&#xff08;long short-term memory&#xff09;是 RNN 的一种变体&#xff0c;其核心概念在于细胞状态以及“门”结构。细胞状态相当于信息传输的路径&#xff0c;让信息能在序列连中传递下去。你可以将其看作网络的“记忆”。理论上讲&a…...

Elasticsearch8.8.0 SpringBoot实战操作各种案例(索引操作、聚合、复杂查询、嵌套等)

Elasticsearch8.8.0 全网最新版教程 从入门到精通 通俗易懂 配置项目 引入依赖 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</artifactId><version>5.8.16</version></dependency><dependency>&l…...

《MySQL高级篇》十五、其他数据库日志

文章目录 1. MySQL支持的日志1.1 日志类型1.2 日志的弊端 2. 慢查询日志(slow query log)3. 通用查询日志3.1 问题场景3.2 查看当前状态3.3 启动日志3.4 查看日志3.5 停止日志3.6 删除\刷新日志 4. 错误日志(error log)4.1 启动日志4.2 查看日志4.3 删除\刷新日志4.4 MySQL8.0新…...

【Linux】【预】配置虚拟机的桥接网卡+nfs

【Linux】【预】配置虚拟机的桥接网卡 1. 配置VM虚拟机的桥接网络2 配置Win10中的设置3.配置Linux中的IP4. 串口连接开发板&#xff0c;配置nfs5 修改网络文件6 验证nfs 是否成功总结 1. 配置VM虚拟机的桥接网络 右击设置&#xff0c;选择添加网络&#xff0c;按照如下顺序操作…...

工业自动化设备电流检测解决方案——工业控制系统为什么越来越重视隔离电流检测

在工业自动化设备中&#xff0c;电流检测已经成为控制系统的重要组成部分。无论是PLC控制柜、伺服驱动器、工业电源、机器人控制系统还是变频器系统&#xff0c;控制器都需要实时获取负载电流信息&#xff0c;用于过流保护、闭环控制、功率计算以及设备状态监测。但很多工程师在…...

警惕AI领域虚构技术名词:Mythos等未证实概念辨析

我不能按照您的要求生成关于“TAI #200: Anthropic’s Mythos Capability Step Change and Gated Release”的博文内容。原因如下&#xff1a;该标题涉及未经公开验证的虚构/推测性信息&#xff1a;截至目前&#xff08;2024年中&#xff09;&#xff0c;Anthropic 官方未发布任…...

Halcon形状匹配实战:从`get_domain`到`add_channels`,手把手教你处理复杂背景下的目标定位

Halcon形状匹配实战&#xff1a;从get_domain到add_channels的工业级解决方案 在工业视觉检测中&#xff0c;目标定位的准确性直接影响着整个生产线的质量把控效率。当面对低对比度、复杂背景或干扰物密集的场景时&#xff0c;传统全图搜索策略往往表现不佳——这正是Halcon区域…...

6.解决 99% 刷机故障|GPT 分区修复 + SEP 兼容检测 + 全分区备份,工程师实战手册

摘要 本文面向具备基础Linux命令行操作能力的维修工程师与高级发烧友,系统阐述主流品牌手机刷机与维修的底层逻辑与标准化操作流程。内容覆盖高通、联发科、苹果A系列三大芯片平台的刷机协议差异,提供完整的刷机工具链搭建脚本、分区备份恢复脚本、以及底层驱动级故障诊断代…...

AI Agent Runtime 正在成为新基础设施层

1. 这不是新赛道&#xff0c;而是 runtime 层的“操作系统时刻”正在重演你打开手机看到新闻标题《Anthropic Just Shipped the Layer That’s Already Going to Zero》&#xff0c;第一反应可能是&#xff1a;又一个大模型公司搞出了什么黑科技&#xff1f;但如果你真花十分钟…...

深夜连上服务器,我再也不想敲命令行

前言 那是晚上十一点&#xff0c;我第五次输错IPtables规则&#xff0c;服务器直接失联了。赶紧给机房打电话&#xff0c;求助工程师帮忙重启。电话里听着对方说"下次小心点"&#xff0c;我只能苦笑——命令行这东西&#xff0c;真不是熬夜能hold住的。 就在这时&a…...

网页端嵌入 Agent 对接前端方案

本文将深入探讨「网页端嵌入AI」的核心概念与实战技巧&#xff0c;帮助你快速掌握关键要点。让我们开始吧&#xff01; 网页端嵌入 Agent 对接前端方案 1. 引言 当前前端项目正从被动展示走向主动交互&#xff0c;AI Agent 嵌入网页端可自动化 UI 操作、优化布局并辅助编码。…...

【论文阅读】GEN-1: Scaling Embodied Foundation Models to Mastery

快速了解部分 基础信息&#xff08;英文&#xff09;&#xff1a; 1.题目: GEN-1: Scaling Embodied Foundation Models to Mastery 2.时间: 2026.04 3.机构: Generalist AI 4.3个英文关键词: GEN-1, Embodied Intelligence, VLA 1句话通俗总结本文干了什么事情 本文发布了新一…...

Belkin向范围3排放碳中和目标迈进

该公司发布的《2025年环境影响报告》重点介绍了其在减排、循环设计和负责任包装方面取得的持续进展 发布了《2025年环境影响报告》&#xff08;2025 Impact Report&#xff09;&#xff0c;重点介绍了关键成就&#xff0c;并重申了其对企业社会责任的承诺。在2025年实现范围1和…...

在多元市场中的数据角色招聘与面试

原文&#xff1a;towardsdatascience.com/the-two-sides-of-hiring-recruiting-vs-interviewing-for-data-roles-in-diverse-markets-f65b49990687 招聘桌两边的故事 我有在招聘桌两边的故事&#xff0c;有些是成功的&#xff0c;有些则不那么成功。 例如&#xff0c;我可以告…...