Rabu, 18 Desember 2019

Laporan Praktikum Sistem Operasi Modul 8 : Manajemen proses

A. TUJUAN
Setelah mempelajari materi dalam hal ini, mahasiswa diharapkan mampu :
      1.       Memahami konsep proses pada sistem operasi Linux.
      2.       Menampilkan beberapa cara menampilkan hubungan proses parent dan child.
      3.       Menampilkan status proses dengan beberapa format berbeda.
      4.       Melakukan pengontrolan proses pada shell.
      5.       Memahami penjadwalan prioritas.
B. DASAR TEORI
Konsep Proses Sistem Operasi Linux
Proses adalah Program yang sedang dieksekusi. Setiap kali menjalankan suatu program, Sistem UNIX melakukan suatu fork, yaitu melakukan beberapa urutan operasi untuk membuat suatu proses konteks dan kemudian mengeksekusi program tersebut dalam konteks yang sudah dibuat. Oleh karena itu kita harus menguasai Manajemen Proses Linux. Manajemen Proses Linux adalah salah satu hal yang sangat penting yang harus dikuasai oleh seorang Teknisi Komputer. Kenapa? Karena selain kita mengetahui proses di Windows, kita harus tahu proses di Linux dan dengan penguasaan manajemen prose ini kita bisa mengetahui proses apa saja yang running pada setiap user. Atau dalam suatu jaringan juga kita bisa melakukan controlling terhadap proses setiap client.
Dalam Manajemen proses beberapa hal penting yang harus dikuasai, yaitu :
1. Mengetahui proses yang terjadi Linux
2. Dapat melakukan proses controlling terhadap proses di Linux
3. Menghentikan proses yang tidak dibutuhkan dan mengurangi performa Linux
Untuk itu kita harus mempelajari Manajemen Proses pada Linux. Perintah inti dari proses manajemen proses di Linux adalah :
1. ps
2. kill
Tipe-tipe Proses dalam Linux
Tipe-tipe proses dalam Linux, dibagi ke dalam 3 bagian, yaitu :
    1.       Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan dalam foreground dan background. seperti : terminalsoftware running, dll.
    2.       Batch : Sebuah seri dari proses-proses yang dijadwalkan untuk dieksekusi pada suatu waktu tertentu, proses batch ini juga tidak berhubungan dengan terminal, tapi menunggu dieksekusi secara sekuensial.
    3.       Daemon : Proses yang diinisialisasi saat booting untuk membentuk suatu fungsi-fungsi sistem yang dibutuhkan, bila tidak ada request maka akan berada pada keadaan idle, seperti : LPD, NFS, dan DNS.
