Linux内核分析与应用6-系统调用

本系列是对 陈莉君 老师 Linux 内核分析与应用 的学习与记录。讲的非常之好,推荐观看

留此记录,蜻蜓点水,可作抛砖引玉


6.1 Linux中的各种API

LSB (Linux Standards Base)

POSIX: 可移植操作系统接口(Portable Operating System Interface of UNIX)

Linux ABI:

(为了兼容)

内核API:

主要是内核中标记为"EXPORT_SYMBOL"的函数

思考:

保持一个稳定的ABI和保持一个稳定的API相比,谁更困难,为什么?


6.2 系统调用机制

系统调用---内核的出口

各种工具:

如 strace ls,就可以看到ls命令所调用的系统调用

中断是异步的,异常是同步的,系统调用既可以是同步,也可以是异步

系统调用号存放在eax寄存器中, 其实现所在的源文件也不在一起.

参数存放在寄存器中,一般参数不超过6个

参考:

系统调用

Linux内核之旅-电子杂志


相关推荐
落羽的落羽27 分钟前
【Linux系统】磁盘ext文件系统与软硬链接
linux·运维·服务器·数据库·c++·人工智能·机器学习
Codefengfeng30 分钟前
Kali-linux中安装与使用Stegsolve
linux·运维·服务器
风象南1 小时前
无文档遗留系统的逆向梳理:利用 AI 重建架构视图
后端
金銀銅鐵2 小时前
浅解 Junit 4 第六篇:AnnotatedBuilder 和 RunnerBuilder
后端·junit·单元测试
钟智强2 小时前
Erlang 从零写一个 HTTP REST API 服务
后端
王德印2 小时前
工作踩坑之导入数据库报错:Got a packet bigger than ‘max_allowed_packet‘ bytes
java·数据库·后端·mysql·云原生·运维开发
Cache技术分享2 小时前
327. Java Stream API - 实现 joining() 收集器:从简单到进阶
前端·后端
颜酱2 小时前
滑动窗口算法通关指南:从模板到实战,搞定LeetCode高频题
javascript·后端·算法
何中应2 小时前
如何在 Linux 系统中设置系统时间
linux·运维·服务器
重生之后端学习2 小时前
994. 腐烂的橘子
java·开发语言·数据结构·后端·算法·深度优先