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内核之旅-电子杂志


相关推荐
菜_小_白10 小时前
tcpdump
linux·网络·测试工具·http·tcpdump
Moment11 小时前
刷 Reddit 1 小时没结果?我用这个方法 10 秒挖出真实需求
前端·javascript·后端
神奇小汤圆11 小时前
小米二面:Redis为什么能支撑10万+QPS?
后端
zzzsde11 小时前
【Linux】线程概念与控制(3):线程ID&&C++封装线程
linux·运维·服务器·开发语言·算法
消失的旧时光-194311 小时前
C 语言如何实现“面向对象”?—— 从 struct + 函数指针,到 Linux 内核设计思想
linux·c语言·开发语言
不做无法实现的梦~11 小时前
Linux 新手到日常运维操作指南
linux·运维·服务器
xingfujie11 小时前
第3章 安装 kubeadm/kubelet/kubectl
linux·云原生·容器·kubernetes·kubelet
学不思则罔11 小时前
SpringBoot启动失败排查指南
spring boot·后端·部署
喵个咪11 小时前
Kratos KCP 传输中间件:游戏开发低延迟网络通信实战指南
后端·微服务·游戏开发
不能隔夜的咖喱11 小时前
黑马ai大模型笔记(自用,比较粗糙)
linux·windows·python