Praktikum 4A : Proses dan Manajemen Proses

 POKOK BAHASAN :

  • Proses pada Sistem Operasi Linux
  • Manajemen Proses pada Sistem Operasi Linux
TUJUAN BELAJAR :

  • 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 :

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. 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
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

    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. 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.

TUGAS PENDAHULUAN

    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
3. Sebutkan opsi yang dapat diberikan pada perintah ps 
  • 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).
4. Apa yang dimaksud dengan sinyal ? Apa perintah untuk mengirim sinyal ? 
  • Sinyal adalah suatu gejala fisika dimana satu atau beberapa dari karakteristiknya melambangkan informasi. Perintah untuk mengirim sinyal : kill [-nomor sinyal] PID.

5. Apa yang dimaksud dengan proses foreground dan background pada job control ? 
  • 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


3. $pstree : menampilkan semua proses pada sistem dalam bentuk hirarki parent/child. 

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.

6. pstree –h : untuk menampilkan proses dan ancestor yang tercetak tebal dengan menggunakan opsi -h.

PERCOBAAN 3 : MENAMPILKAN STATUS PROSES DENGAN BERBAGAI FORMAT



























1. $pstree –e | more : menampilkan semua proses dalam bentuk 4 kolom.


2. $ps ax |more : menampilkan semua proses yang dihasilkan terminal dan menampilkan proses yang tidak dihasilkan terminal.

3. $ps ef |more :  menampilkan semua proses dalam bentuk daftar penuh.


4. $ps -eo pid,cmd | more : menampilkan semua proses dalam format sesuai definisi user yang terdiri dari kolom PID dan CMD.

5. $ps –eo pid,ppid,%mem,cmd | more : untuk menampilkan kolom PID, PPID, dan %mem. PPID adalah proses ID dari proses parent. %mem menampilkan persentasi dari memori system yang digunakan proses.



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


5. $
kill %1 : memberhentikan program 1

6. $jobs : memperlihatkan job yang sedang dikerjakan


KESIMPULAN :
  • 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
DAFTAR PUSTAKA :
  • 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

Popular posts from this blog

PRAKTIKUM 5 : BEKERJA DENGAN BASH SHELL

Praktikum 3 : Operasi File dan Struktur Direktori

PRAKTIKUM 11 : MANAJEMEN USER DAN GROUP