IDENTITAS PROSES
Berikut adalah beberapa identitas dari Proses yang ada di Linux :
1. PID ( Proccess ID )
adalah pengenalan unik suatu proses, dimana digunakan untuk menentukan proses-proses mana yang di bawa saat suatu aplikasi dijalankan atau melakukan proses pengiriman signal, mengubah, dan menunggu proses lainnya. PID sendiri merupakan bilangan 32 bit yang dibatasi oleh Linux dari range 0-32767 untuk menjamin kompatibilitas dengan UNIX tradisional.
2. Credentials ( Mandat )
adalah Pengaturan akses yang dipengaruhi oleh User ID dan Group ID. Jadi kita dapat mengatur hak akses atau Credetials setiap user, group, dll.
3. Personality
adalah sebuah hal yang cukup jarang ditemukan dalam sistem UNIX, namun sangat berpengaruh dalam proses system call dan pengiriman signal dari suatu aplikasi.
Status Proses yang dikenali dalam Linux
1. Task Running : Proses yang siap untuk dieksekusi CPU
2. Task Interruptable : Proses yang menunggu sebuah kondisi. Interupsi, Sinyal dan aktifitas lain akan mem
bangunkan proses.
3. Task Uninterruptable : Proses yang sedang sleep, dan tidak dapat di interrupt oleh signal.
4. Task Stopped : Proses yang dihentikan
5. Task Zombie : Proses telah berhenti, namun masih memiliki struktur data di task_struct di task
vektor dan masih memegang sumber daya yang tidak digunakan lagi.
PERINTAH PS
Perintah atau command ps (process status) di gunakan untuk menampilkan informasi proses yang sedang berjalan termasuk nomor PID (Process Identification Number) dari proses tersebut. Proses atau biasa disebut task akan berjalan jika ada sebuah aplikasi yang sedang dijalankan, setiap proses yang berjalan oleh system diberi nomor PID yang unik.
• $ ps -u
Untuk melihat faktor/elemen lainnya, gunakan option –u (user). %CPU adalah presentasi CPU time yang digunakan oleh proses tersebut, %MEM adalah presentasi system memori yang digunakan proses, SIZE adalah jumlah memori yang digunakan, RSS (Real System Storage) adalah jumlah memori yang digunakan, START adalah kapan proses tersebut diaktifkan.
• $ ps –u
Mencari proses yang spesifik pemakai. Proses diatas hanya terbatas pada proses milik pemakai, dimana pemakai teresbut melakukan login.
• $ ps –a $ ps –au
Mencari proses lainnya gunakan opsi a (all) dan au (all user).
• $ ps –eH
Opsi e memilih semua proses dan opsi H menghasilkan tampilan proses secara hierarki. Proses child muncul dibawah prosesparent. Proses child ditandai dengan awalan.beberapa spasi.
• $ps –e f
Tampilan serupa dengan langkah 2. Opsi –f akan menampilkan status proses dengan karakter grafis (\ dan _).
• $pstree
Akan ditampilkan semua proses pada sistem dalam bentuk hirarki parent/child. Proses parent di sebelah kiri proses child. Sebagai contoh proses init sebagai parent (ancestor) dari semua proses pada sistem. Beberapa child dari init mempunyai child. Proses login mempunyai proses bash sebagai child. Proses bash mempunyai proses child startx. Proses startx mempunyai child xinit dan seterusnya.
• $pstree | grep mingetty
Akan menampilkan semua proses mingetty yang berjalan pada system yang berupa console virtual. Selain menampikan semua proses, proses dikelompokkan dalam satu baris dengan suatu angka sebagai jumlah proses yang berjalan.
• $ pstree –p
Untuk melihat semua PID untuk proses gunakan opsi –p.
• $ pstree –h
Untuk menampilk an proses dan ancestor yang tercetak tebal gunakan opsi –h.
• $ ps –e | more
Opsi -e menampilkan semua proses dalam bentuk 4 kolom : PID, TTY, TIME dan CMD.
• $ ps ax | more
Opsi a akan menampilkan semua proses yang dihasilkan terminal (TTY). Opsi x menampilkan semua proses yang tidak dihasilkan terminal. Secara logika opsi ini sama dengan opsi –e . Terdapa 5 kolom : PID, TTY, STAT, TIME dan COMMAND.
• $ ps ef | more
Opsi –e f akan menampilkan semua proses dalam format daftar penuh.
• $ ps –eo pid,cmd | more
Opsi –eo akan menampilkan semua proses dalam format sesuai definisi user yaitu terdiri dari kolom PID dan CMD.
• $ ps –eo pid,ppid,%mem,cmd | more
Akan menampilkan kolom PID, PPID dan %MEM. PPID adalah proses ID dari proses parent. %MEM menampilkan persentasi memory system yang digunakan proses. Jika proses hanya menggunakan sedikit memory system akan dita mpilkan 0.
PERINTAH KILL
Perintah kill adalah salah satu perintah daasar Linux yang digunakan untuk menghentikan atau mematikan proses yang sedang berjalan pada Sistem Operasi Linux / UNIX. perintah ini sangat penting karena dengan memahami perintah ini kita bisa mengetahui mana proses yang mengganggu performa, tidak dibutuhkan, dll.
Sinyal
Proses dapat mengirim dan menerima sinyal dari dan ke proses lainnya. Proses mengirim sinyal melalui instruksi kill dengan format :
kill [-nomor sinyal] PID
Nomorsinyal : 1 s/d maksimum nomor sinyal yang didefinisikan sistem.
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.
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 dapar dijalankan kembali pada foreground atau background sesuai keperluan dengan menekan fg atau bg. Sebagai catatan, menghentikan job sementara sangat berbeda dengan melakukan interrup job (biasanya menggunakan [Ctrl+C]) dimana job yang diinterrup akan dimatikan secara permanen dan tidak dapat dijalankan lagi.
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 -f ae atau ps -aux
Beberapa versi UNIX mempunyai utilitas sistem yang disebut top yang menyediakan cara interaktif untuk memonitoraktifitas sistem. Statistik secara etail dengan proses yang berjalan ditampilkan dan secara terus menerus di refresh. Proses ditampilkan secara terurut dari utilitas CPU.
Kunci yang berguna pada top adalah
      1.       s - set update
      2.       u - display proses dari satu user
      3.       k - kill proses (dengan PID)
      4.       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.
LATIHAN PRAKTIKUM
Perintah-perintah proses di linux :

Analisa:
Instruksi ps (process status) digunakan untuk melihat kondisi proses yang ada. PID adalah Nomor Identitas Proses, TTY adalah nama terminal dimana proses tersebut aktif, STAT berisi S (Sleeping) dan R (Running), COMMAND merupakan instruksi yang digunakan. $ ps
Analisa:
Proses diatas menampilkan banyak proses. Untuk membatasi hanya proses dari user tertentu saja, kita dapat menggunakan sintaks ps -u.
Analisa:
kalau tambahan commmand –au dapat mencari proses dari semua user,sedangkan melihat kondisi proses y   untuk mencari proses dari user yang sedang aktif menggunakan tambahan commmand –a .
Meletakkan job pada background
Analisa:
  §       Meletakkan job pada background dengan memulai job secara normal (pada foreground)
  §       stop job dengan memulai lagi pada background.
$ yes> /dev /null
mengehentikan sementara job menggunakan CTRL + Z
Apabila ingin menjalankan banyak job
letakkan job pada foreground atau background dengan memberikan job
ID $ fg %2 atau $ %2 $ bg %2
kemudian lanjutkan dengan CTRL + Z untuk menghentikan sementara.
Lanjutkan dengan perintah ps –fae dan tekan enter kemudian hentikan proses dengan perintah kill.
$ ps – fae
$ kill -9 < nomor PID>
Analisa:
Pada percobaan diatas kita diperkenalkan dengan cara melihat job dari kinerja linux.
Percobaan dengan menjadawalkan prioritas.
Buka 3 terminal
Setiap terminal ketik ps1 = “ /w:”
enterenter
Analisa:
Menampilkan path pada direktori home.
Untuk setiap terminal ketik pwd dan tekan enter untuk melihat bahwa anda sedang berada pada direktori
Analisa:
Karena login sebagai root maka akan di tampilkan semua proses path yang ada di root.
LATIHAN
Buka lagi 4 terminal
Analisa:
Atur posisi sehingga keempat terlihat pada screen. Sehingga dapat melihat terminal yang ada pada path root
ketik top dan tekan enter .
Analisa:
Maka program top akan muncul ketik y. Top akan menampilkan proses yang aktif. Untuk menghentikannya maka Ketik lmt dan bagian top akan berhenti.

Tidak ada komentar:

Posting Komentar