Ini adalah penunjuk ke proses saat ini (yaitu proses yang mengeluarkan panggilan sistem).
Di x86, ini didefinisikan di arch/x86/include/asm/current.h
(file serupa untuk arch lainnya).
#ifndef _ASM_X86_CURRENT_H
#define _ASM_X86_CURRENT_H
#include <linux/compiler.h>
#include <asm/percpu.h>
#ifndef __ASSEMBLY__
struct task_struct;
DECLARE_PER_CPU(struct task_struct *, current_task);
static __always_inline struct task_struct *get_current(void)
{
return percpu_read_stable(current_task);
}
#define current get_current()
#endif /* __ASSEMBLY__ */
#endif /* _ASM_X86_CURRENT_H */
Informasi selengkapnya di Driver Perangkat Linux bab 2:
Pointer saat ini mengacu pada proses pengguna yang sedang dieksekusi. Selama eksekusi panggilan sistem, seperti buka atau baca, proses saat ini adalah proses yang memanggil panggilan tersebut. Kode kernel dapat menggunakan informasi khusus proses dengan menggunakan arus, jika perlu. [...]
Current
adalah variabel global bertipe struct task_struct
. Anda dapat menemukan definisinya di [1].
Files
adalah struct files_struct
dan berisi informasi file yang digunakan oleh proses saat ini.
[1] http://students.mimuw.edu.pl/SO/LabLinux/PROCESY/ZRODLA/sched.h.html