Prak1 Sisop 14S21004 14S21013 14S21019
Prak1 Sisop 14S21004 14S21013 14S21019
Prak1 Sisop 14S21004 14S21013 14S21019
INSTITUT TEKNOLOGI
DEL
SITOLUAMA, KEC. LAGUBOTI, KAB.
TOBASA T.A 2022/2023
B. pemograman
b. jelaskan mengapa setiap kali program di atas di eksekusi, maka akan menampilkan process
ID yang berbeda. Jelaskan mengapa?
Jawab =
Proses ID yang ditampilkan bisa berbeda karena setiap proses anak di'assign'
dengan ID yang berbeda (unique).
2. Pada kode program berikut, proses baru akan dibentuk dengan menggunakan fungsi
system().
Eksekusilah program di atas kemudian capture hasilnya. Tunjukkanlah proses mana yang
menjalankan proses ps –axl | more dengan menandai ID proses induk-nya.
Jawab
3. Pada kode program berikut, proses baru akan dibentuk dengan menggunakan fungsi exec().
Jalankan kode program pada nomor 3. Amati hasilnya dan bandingkan hasilnya
dengan program pada nomor 2. Temukan perbedaannya dan jelaskan mengapa?
Jawab
Dari hasil pengamatan, proses induk yang dijalankan pertama kali walaupun fork()
memiliki peran untuk memprioritaskan pembuatan child terlebih dahulu.
Namun pada akhirnya kedua proses (induk dan anak) selesai bersamaan karena
parent selalu menunggu child memberikan sinyal 'selesai' sebelum keduanya
terminated.
Program di atas akan menjalankan dua proses yaitu proses induk dan proses anak.
Proses anak akan dijalankan sebanyak 5 kali, dan proses induk akan dijalankan
sebanyak 3 kali. Jalankan program di atas dan amati hasil yang terjadi
jawab
Pada awalnya proses induk dijalankan lalu dilanjutkan dengan proses fork() yang
membentuk anak dimana pembuktiannya dari message yang dibangun; method
sleep() berfungsi untuk menunggu sesaat sehingga proses induk dan anak terlihat
dilaksanakan secara bergantian.
6, Sesuai dengan siklus pembentukan proses anak dengan menggunakan fork() hingga proses anak
diterminasi seperti yang ditunjukkan pada slide presentasi halaman 3.21, maka proses induk harus
menunggu seluruh proses anak selesai dengan memanggil system call wait(). Dengan memodifikasi
program nomor 5, tuliskan program di bawah (halaman selanjutnya). Pada program tersebut anda akan
menerapkan system call wait() dengan menggunakan library sys/wait.h.
jawab
Dari hasil praktikum, method wait() berguna untuk menunggu semua proses anak memberi sinyal yang
menandakan tugasnya telah selesai dan proses induk maupun anak akan terminated bersamaan.
8.Jelaskan mengapa parent process harus memanggil system call wait() dan apa yang terjadi apabila
system call wait() tidak dipanggil?
Jawab
Siklus with wait() = Dari hasil praktikum, apabila tidak memanggil method wait() maka anak akan
terminated secara tidak normal dan dapat diasumsikan terjadi kasus dimana proses
induk disebut orphan dan proses anak disebut zombie.
10. Eksekusi program di atas. Observasi hasil dari eksekusi program, Anda dapat menggunakan perintah
ps –al pada terminal yang lain untuk melihat proses yang sedang berjalan. Apakah hasil dari perintah
ps -al, jelaskan mengapa terjadi hal demikian?
Jawab