现在的位置: 首页 > 综合 > 正文

当前进程和一些其它细节

2013年10月28日 ⁄ 综合 ⁄ 共 424字 ⁄ 字号 评论关闭
2.6内核中current是一个指向struct task_struct 的指针。
task_struct在<linux/sched.h>中定义,current指针指向当前正在运行的进程。
在read、write等系统调用中,可以通过current指针找到当前进程,比如要打印当前进程的名称和id,就可以如下代码实现:
#include <linux/sched.h>
printk(KERN_INFO "The process is /"%s/" (pif%i)/n", current->comm,current->pid);

//其它细节
应用程序在虚拟内存中布局,并具有一块很大的栈空间。
而相反,内核具有非常小的栈,可能只和4096字节大小的页那样小。我们自己的函数必须和整个内核空间调用链一同共享这个栈。所以,当我们需要大的栈的时候,最好能够在调用的时候动态分配空间。

双下划线,如“__”。告诉程序员“谨慎调用,后果自负”。因为具有这样名称的函数通常是接口的底层组件。

抱歉!评论已关闭.