news 2026/6/15 0:15:28

10、Linux系统调用与信号处理详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
10、Linux系统调用与信号处理详解

Linux系统调用与信号处理详解

1. 系统调用处理程序和服务例程

当用户模式进程调用系统调用时,CPU会切换到内核模式并开始执行内核函数。在80x86架构的Linux中,系统调用有两种不同的调用方式,但最终都会跳转到一个名为系统调用处理程序的汇编语言函数。

由于内核实现了许多不同的系统调用,用户模式进程必须传递一个称为系统调用号的参数来标识所需的系统调用,Linux使用eax寄存器来实现这一目的。此外,调用系统调用时通常还会传递其他参数。

所有系统调用都会返回一个整数值。这些返回值的约定与包装例程的不同。在内核中,正值或0值表示系统调用成功终止,而负值表示错误情况。在错误情况下,该值是错误代码的取反,必须通过errno变量返回给应用程序。errno变量不由内核设置或使用,而是由包装例程在系统调用返回后处理设置该变量的任务。

系统调用处理程序的结构与其他异常处理程序类似,它执行以下操作:
- 将大多数寄存器的内容保存到内核模式栈中(此操作对所有系统调用都通用,用汇编语言编写)。
- 通过调用相应的C函数(称为系统调用服务例程)来处理系统调用。
- 从处理程序退出:将寄存器加载为内核模式栈中保存的值,并将CPU从内核模式切换回用户模式(此操作对所有系统调用都通用,用汇编语言编写)。

与xyz()系统调用关联的服务例程名称通常是sys_xyz(),但也有一些例外情况。

下面是系统调用相关函数之间关系的流程图:

graph LR A[应用程序] --> B[包装例程] B --> C[系
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/14 20:07:08

270M参数撬动百亿终端市场:Gemma 3如何开启边缘AI普及化时代

270M参数撬动百亿终端市场:Gemma 3如何开启边缘AI普及化时代 【免费下载链接】gemma-3-270m 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/gemma-3-270m 导语 谷歌Gemma 3 270M模型以2.7亿参数实现"240MB内存占用、25次对话仅耗手机0.75%电量…

作者头像 李华
网站建设 2026/6/13 9:19:50

40亿参数撬动工业级AI:Qwen3-VL-4B-Thinking-FP8重塑多模态落地格局

40亿参数撬动工业级AI:Qwen3-VL-4B-Thinking-FP8重塑多模态落地格局 【免费下载链接】Qwen3-VL-4B-Thinking-FP8 项目地址: https://ai.gitcode.com/hf_mirrors/unsloth/Qwen3-VL-4B-Thinking-FP8 导语 阿里通义千问团队推出的Qwen3-VL-4B-Thinking-FP8模型…

作者头像 李华
网站建设 2026/6/13 15:52:30

1.7B参数横扫多模态文档解析!dots.ocr重构企业级OCR范式

1.7B参数横扫多模态文档解析!dots.ocr重构企业级OCR范式 【免费下载链接】dots.ocr 项目地址: https://ai.gitcode.com/hf_mirrors/rednote-hilab/dots.ocr 导语 2025年7月,小红书旗下AI实验室发布的dots.ocr模型以1.7B参数实现文档解析领域突破…

作者头像 李华
网站建设 2026/6/14 12:24:31

GKD订阅管理完整教程:2025年高效配置与使用指南

GKD订阅管理完整教程:2025年高效配置与使用指南 【免费下载链接】GKD_THS_List GKD第三方订阅收录名单 项目地址: https://gitcode.com/gh_mirrors/gk/GKD_THS_List GKD第三方订阅收录名单(GKD_THS_List)是一个专门为GKD用户精心打造的…

作者头像 李华
网站建设 2026/6/14 7:38:53

FF14终极插件框架:Dalamud完整开发指南与实战应用

FF14终极插件框架:Dalamud完整开发指南与实战应用 【免费下载链接】Dalamud FFXIV plugin framework and API 项目地址: https://gitcode.com/GitHub_Trending/da/Dalamud 还在为《最终幻想XIV》中繁琐的操作界面和缺失的功能而苦恼吗?Dalamud插件…

作者头像 李华