GNU/Linux >> Belajar Linux >  >> Linux

Apa sumber kernel Linux saat ini?

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


Linux
  1. Linux vs. Unix:Apa bedanya?

  2. Siklus hidup pengujian kernel Linux

  3. Apa runlevel sistem Linux saat ini?

  1. Linux – Sumber Entropi Apa yang Digunakan oleh Kernel Linux?

  2. Apa arti __init dalam kode kernel Linux?

  3. Di mana saya menemukan versi pohon sumber kernel Linux?

  1. Apa itu Kernel Linux, dan haruskah Anda mengupgrade ke Kernel terbaru?

  2. Apa arti &di akhir perintah linux?

  3. Apa definisi sesi di linux?