1
(5分)
使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
-
选择一个系统调用(13号系统调用time除外),系统调用列表参见http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl
-
参考视频中的方式使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用,推荐在实验楼Linux虚拟机环境下完成实验。
-
根据本周所学知识分析系统调用的工作过程,撰写一篇署名博客,并在博客文章中注明“真实姓名(与最后申请证书的姓名务必一致) + 原创作品转载请注明出处 + 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”,博客内容的具体要求如下:
-
题目自拟,内容围绕系统调用的工作机制进行;
-
博客中需要使用实验截图
-
博客内容中需要仔细分析汇编代码调用系统调用的工作过程,特别是参数的传递的方式等。
-
总结部分需要阐明自己对“系统调用的工作机制”的理解。
请提交博客文章URL到网易云课堂MOOC平台,编辑成一个链接可以直接点击打开。
=====================================================
39号系统调用mkdir
C程序
#include <dirent.h> int main(void) { char dir[] = "dirc"; mkdir(dir); }
编译-运行

汇编实现

eax :系统调用号39 mkdir
其他寄存器:mkdir的参数
本例没有返回值,若有返回值,使用eax传递返回值
总结:
int 0x80调用一下而已,也没什么可以总结的,能用API就用API吧
浙公网安备 33010602011771号