<笔记-Unix系统编程1>系统调用
2018-01-10 18:18
183 查看
系统调用与C语言调用很相似,以X86-32为例,有以下步骤:
1.调用C语言函数库中的外壳(Wrapper)函数,发起系统调用。
2.如有参数,外壳函数要保证所有参数可用并将它们复制到特定寄存器供内核使用
3.为了区分各个系统调用,外壳函数还需要将系统调用的编号复制到CPU寄存器中(%eax)
4.此处还是外壳函数执行中断指令(int 0x80),是处理器从用户态切换到内核态,执行中断0x80中断矢量指向的代码
5.内核响应0x80,调用system_call()。
1.调用C语言函数库中的外壳(Wrapper)函数,发起系统调用。
2.如有参数,外壳函数要保证所有参数可用并将它们复制到特定寄存器供内核使用
3.为了区分各个系统调用,外壳函数还需要将系统调用的编号复制到CPU寄存器中(%eax)
4.此处还是外壳函数执行中断指令(int 0x80),是处理器从用户态切换到内核态,执行中断0x80中断矢量指向的代码
5.内核响应0x80,调用system_call()。
相关文章推荐
- Unix编程学习笔记----对系统调用的完全理解
- Unix编程笔记疑问篇----如何从指令运行的角度去看待系统调用???
- <<Linux内核完全剖析 --基于0.12内核>> 学习笔记 第4章 80x86保护模式及其编程 4.1 80x86系统寄存器和系统指令
- Unix编程学习笔记--------系统调用的疑问????? 到底什么是系统调用???? 系统调用是如何实现的???
- Unix环境编程学习笔记------查看系统调用号文件
- Unix编程学习笔记----对系统调用的完全理解
- <<UNIX环境高级编程>>学习笔记之环境搭建
- Linux应用程序开发笔记->文件编程之系统调用方式相关函数
- Unix环境编程学习笔记---------打开并查看系统调用表
- Netty学习笔记<1>--UNIX的5种I/O模型
- <深入理解计算机系统>笔记
- <<JavaScript编程全解>>阅读笔记之函数与闭包
- <TCP/IP高效编程>笔记
- Linux/Unix C编程之系统函数文件读写 学习笔记
- Unix原理与应用(第四版)学习笔记2--系统调用之文件篇
- < 笔记 > Python - 08 Python 面向对象高级编程(OOP Advanced Features)
- unix环境多进程编程----用到的32个系统调用祥解
- <<UNIX环境高级编程>>之第三章理解
- <<UNIX环境高级编程>>之第五章理解
- <1>c语言实现ATM存取款系统(数组)