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


相关推荐
金銀銅鐵2 分钟前
为什么枚举类中可以定义抽象方法
java·后端·ai编程
陈随易24 分钟前
Vue 编译器换掉 source map,快了三四成
前端·后端·程序员
叼烟扛炮24 分钟前
Linux 学习笔记(五十六):IO 多路复用初探——select 的“三宗罪”
linux·服务器·数据库·笔记·学习·php
Ruiery1 小时前
Linux 6.6内核内存管理深度解析(十五):CMA 连续内存分配器
linux·运维·服务器
测试界的小码农1 小时前
【Linux 命令实战(01):认识 Linux 终端,从零掌握第一个命令】
linux·运维·服务器
txxzjmzlh2 小时前
SpringBoot 统⼀功能处理
java·spring boot·后端
布裘2 小时前
【银河麒麟】重启后时区丢失?排查发现 localtime 被业务程序替换成硬链接
linux·运维·网络
nice_lcj5204 小时前
Java Lambda 表达式入门:怎么写、怎么用、常用方法有哪些
java·开发语言·后端·面试
IT_陈寒4 小时前
Redis大key删除为什么会导致服务卡顿?我的线上事故复盘
前端·人工智能·后端
系统集成-鹰翔4 小时前
ERP图片改名后仍命中识别缓存:缓存键、十分钟到期与调用计数
javascript·经验分享·后端