Kernel
文章平均质量分 79
wugj03
这个作者很懒,什么都没留下…
展开
-
拦截系统调用的实现以及要注意的问题
在2.6.32实现拦截系统调用1.获取sys_call_table的地址方法1:从/boot/System.map中取到sys_call_table的地址由上图所看:第一:sys_call_table是只读的,下面是如何使得它变为RW。 第二:这种方法获取的sys_call_table只是针对本机的,可移植性差方法2:参考来源于:ht原创 2015-01-09 12:46:48 · 1214 阅读 · 0 评论 -
Linux 内核之时间篇
本系列文章的前两节讨论了用于计时的时钟源:clocksource,以及内核内部时间的一些表示方法,但是对于真实的用户来说,我们感知的是真实世界的真实时间,也就是所谓的墙上时间,clocksource只能提供一个按给定频率不停递增的周期计数,如何把它和真实的墙上时间相关联?本节的内容正是要讨论这一点。1. 时间的种类内核管理着多种时间,它们分别是:RTC时间wall time:墙上转载 2015-01-19 14:52:38 · 1101 阅读 · 0 评论 -
linux内核mount系统调用源码分析
@Author: Gordon 0.摘要mount是Linux很常见的命令,本文将从用户空间的命令行开始,一步一步切入到内核的源代码,解释一个文件系统是如果挂载的。本文基于linux 2.6.321.SYSCALL_DEFINE5, 系统调用Linux kernel通过系统调用的方式为用户提供陷入到内核,mount的系统调用是SYSCALL_DEFIN原创 2014-12-16 14:38:56 · 7587 阅读 · 0 评论 -
系统调用宏SYSCALL_DEFINE
本文讲解x86中系统调用的过程,以read系统调用为例。1.系统调用号:arch/x86/include/asm/unistd_64.h#define __NR_read 0__SYSCALL(__NR_read, sys_read)2.系统调用表:sys_call_table内核记录了系统调用表中所有已注册过的系统调用的列表,存储在sys_call_table原创 2014-12-30 15:08:28 · 2643 阅读 · 0 评论