⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 system_call.txt

📁 linux内核学习笔记 希望想看的人可以很快下载到
💻 TXT
字号:
any questions,send email to netxiong@eyou.com


相关文件
	/arch/i386/kernel/traps.c
	/arch/i386/kernel/entry.S
	/include/asm-i386/unistd.h

系统调用的基本流程如下

(1)首先系统会使用trap_init来对各种门调用进行初始化	
	set_system_gate(SYSCALL_VECTOR,&system_call);这就是系统调用的代码
			SYSCALL_VECTOR已经被定义为0X80。
			system_call是定义在entry.S中的一段程序

(2)ENTRY(system_call)
	这段程序会保存各种状态
	call *SYMBOL_NAME(sys_call_table)(,%eax,4)调用sys_call_table中的程序
	
(3)ENTRY(sys_call_table)
	这个表就是所以的系统调用的入口地址表

如何写自己的系统调用
(1)要在unistd.h中添加一个为一个系统调用号,只用接在系统的后面就可以了
(2)在entry.S重要增加相应的系统的入口。




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -