Linux'ta PCB nerede


10

Bir PCB veya proses kontrol bloğu , Wikipedia'da şöyle tanımlanır

İşlem Kontrol Bloğu (Görev Kontrol Bloğu olarak da adlandırılan PCB, [1] Görev Yapısı veya Anahtar Kare), işletim sistemi çekirdeğinde belirli bir işlemi yönetmek için gereken bilgileri içeren bir veri yapısıdır. PCB "bir işletim sisteminde bir işlemin tezahürüdür

ve görevi:

Process identification data
Processor state data
Process control data

Peki bir sürecin PCB'si nerede bulunabilir?


Ayrıca bkz . Yığın Taşması konusunda Linux'ta işlem denetim bloğu .

Yanıtlar:


15

Linux çekirdeğinde, her işlem, task_structbaşı iki olan bağlantılı bir listede temsil edilir init_task(pid 0, pid 1 değil). Bu işlem tablosu olarak bilinir .

Kullanıcı modunda, işlem tablosu altındaki normal kullanıcılar tarafından görülebilir /proc. Sorunuza ilişkin başlıkları almak:

  • İşlem tanımlama verileri , işlem kimliği (yoldaki /proc/<process-id>/...), komut satırı ( cmd) ve 'tanımlama' tanımınıza bağlı olarak muhtemelen diğer özniteliklerdir.

  • Süreç devlet veri veri planlaması (içerir sched, statve schedstat), süreç şu anda (bekleyen ne wchan(), çevresini environ) vb

  • Süreç kontrol verilerinin kimlik bilgileri ( uid_map) ve kaynak sınırları ( limits) olduğu söylenebilir .

Yani her şey terimlerinizi nasıl tanımladığınıza bağlıdır ... ancak genel olarak bir süreçle ilgili tüm veriler bulunabilir /proc.


"başı init_task(pid 0, pid 1 değil)" diye bir şey yoktur init_task. Bu initve pid'i 0 değil, 1 (onaylandı pidof init).
AleksandrH

1
@AleksandrH init_task bir süreç değil çekirdek bir yapıdır. Dahili olarak pid 0 ile temsil edilen boş görevi gösterir. İnit_task ve init tamamen farklı şeylerdir.
Flup

Ve yine pidde sadece süreçler için ...
AleksandrH

1
@AleksandrH Çekirdek kaynak ağacındaki init / init_task.c dosyasını okuyun ( github.com/torvalds/linux/blob/master/init/init_task.c ).
Flup
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.