排序:
默认
按更新时间
按访问量

系统调用之getpid

这个函数用于获得线程组的领导线程的pid 其源码分析如下: SYSCALL_DEFINE0(getpid) { #这里可以看是当前进程 return task_tgid_vnr(current); } static inline pid_t task_tgid_vnr(struct task_...

2018-05-14 20:25:31

阅读数:226

评论数:0

系统调用之sys_nanosleep

这个系统调用会sleep 一段时间 其源码分析如下: SYSCALL_DEFINE2(nanosleep, struct timespec __user *, rqtp, struct timespec __user *, rmtp) { struct timespec64 tu; #得到...

2018-05-09 19:25:31

阅读数:123

评论数:0

系统调用之sys_gettid

这个系统调用返回当前进程当前namespace中leader线程的pid 其源码分析如下: SYSCALL_DEFINE0(gettid) { #从这里可以看出是返回当前进程current return task_pid_vnr(current); } static inline pid_t ...

2018-05-08 19:33:31

阅读数:97

评论数:0

系统调用之sys_adjtimex

这个函数主要用于读取kernel时间,如果是superuser的话,则可以写kernel时间。 其源码分析如下: SYSCALL_DEFINE1(adjtimex, struct timex __user *, txc_p) { struct timex txc; /* Local copy ...

2018-05-07 19:20:21

阅读数:60

评论数:0

系统调用之sys_settimeofday

这个函数用于设置系统当前时间。 其源码分析如下: SYSCALL_DEFINE1(stime, time_t __user *, tptr) { struct timespec64 tv; int err; #从user space的buffer中copy要设置的时间到tv.tv_sec中 ...

2018-05-04 19:37:37

阅读数:45

评论数:0

系统调用之sys_gettimeofday

这个函数以timeval 结构体返回当前系统时间和当前的时区 其源码分析如下: SYSCALL_DEFINE2(gettimeofday, struct timeval __user *, tv, struct timezone __user *, tz) { #这里用likely修饰可以知...

2018-04-25 08:43:42

阅读数:134

评论数:0

系统调用之sys_stime

asmlinkage long sys_stime(time_t __user *tptr); 用于设置系统的时间 其源码分析如下: SYSCALL_DEFINE1(stime, time_t __user *, tptr) { struct timespec64 tv; int err; ...

2018-04-23 15:11:31

阅读数:39

评论数:0

系统调用之sys_time

asmlinkage long sys_time(time_t __user *tloc); 这个函数从当前kernel 获得当前的秒数,返回给用户空间 其源码分析如下: SYSCALL_DEFINE1(time, time_t __user *, tloc) { #通过timekeeper 获...

2018-04-21 16:37:14

阅读数:53

评论数:0

系统调用之sys32_quotactl

这个函数在kernel space中从当前进程的用户空间申请一段内存空间并从kernel中的到quote 信息后,然后copy到用户空间中 其中的quote信息如下: struct if_dqblk { __u64 dqb_bhardlimit; __u64 dqb_bsoftlimit; ...

2018-04-19 16:36:15

阅读数:47

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