1. Konsep Proses pada Sistem Operasi Linux
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. Beberapa tipe Proses yaitu :
- Foreground yaitu Proses yang diciptakan oleh pemakai langsung pada terminal (interaktif, dialog).
- Batch yaitu Proses yang dikumpulkan dan dijalankan secara sekuensial (satu persatu). Proses Batch tidak diasosiasikan (berinteraksi) dengan terminal.
- Daemon yaitu Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankan tugas sesuai dengan permintaan tersebut.
2. Sinyal
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
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
Sebelum mengirim sinyal PID proses yang akan dikirim harus diketahui terlebih dahulu.
4. Mengontrol Proses pada Shell
Shell menyediakan fasilitas job control yang memungkinkan mengontrol beberapa job atau proses yang sedang berjalan pada waktu yang sama. Job pada foreground kemungkinan dihentikan sementara (suspend), dengan menekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan kembali pada foreground atau background 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
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.
Setelah Mengetahui Dasar Teori, langsung saja meluncur ke percobaan :
Persiapan Sebelum Melakukan Percobaan :
1. Masuk ke sistem operasi Linux.
2. Login sebagai user.
3. Gunakan instruksi status proses : ps.
4. Gunakan instruksi untuk mengelola sinyal : kill, trap, nohup
1. Masuk ke sistem operasi Linux.
2. Login sebagai user.
3. Gunakan instruksi status proses : ps.
4. Gunakan instruksi untuk mengelola sinyal : kill, trap, nohup
Hasil Percobaan
langkah pertama adalah buka program Putty2 dengan memasukkan ID 10.xx.xx.xxx. sesuai nomer usernya,
karena di lab ada keterbatasan komputer dengan segala masalah yg tak kunjung usai, ya sudah dengan suka rela berbagi komputer dengan teman (satu komputer berdua)
dari materi di atas saya hanya melakukan percobaan
Percobaan 1 : Status Proses
$ ps
perintah ps (process status) digunakan untuk melihat kondisi proses yang ada.
$ ps –u <user>
Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada proses milik pemakai, dan pemakai harus melakukan login terlebih dahulu dengan $ ps –a (all).
$ ps –au
Mencari proses lainnya gunakan option a (all) untuk melihat kondisi yang ada dan mencari dari user yg sedang aktif dan au (all user) dapat mencari proses dari semua user.
Percobaan 2 : Menampilkan Hubungan Proses Parent dan Child
Percobaan 2 : Menampilkan Hubungan Proses Parent dan Child
ps -eH
Perintah “ps -e” digunakan untuk menampilakan semua proses baik dari parent maupun child. Penambahan ‘H’ pada perintah tersebut maka yang akan tampil seperti perintah “ps -e” namun bedanya proses pada parent di taruh di atas dan proses pada child di taruh di bawah proses parent dengan di tandai beberapa spasi
Percobaan 6 : Percobaan dengan penjadwalan prioritas
1. Login sebagai root, buka 3 terminal tampilkan pada screen yang sama
2. Pada setiap terminal ketik PS1=”\w: “ .
3. Untuk setiap terminal ketik pwd, ini berguna untuk melihat bahwa anda sedang berada di direktori root
1. Login sebagai root, buka 3 terminal tampilkan pada screen yang sama
2. Pada setiap terminal ketik PS1=”\w: “ .
3. Untuk setiap terminal ketik pwd, ini berguna untuk melihat bahwa anda sedang berada di direktori root
Buka terminal lagi, dan diterminal ke empat ini ketik top dan tekan enter
Lalu ketik I, ini berguna untuk melihat program yang sedang aktif
Ketik lmt dan program top tidak akan lagi menampilkan informasi pada bagian atas dari screen.
- Pada terminal 1 bukalah program executable C++ dengan mengetikan yesPada jendela terminal 1 akan muncul program yang tiada henti, dan dijendela 4 ditampilkan proses yang sedang berjalan di jendela ke-1, nilai %CPU sama pada keduanya, hal ini berarti kedua proses mengkonsumsi waktu proses yang sama dan berjalan sama cepat. PID dari kedua proses akan berbeda.
- Gunakan terminal ke 3 dan ketik renice 19<PID terminal 1>Hal ini berarti mengganti penjadwalan prioritas dari proses ke 19.
- Tunggu beberapa saat sampai program top berubah dan terlihat pada jendela top.
Pada kolom STAT memperlihatkan N untuk proses 2143. Hal ini berarti bahwa penjadwalan prioritas untuk proses 2143 lebih besar atau lebih lambat dari 0, proses 2205 berjalan lebih cepat.
- Program top juga mempunyai beberapa fungsi yang sama dengan program renice.
Terdapat prompt PID to renice..
Masukan nilainya
Lalu tekan enter
Aksi renice yang saya lakukan ternyata failed
- Pilih terminal yang sedang nganggur dan ketik nice –n -10 yes
Program top berubah dan terlihat proses prime ke 3
- Jangan menggunakan mouse dan keyboard selama 10 detik. Program top menampilkan proses yang aktif selain program yes. Maka akan terlihat proses top terdaftar tetapi % cpu kecil (dibawah 1.0) dan konsisten. Juga terlihat proses berhubungan dengan desktop grafis seperti X panel dll.
Pindahkan mouse sehingga kursor berubah pada screen dan lihat apa yang terjadi dengan tampilan top. Proses tambahan akan muncul dan nilai %cpu berubah sebagai bagian grafis yang bekerja.
10. Tutup semua terminal, logout dan login kembali sebagai user
10. Tutup semua terminal, logout dan login kembali sebagai user
3 komentar
tau cara atasi sinyal di linux mint..?
cocok gan Dzihan
Mampir yo, bdesains.blogspot.com ,isih kosongan
:-d