Praktikum 4A : Proses dan Manajemen Proses
POKOK BAHASAN :
- Proses pada Sistem Operasi Linux
- Manajemen Proses pada Sistem Operasi Linux
- Memahami konsep proses pada sistem operasi Linux.
- Menampilkan beberapa cara menampilkan hubungan proses parent dan child.
- Menampilkan status proses dengan beberapa format berbeda.
- Melakukan pengontrolan proses pada shell.
- Memahami penjadwalan prioritas
DASAR TEORI :
Proses adalah program yang sedang dieksekusi. Setiap kali menggunakan utilitas sistem atau program aplikasi dari shell, satu atau lebih proses ”child” akan dibuat oleh shell sesuai perintah yang diberikan. Setiap kali instruksi diberikan pada Linux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini disebut juga dengan terminology Unix sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (terdaftar pada /etc/inittab).
Beberapa tipe proses :
- Foreground : Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog)
- Batch Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). Prose Batch tidak diasosiasikan (berinteraksi) denganterminal.
- Daemon Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan tugas sesuai dengan permintaan tersebut. Bila tidak ada request, maka program ini akan berada dalam kondisi “idle” dan tidak menggunakan waktu hitung CPU. Umumnya nama proses daemon di UNIX berakhiran d, misalnya inetd, named, popd, dll
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Proses mengirim sinyal melalui instruksi “kill” dengan format
kill [-nomor sinyal] PID
Nomor sinyal: 1 s/d maksimum nomor sinyal yang didefinisikan system.
Standar nomor sinyal yang terpenting adalah :
3. MENGIRIM SINYAL
Mengirim sinyal adalah satu alat komunikasi antar proses, yaitu memberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harus dikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi dan administrator/programmer dapat menentukan reaksi tersebut. Mengirim sinyal menggunakan instruksi :
kill [-nomor sinyal] PID
Shell menyediakan fasilitas job control yang memungkinkan mengontrol beberapa job atau proses yang sedang berjalan pada waktu yang sama. Misalnya bila melakukan pengeditan file teks dan ingin melakukan interrupt pengeditan untuk mengerjakan hal lainnya. Bila selesai, dapat kembali (switch) ke editor dan melakukan pengeditan file teks kembali.
Job bekerja pada foreground atau background. Pada foreground hanya diperuntukkan untuk satu job pada satu waktu. Job pada foreground akan mengontrol shell - menerima input dari keyboard dan mengirim output ke layar. Job pada background tidak menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.
Job pada foreground kemungkinan dihentikan sementara (suspend), dengan menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan kembali pada foreground ataubackground sesuai keperluan dengan menekan ”fg” atau ”bg”. Sebagai catatan, menghentikan job sementara sangat berbeda dengan melakuakan interrupt job (biasanya menggunakan [Ctrl-C]), dimana job yang diinterrup akan dimatikan secara permanen dan tidak dapat dijalankan lagi.
5. MENGONTROL PROSES LAIN
Perintah ps dapat digunakan untuk menunjukkan semua proses yang sedang berjalan pada mesin (bukan hanya proses pada shell saat ini) dengan format :
ps –fae atau ps -aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang menyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara detail dengan proses yang berjalan ditampilkan dan secara terus-menerus di-refresh. Proses ditampilkan secara terurut dari utilitas CPU. Kunci yang berguna pada top adalah
- s – set update frequency
- u – display proses dari satu user
- k – kill proses (dengan PID)
- q – quit
Utilitas untuk melakukan pengontrolan proses dapat ditemukan pada sistem UNIX adalah perintah killall. Perintah ini akan menghentikan proses sesuai PID atau job number proses.
Jawablah pertanyaan-pertanyaan di bawah ini :
1. Apa yang dimaksud dengan proses ? Program yang sedang dieksekusi.
2. Apa yang dimaksud perintah untuk menampilkan status proses : ps, pstree.
- Ps : untuk melihat kondisi proses yang ada.
- Pstree : menampilkan semua proses pada sistem dalam bentuk hierarki parent
- s – set update frequency
- u – display proses dari satu user
- k – kill proses (dengan PID)
- q – quit
- ps –fae atau ps -aux : menunjukkan semua proses yang sedang berjalan pada mesin (bukan hanya proses pada shell saat ini).
Sinyal adalah suatu gejala fisika dimana satu atau beberapa dari karakteristiknya melambangkan informasi. Perintah untuk mengirim sinyal : kill [-nomor sinyal] PID.
- Foreground : proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog). Foreground hanya diperuntukkan untuk satu job pada stu waktu. Job pada foreground akan mengontrol shell - menerima input dari keyboard dan mengirim ouput ke layar.
- Background : proses yang tidak dapat menerima input dari terminal, biasanya berjalan tanpa memerlukan interaksi.
6. Apa yang dimaksud perintah-perintah penjadwalan prioritas : top, nice, renice.
- Top : Perintah ini digunakan untuk menampilkan proses pada CPU. Perintah ini bisa digunakan untuk menampilkan proses dan penggunaan resource yang paling aktif.
- Nice : Perintah ini digunakan untuk melakukan modifikasi terhadap program yang akan mendapatkan prioritas penjadwalan proses.
- Renice : Perintah ini digunakan untuk memberikan prioritas pada proses yang sedang berjalan.
PERCOBAAN 1 : STATUS PROSES
1. CTRL + ALT +F2 sebagai Pembuka terminal pada Linux
2. Instruksi $ps : (process status) dipergunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (Process identification Number) dari proses tersebut.jika ada aplikasi yang sedang di jalankan otomatis task akan berjalan, setiap yang berjalan oleh sistem di beri nomor PID yang tidak biasa.
3. Instruksi $ps -u : Untuk menampilkan banyak proses. Untuk membatasi hanya proses dari user tertentu saja, kita dapat menggunakan sintaks ps -u.
4. Instruksi $ps -u <user> : Untuk mencari proses yang spesifik pemakai.5. Intruksi $ps -a digunakan untuk mencari proses lainnya; $ps -au digunakan untuk menampilkan atau mencari proses semua user.
6. ALT+F7 keluar dari terminal
PERCOBAAN 2 : MENAMPILKAN HUBUNGAN PROSES PARENT DAN CHILD
1. $ps -eH difungsikan sebagaimana untuk menampilakan seluruh proses baik dari parent maupun child. Penambahan ‘H’ pada perintah tersebut menghasilkan tampilan proses secara hierarki.
2. $ps –e f menampilkan status proses dengan karakter grafis
4. pstree | grep mingetty : Menampilakan semua proses mingetty yang berjalan pada system yang berupa console virtual
5. $pstree –p : Menampilkan semua proses pada sistem dalam bentuk hirarki parent/child.
1. $pstree –e | more : menampilkan semua proses dalam bentuk 4 kolom.
PERCOBAAN 4 : MENGONTROL PROSES PADA SHELL
1. $yes : looping y yang tidak akan berhenti
2. $yes > /dev/null : terjadi pembelokkan standart output ke
/dev/null
3. $yes > /dev/null & : Opsi ‘&’ adalah untuk membuat command
berjalan di background. Jadi kita bisa menjalankan command lain tanpa command
yang dijalankan di background berhenti. Nomor yang ada di antara [] adalah kode
nomor proses background, dan angka di sebelah kannya adalah process ID.
4.$jobs : memperlihatkan job yang sedang dikerjakan
- Kita dapat mengetahui proses yang sedang berlangsung dengan $ps yang ditampilkan dalam tabel maupun dalam bentuk diagram pohon
- Kita dapat mengetahui status cpu dan memori dengan bantuan ps juga.
- Untuk memperlihakan job dapat menggunakan $jobs
- https://pramitananda.wordpress.com/operating-system/proses-dan-manajemen-proses/
- http://agneshallatu.blogspot.com/2012/11/proses-dan-manajemen-proses.html
- http://intheworld-it.blogspot.com/2014/11/laporan-praktikum-sistem-operasi_25.html
- https://www.slideshare.net/ridwanpanigoro/os2013-lap5ridwan




Comments
Post a Comment