系统调用程序在linux上实际发生了什么?

系统调用程序在linux上实际发生了什么?,第1张

概述灵感来自于这个问题 How can I force GDB to disassemble? 并与此相关 What is INT 21h? 在linux下如何实际发生系统调用?执行调用时会发生什么,直到实际的内核程序被调用? 假设我们在讨论x86: > ID of the system call存入EAX寄存器 >系统调用所需的任何参数都存入locations dictated by the sys 灵感来自于这个问题

How can I force GDB to disassemble?

并与此相关

What is INT 21h?

在linux下如何实际发生系统调用?执行调用时会发生什么,直到实际的内核程序被调用?

解决方法@H_404_12@ 假设我们在讨论x86:

> ID of the system call存入EAX寄存器
>系统调用所需的任何参数都存入locations dictated by the system call.例如,一些系统调用期望他们的参数驻留在EBX寄存器中.其他人可能希望他们的论据坐在堆栈的顶部.
>调用INT 0x80中断.
> linux内核为EAX寄存器中的ID标识的系统调用服务,将任何结果存入预定位置.
调用代码使用任何结果.

我可能有点生锈了,这是几年了

总结

以上是内存溢出为你收集整理的系统调用程序在linux上实际发生了什么?全部内容,希望文章能够帮你解决系统调用程序在linux上实际发生了什么?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1048893.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存