P0 dalam keadaan berjalan ketika setidaknya salah satu utasnya dalam keadaan berjalan?
Tidak setiap saat. Status proses dan status thread bisa berbeda. Jadi tidak perlu ketika thread sedang berjalan p0
tetap berjalan bisa dalam keadaan blok atau siap. Beberapa kemungkinan situasi antara thread dan proses:
Proses dalam keadaan siap, salah satu thread proses dalam keadaan berjalan.
Proses diblokir dalam keadaan diblokir, salah satu thread proses dalam keadaan berjalan.
misalnya ketika aplikasi berulir dimulai sebagai proses yang berisi utas tunggal. Pada saat itu proses sedang dalam keadaan berjalan. Kemudian aplikasi menggunakan pustaka thread tingkat pengguna untuk membuat thread tambahan. Sekarang ketika thread A mulai berjalan, ia akan memasuki status berjalan. Misalkan Thread A melakukan panggilan sistem I/O. Dalam situasi ini kontrol ditransfer ke kernel yang memblokir proses. Dalam hal ini thread A masih berjalan, meskipun proses dalam keadaan diblokir. Ini adalah salah satu contoh ketika proses diblokir tetapi thread sedang berjalan.
Yang pasti di TCB harus ada kolom untuk status thread.
ya ada bidang untuk status (misalnya running ,terminate , ready , block dll ) di tcb.
Apakah ada bidang status eksekusi di PCB dan mengapa?
Ya, ada bidang negara di PCB juga. Tapi itu tidak dihitung dari status tcb karena seperti yang saya katakan kedua status bisa berbeda. Thread umumnya akan memanggil prosedur yang berbeda dan dengan demikian memiliki riwayat eksekusi yang berbeda.
Semoga Anda puas dengan jawaban saya. Semoga beruntung :-)
---› Periksa tautan ini untuk referensi
---› periksa tautan untuk konten TCB dan PCB
person
Punit Vara
schedule
06.12.2015