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

news2024/12/28 4:58:02

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

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


alt

6.1 Linux中的各种API


LSB (Linux Standards Base)

alt

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

Linux ABI:

(为了兼容)

alt

内核API:

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


思考:

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



6.2 系统调用机制


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

各种工具:

alt

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

alt
alt

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

alt

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

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

alt
alt

参考:

系统调用

Linux内核之旅-电子杂志



6.3 动手实践-添加系统调用


(系统调用的实例--日志收集系统)

参考资料

[1]

Linux 内核分析与应用: https://next.xuetangx.com/course/XIYOU08091001441/1516763

本文由 mdnice 多平台发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1004426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何用手机号注册亚马逊买家账号

注册亚马逊买家号可以用手机号,也可以用邮箱进行注册。想要用手机号注册买家号,那么打开相应的官网后填写手机号、设置密码、接收短信验证即可。 而如果想要批量注册亚马逊买家号,可以使用亚马逊鲲鹏系统进行操作,亚马逊鲲鹏系统也…

playwright自动化上传附件

需求 自动设置上传头像 过程 1. 首先保存本地一个文件,例如 aaa.php file_path files/aaa.png 2. 获取输入类型为 "file" 的按钮 file_input_element page.locator(input[typefile]) 3. 将本地保存的图片路径赋值 file_input_element.set_input_…

算法训练营day49|动态规划 part10:(LeetCode 121. 买卖股票的最佳时机、122.买卖股票的最佳时机II)

121. 买卖股票的最佳时机 题目链接🔥 给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。 你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大…

堆排序与TopK问题

一、堆排序 堆排序(升序):堆排序的思想就是先用数组模拟建大堆,然后把根结点与最后一个结点值交换,最后一个结点的值就是最大值,然后再把前(n-1)个元素重新建大堆,然后根结点与最后一个结点值交换,就找出了…

javac不是内部或外部命令也不是可运行的程序如何解决?

小伙伴们你们有没有遇到过javac不是内部或外部命令,也不是可运行的程序这样的问题呢?大家遇到这样的问题不要慌,只要学会以下的操作你就可以轻松的解决了,具体的步骤操作就在下方,小伙伴们可以认真的看一看吧! 1.首先…

cad文件如何转换成pdf?=

cad文件如何转换成pdf?在现代机械制造和建筑装饰领域中,CAD(计算机辅助设计)软件的应用非常普遍。然而,在与他人共享设计文件时,会发现cad文件的使用并不方便,首先它需要专用的软件才能将其打开…

webpack实战:某网站RSA登录加密逆向分析

文章目录 1. 写在前面2. 抓包分析3. 定位分析4. 构建webpack 1. 写在前面 回过头看,已慢慢将JS爬虫逆向类型的文章从0建设到了1,文章所有案例真实且内容有效,加密类型丰富。收获了很多粉丝的关注与支持,非常感谢大家! …

奥康的高尔夫鞋,圈不住投资者的心

文 | 螳螂观察 作者 | 青月 鞋服行业终于熬过了“寒冬”,2023年行业景气度开始逐步回暖。 东方财富Choice数据显示,截至8月17日,已有28家鞋帽服装类上市公司发布了2023年中期业绩预告或快报,其中,9家预增&#xff0…

TCP的滑动窗口与拥塞控制

客户端每发送的一个包,服务器端都应该有个回复,如果服务器端超过一定的时间没有回复,客户端就会重新发送这个包,直到有回复。 为了保证顺序性,每一个包都有一个 ID。在建立连接的时候,会商定起始的 ID 是什…

Python 数据库——链表

基本概念 链表是一种物理存储结构上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的 。链表在逻辑上是连续的,但是在物理空间上可能是不连续的,因为链表的内存都是临时申请的,不一定会申请到连续的…

作物模型与遥感反演值同化建模的程序化实现

目录 专题一 遥感基础理论知识 专题二 作物长势监测与产量估算国内外研究进展 专题三 Fortran编程语言 专题四 作物参数遥感反演基本原理 专题五 PROSAIL模型 专题六 参数敏感性分析 专题七 遥感反演过程中的代价函数求解问题 专题八 基于查找表方法PROSAIL模型的作物参…

antd react 文件上传只允许上传一个文件且上传后隐藏上传按钮

antd react 文件上传只允许上传一个文件且上传后隐藏上传按钮 效果图代码解析 效果图 代码解析 import { Form, Upload, message } from antd; import { PlusOutlined } from ant-design/icons; import { useState, useEffect } from react; import { BASE_URL } from /utils/…

IOMesh 为 KubeVirt 提供高效稳定的持久化存储支持(附用户实践)

7 月 11 日,KubeVirt 社区正式宣布发布 Kubernetes 原生虚拟机管理插件 KubeVirt v1.0。这一版本发布不仅标志着 KubeVirt 已进化为生产就绪的虚拟机管理解决方案,也为正在使用虚拟化环境的用户提供了更多元的云化转型路线:搭配 Kubernetes 持…

vue3的params传参失效的解决方案state

vue3使用vue-router4.0,但是使用router.push的params传参,一直拿不到参数 查阅资料如下: —————————————————————————————————————————— state方案如下: 要传参的组件 import { u…

【C++模拟实现】手撕红黑树(含图解)

【C模拟实现】手撕红黑树(含图解) 目录 【C模拟实现】手撕红黑树(含图解)红黑树的介绍(百度百科)简介特征(十分重要,红黑树的基础) 红黑树的实现代码(insert部…

运营商大数据合作方合作流程和具体服务流程是什么?

运营商大数据合作方合作的流程分为好几个阶段。首先是要进行合作咨询,咨询完成了以后,再直接对相关的数据进行相应的评估。接着再把资源整合起来,然后再对数据进行清洗,接着直接将产品进行包装,然后给数据定价&#xf…

Linux时区配置

Linux时区配置 timedatectl设置时区和时间启用自动同步NTP时间设置UTC或RTC时间查看UTC时间 查看所有可用时区查看当前时区设置系统时区启用夏令时timedatectl修改当前日期时间 通用设置时区方法使用tzselect设置时区 timedatectl设置时区和时间 timedatectl是一个系统工具&am…

解决微信小程序报错:“SyntaxError:Unexpected end of JSON input”

1. 报错原因: 如果对象的参数或数组的元素中遇到地址,地址中包括?、&这些特殊符号时,对象/数组先要通过JSON.stringify转化为字符串再通过encodeURIComponent编码;接收时,先通过decodeURIComponent解码再通过JSON…

成集云 | 聚水潭对接金蝶云星空接口 | 解决方案

源系统成集云目标系统 方案介绍 聚水潭是一款以SaaS ERP为核心,集多种商家服务为一体的SaaS协同平台,为全国35万多家电商企业提供全面的信息化解决方案。聚水潭已在全国设立了超过60个线下服务网点,服务范围覆盖超过300个城市,为…

05目标检测-区域推荐(Anchor机制详解)

目录 一、问题的引入 二、解决方案-设定的anchor boxes 1.高宽比(aspect ratio)的确定 2.尺度(scale)的确定 3.anchor boxes数量的确定 三、Anchor 的在目标检测中是怎么用的 1、anchor boxes对真值bounding box编码的步骤 2、为什么要回归偏移量…