Thread dan Proses

Terminologi

Thread dan konsep proses berbeda antara debugging mode pengguna dan debugging mode kernel.

  • Dalam debugging mode pengguna, proses adalah proses sistem operasi dan utas adalah utas sistem operasi.

  • Dalam debugging mode kernel, mesin debugger membuat proses virtual untuk setiap target; proses ini mewakili kernel dan tidak sesuai dengan proses sistem operasi apa pun. Untuk setiap prosesor fisik di komputer target, debugger membuat utas virtual; thread ini mewakili prosesor dan tidak sesuai dengan thread sistem operasi apa pun.

Ketika suatu peristiwa terjadi, mesin mengatur proses peristiwa dan thread peristiwa ke proses dan thread (sistem operasi atau virtual) di mana peristiwa terjadi.

Thread saat ini adalah thread (sistem operasi atau virtual) yang saat ini dikendalikan mesin. Proses saat ini adalah proses (sistem operasi atau virtual) yang saat ini dikendalikan mesin. Ketika suatu peristiwa terjadi, utas dan proses saat ini pada awalnya diatur ke utas dan proses peristiwa; tetapi, mereka dapat diubah menggunakan klien saat sesi dapat diakses.

Dalam mode kernel, debugger melacak proses implisit dan utas implisit. Proses implisit adalah proses sistem operasi yang menentukan terjemahan dari virtual ke alamat memori fisik.

Thread implisit adalah thread sistem operasi yang menentukan register target, termasuk call stack, stack frame, dan instruction offset.

Ketika suatu peristiwa terjadi, utas implisit dan proses implisit pada awalnya diatur ke utas dan proses peristiwa; mereka dapat diubah saat sesi dapat diakses.

Thread dan Data Proses

Mesin mempertahankan beberapa informasi tentang setiap benang dan proses. Ini termasuk thread sistem dan ID proses dan pegangan sistem, dan lingkungan proses (PEB), blok lingkungan thread (TEB), dan lokasi mereka dalam memori target.

Informasi Tambahan

Untuk detail tentang menggunakan utas dan proses, lihat Mengontrol Thread dan Proses.