BAB III
PROSES
Dengan menggunakan fork(), proses baru yang dihasilkan akan sama persis
dengan proses sebelumnya. Artinya apa yang telah dieksekusi sebelumnya akan
diduplikasi, termasuk berkas yang dibuka, status register, semua alokasi memori
dan juga kode program. Yang membedakan proses lama (parent) dan proses baru
(child) adalah identitas proses (PID) yang dimiliki. Jika yang dibutuhkan adalah
proses baru yang benar-benar berbeda dari proses sebelumnya, maka linux akan
menggunakan system call exec(). System Call exec() mengganti isi proses yang
sedang berjalan dengan informasi baru dari program yang dijalankan terakhir.
Perbedaan dari kedua system call ini dapat dilihat pada gambar 1.
3.2.1 Aktifkan sistem operasi linux yang telah di-install sebelumnya. Login ke
sistem dan kemudian. Buka sebuah console shell atau aplikasi terminal
jika menggunakan mode GUI
3.2.4 Ketikan perintah $ top kemudian perhatikan atau catat tampilan yang ada
3.2.5 Buka aplikasi terminal yang kedua, dan ketikan perintah $ ps kemudian
perhatikan kembali tampilan yang ada pada terminal pertama
3.2.6 Ketikan perintah $ ps -ax dan lihat kembali tampilan pada terminal
pertama
3.2.7 Sebutkan dan jelaskan dengan singkat informasi apa saja yang dapat
dilihat dengan perintah $ ps!
3.2.8 Sebutkan dan jelaskan dengan singkat informasi apa saja yang dapat
dilihat dengan perintah $ ps -ax!
Terminal ketiga
3.2.12 Buka aplikasi terminal yang kedua, dan ketikan perintah $ ps –ax
3.2.13 Temukan identitas proses yang terkait dengan perintah $ yes pada
terminal ketiga dan tuliskan dengan lengkap serta berikan penjelasan!
$kill
$killall
3.2.15 Perintah manakah yang lebih tepat, apakah $ kill atau $ killall, yang
dapat digunakan untuk menghentikan proses yang terkait dengan
perintah $ yes di terminal ketiga pada langkah sebelumnya (langkah
13)? Jelaskan alasannya!
Perintah yang tepat digunakan untuk menghentikan proses yang terkait
dengan perintah yes pada terminal ketiga yaitu dengan menggunakan
syntax $kill dikarenaka hanya menghentikan satu proses, berbeda
dengan syntax $killall yang dapat menghentikan banyak proses yang
sama sekaligus.
3.2.16 Tunjukkan hasil (tampilan pada terminal kedua) yang dapat diambil
ketika menjalankan perintah yang dipilih pada langkah 15!
3.2.18 Sebutkan dan jelaskan dengan singkat informasi apa saja yang dapat
dilihat dengan perintah $ top!
3.2.20 Aktifkan kursor dan keyboard pada aplikasi terminal yang kedua, dan
ketikan perintah $ pstree
3.2.21 Tuliskan dan jelaskan dengan singkat hasil yang didapatkan pada saat
perintah $ pstree dijalankan!
Perintah $pstree digunakan untuk menampilkan proses pada
sistem dalam bentuk hirarki parent/child.
3.2.22 Tunjukkan dan jelaskan proses apa saja yang saling berhubungan
dengan atau merupakan hasil pembentukan dari proses lain!
Seperti pada proses yang dijalankan oleh gnome-session-b.
dapat dilihat adanya proses update.
3.2.23 Tunjukkan dan jelaskan pula proses yang tidak saling terkait satu dan
lainnya
3.4.2 Jelaskan secara rinci dan singkat perbedaan system call exec() dan
fork()!
System call exec mengganti isi proses yang sedang berjalan
dengan informasi baru dari program yang dijalankan terakhir
dan benar-benar beda dari proses sebelumnya. Sedangkan jika
menggunakan fork(), proses yang telah dieksekusi sebelumnya
akan diduplikasi, termasuk berkas yang dibuka, status register,
semua alokasi memori dan juga kode program
Disusun oleh:
Nabila Zaein Dwi Kensiwi
215150601111019
UNIVERSITAS BRAWIJAYA
FAKULTAS ILMU KOMPUTER
PENDIDIKAN TEKNOLOGI INFORMASI
2022
A. Konsep Dasar dan Definisi Proses
B. Status Proses
Pada suatu proses terdapat beberapa status. Setiap status memiliki salah
satu status berikut ini, yaitu:
Diagram Proses
D. Penjadwalan Proses
Waktu proses memasuki sebuah sistem, mereka akan diletakkan dalam
antrian job. Proses yang hidup pada memori utama dan siap menunggu untuk
diekseksi disimpan pada daftar ready queue. Header ready queue berisi petunjuk
kepada PCB-PCB awal dan akhir. Setiap PCN memiliki pointer field.
Kasus yang terjadi pada device queue sering terjadi seperti:
Ketika sebuah proses mengalokasikan CPU, proses tersebut akan berjalan
sebentar lalu berhenti, dan menunggu suatu kejadian tertentu, seperti
penyelesain suatu I/O.
Pada kasusu tersebut I/O telah diperuntuhkan, atau alat yang berbagi.
Karena adanya banyak proses dalam sistem tersebut dan menyebabkan tape
drive sibuk dengan permintaan I/O untuk proses.
Maka yang akan terjadi jika hal tersut terjadi yaitu proses dimungkinkan harus
menunggu untuk tape drive. Proses ini disebut device queue.
ready queue dan device queue
System call exec() ini merupakan proses baru yang berbeda dari proses
lainnya atau yang sebelumnya. Maksudnya system call exec() ini mengganti isi
proses yang sedang berjalan dengna informasi baru dari program yang dijalnkan
terkahir. Sedangkan system fork() merupakan proses baru yang dihasilkan persis
dengan proses sebelumnya. Maksudnya apa yang telah dieksekusi sebelumnya
akan dipublikasi, termasuk berkas yang dibuka, status reguste, semua lokasi
memori, dan juga kode program.
Layanan untuk sistem operasi langsung ke program disebut system call
atau API yang merupakan tata cara pemanggil di program aplikasi untuk
memperoleh layanan yang disediakan oleh sistem operasi. System call ini
berupa rutin sistem operasi untuk keperluan tertentu yang spesifik. System call
bertujuan untuj manajemen proses dan deperlukan untuk mengatur proses-
proses yang sedang berjalan. Kita dapat melihat penggunaan system calls untuk
manajemen proses pada sistem operasi unix. Contoh untuk melihat bagaimana
proses system call bekerja dengan baik untuk manajemen proses yaitu fork.
Fork yaitu satu satunya cara untuk membuat sebuah proses baru pada sistem
Unix. Fork membuat duplikasi yang mirip dengan proses lainnya.
Bayangkan yang terjadi pada shell. Shell akan membaca command dari
terminal, lalu melakukan fork pada child, menunggu child untuk mengeksekusi
command, lalu membaca command lainnya ketika terminated. Untuk menunggu
child selesai, parent akan mengeksekusi commad yang dimasukkan oleh user.
Proses child ini akan melakukannya dengan menggunakan system call exec.
Dari ilutrasi tersebut dapat diketahui bagaiman system call dipakai untuk
manajemen proses.
Referensi
Haryanto, e. V. (2012). Sistem Operasi Konsep dan Teori. Yogyakarta: Penerbit Andi.
Pangera, A. A. (2005). Sistem Operasi. Yogyakarta: penerbit Andi.
S, R. (2012). Implementasi System Call Pada Sistem Operasi.