Praktikum 4 A
Proses danManajemen Proses
POKOK BAHASAN:
- Proses pada Sistem Operasi Linux- Manajemen Proses pada Sistem Operasi Linux
TUJUAN BELAJAR:
Setelah mempelajari materi dalam bab ini, mahasiswa diharapkan mampu:- Memahami konsep proses pada sis tem 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:
1 KONSEP PROSES PADA SISTEM OPERASI LINUX
Proses adalah program yang sedang dieksekusi. Setiap kali menggunakanutilitas sistem atau program aplikasi dari shell, satu atau lebih proses ”child” akandibuat oleh shell sesuai perintah yang diberikan. Setiap kali instruksi dibe rikan padaLinux shell, maka kernel akan menciptakan sebuah proses-id. Proses ini disebut jugadengan terminology Unix sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaituproses 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). ProseBatch tidak diasosiasikan (berinteraksi) dengan terminal.
· Daemon
Proses yang menunggu permintaan (request) dari proses lainnya dan menjalankantugas sesuai dengan permintaan tersebut. Bila tidak ada request, maka program iniakan berada dalam kondisi “idle” dan tidak menggunakan waktu hitung CPU.Umumnya nama proses daemon di UNIX berakhiran d, misalnya inetd, named,popd dll
2
SINYAL
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Prosesmengirim sinyal melalui instruksi “kill” dengan formatkill [-nomor sinyal] PIDNomor sinyal : 1 s/d maksimum nomor sinyal yang didefinisikan systemStandar nomor sinyal yang terpenting adalah :
No Sinyal Nama
Deskripsi
1 SIGHUPHangup, sinyal dikirim bila proses terputus,misalnya melalui putusnya hubungan modem2 SIGINT Sinyal interrupt, melalui ^C3 SIGQUIT Sinyal Quit, melalui ^\9 SIGKILL Sinyal Kill, menghentikan proses15 SIGTERM Sinyal terminasi software
3 MENGIRIM SINYAL
Mengirim sinyal adalah satu alat komunikasi antar proses, yaitumemberitahukan proses yang sedang berjalan bahwa ada sesuatu yang harusdikendalikan. Berdasarkan sinyal yang dikirim ini maka proses dapat bereaksi danadministrator/programmer dapat menentukan reaksi tersebut. Mengirim sinyalmenggunakan instruksikill [-nomor sinyal] PIDSebelum mengirim sinyal PID proses yang akan dikirim harus diketahuiterlebih dahulu.
4 MENGONTROL PROSES PADA SHELL
Shell menyediakan fasilitas job control yang memungkinkan mengontrolbeberapa job atau proses yang sedang berjalan pada waktu yang sama. Misalnya bilamelakukan pengeditan file teks dan ingin melakukan interrupt pengeditan untukmengerjakan hal lainnya. Bila selesai, dapat kembali (switch) ke editor dan melakukanpengeditan file teks kembali.Job bekerja pada foreground atau background. Pada foreground hanyadiper untukkan untuk satu job pada satu waktu. Job pada foreground akan mengontrolshell - menerima input dari keyboard dan mengirim output ke layar. Job padabackground tidak menerima input dari terminal, biasanya berjalan tanpa memerlukaninteraksi.Job pada foreground kemungkinan dihentikan sementara (suspend), denganmenekan [Ctrl-Z]. Job yang dihentikan sementara dapat dijalankan kembali padaforeground atau background sesuai keperluan dengan menekan ”fg” atau ”bg ”. Sebagaicatatan, menghentikan job seme ntara sangat berbeda dengan melakuakan interrupt job(biasanya menggunakan [Ctrl-C]), dimana job yang diinterrup akan dimatikan secarapermanen dan tidak dapat dijalankan lagi.
5 MENGONTROL PROSES LAIN
Perintah ps dapat digunakan untuk menunjukkan semua proses yang sedangberjalan pada mesin (bukan hanya proses pada shell saat ini) dengan format :ps –fae ataups -auxBeberapa versi UNIX mempunyai utilitas sistem yang disebut top yangmenyediakan cara interaktif untuk memonitor aktifitas sistem. Statistik secara detailPRAKTIKUM 4 PROSES DAN MANAJEMEN PROSES 34dengan proses yang berjalan ditampilkan dan secara terus-menerus di-refresh. Prosesditampilkan secara terurut dari utilitas CPU. Kunci yang berguna pada top adalahs – set update frequencyu – display proses dari satu userk – kill proses (dengan PID)q – quitUtilitas untuk melakukan pengontrolan proses dapat ditemukan pada sistemUNIX adalah perintah killall. Perintah ini akan menghentikan proses sesuai PIDatau job number proses.
TUGAS PENDAHULUAN:
Jawablah pertanyaan-pertanyaan di bawah ini :1. Apa yang dimaksud dengan proses ?2. Apa yang dimaksud perintah untuk menampilkan status proses :ps, pstree.3. Sebutkan opsi yang dapat diberikan pada perintah ps4. Apa yang dimaksud dengan sinyal ? Apa perintah untuk mengirim sinyal ?5. Apa yang dimaksud dengan proses foreground dan background pada job control ?6. Apa yang dimaksud perintah-perintah penjadwalan prioritas :top, nice, renice.
PERCOBAAN:
1. Login sebagai user.2. Download program C++ untuk menampilkan bilangan prima yang bernamaprimes.3. Lakukan percobaan-percobaan di bawah ini kemudian analisa hasil percobaan.4. Selesaikan soal-soal latihan.Percobaan 1 : Status ProsesPercobaan 2 : Menampilkan Hubungan Proses Parent dan Child6. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2dan login ke terminal sebagai user.7. Instruksi ps (process status) digunakan untuk melihat kondisi proses yangada. PID adalah Nomor Identitas Proses, TTY adalah nama terminal dimanaproses tersebut aktif, STAT berisi S (Sleepin g) dan R (Running), COMMANDmerupakan instruksi yang digunakan.$ ps8. Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPUadalah presentasi CPU time yang digunakan oleh proses tersebut, %MEMadalah presentasi system memori yang digunakan proses, SIZE adalah jumlahmemori yang digunakan, RSS (Real System Storage) adalah jumlah memoriyang digunakan, START adalah kapan proses tersebut diaktifkan$ ps -u9. Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas padaproses milik pemakai, dimana pemakai teresbut melakukan login$ ps –u <user>10. Mencari proses lainnya gunakan opsi a (all) dan au (all user)$ ps –a$ ps –au11. Logout dan tekan Alt+F7 untuk kembali ke mode grafis1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 danlogin ke terminal sebagai user.12. Ketik ps –eH dan tekan Enter. Opsi e memilih semua proses dan opsi Hmenghasilkan tampilan proses secara hierarki. Proses child muncul dibawahproses parent. Proses child ditandai dengan awalan beberapa spasi.$ ps -eH13. Ketik ps –e f dan tekan Enter. Tampilan serupa dengan langkah 2. Opsi–f akan menampilkan status proses dengan karakter grafis (\ dan _)$ ps –e f14. Ketik pstree dan tekan Enter. Akan ditampilkan semua proses padasistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proseschild. Sebagai contoh proses init sebagai parent (ancestor) dari semuaproses pada sistem. Beberapa child dari init mempunyai child. Proseslogin mempunya i proses bash sebagai child. Proses bash mempunyaiproses child startx. Proses startx mempunyai child xinit danseterusnya.$ pstree15. Ketik pstree | grep mingetty dan tekan Enter. Akan menampilkansemua proses mingetty yang berjalan pada system yang berupa consolevirtual. Selain menampikan semua proses, proses dikelompokkan dalam satubaris dengan suatu angka sebagai jumlah proses yang berjalan.$ pstree | grep mingetty16. Untuk melihat semua PID untuk proses gunakan opsi –p.$ pstree –p17. Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi–h.$ pstree –h
Percobaan
3 : Menampilkan Status Proses dengan Berbagai Format
9. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 danlogin ke terminal sebagai user.10. Ketik ps –e | more dan tekan Enter. Opsi -e menampilkan semua prosesdalam bentuk 4 kolom : PID, TTY, TIME dan CMD.$ ps –e | moreJika halaman penuh terlihat prompt --More-- di bagian bawah screen,tekan q untuk kembali ke prompt perintah.11. Ketik ps ax | more dan tekan Enter. Opsi a akan menampilkan semua prosesyang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yangtidak dihasilkan terminal. Secara logika opsi ini sama dengan opsi –e.Terdapa 5 kolom : PID, TTY, STAT, TIME dan COMMAND.$ ps ax | moreJika halaman penuh terlihat prompt --More-- di bagian bawah screen,tekan q untuk kembali ke prompt perintah.12. Ketik ps –e f | more dan tekan Enter. Opsi –e f akan menampilkan semuaproses dalam format daftar penuh.$ ps ef | moreJika halaman penuh terlihat prompt --More-- di bagian bawah screen,tekan q untuk kembali ke prompt perintah.13. Ketik ps –eo pid, cmd | more dan tekan Enter. Opsi –eo akan menampilkansemua proses dalam format sesuai definisi user yaitu terdiri dari kolom PIDdan CMD.$ ps –eo pid,cmd | moreJika halaman penuh terlihat prompt --More-- di bagian bawah screen,tekan q untuk kembali ke prompt perintah.Percobaan 4 : Mengontrol proses pada shell1. Pindah ke command line terminal (tty2) dengan menekan Ctrl+Alt+F2 danlogin ke terminal sebagai user.2. Gunakan perintah yes yang mengirim output y yang tidak pernah berhenti$ yesUntuk menghentikannya gunakan Ctrl-C.3. Belokkan standart output ke /dev/null$ yes > /dev/nullUntuk menghentikannya gunakan Ctrl-C.4. Salah satu cara agar perintah yes tetap dijalankan tetapi shell tetap digunakanuntuk hal yang lain dengan meletakkan proses pada background denganmenambahkan karakter & pada akhir perintah.$ yes > /dev/null &Angka dalam ”[ ]” merupakan job number diikuti PID.5. Untuk melihat status proses gunakan perintah jobs.$ jobs20. Ketik ps –eo pid,ppid,%mem,cmd | more dan tekan Enter. Akanmenampilkan kolom PID, PPID dan %MEM. PPID adalah proses ID dariproses parent. %MEM menampilkan persentasi memory system yangdigunakan proses. Jika proses hanya menggunakan sedikit memory systemakan dita mpilkan 0.$ ps –eo pid,ppid,%mem,cmd | more21. Logout dan tekan Alt+F7 untuk kembali ke mode grafis7. Untuk menghentikan job, gunakan perintah kill diikuti job number atauPID proses. Untuk identifikasi job number, diikuti prefix dengan karakter”%”.$ kill %<nomor job> contoh : kill %14. Lihat status job setelah diterminasi$ jobs
0 komentar:
Posting Komentar