Konsep pada sebuah Proses dan Manajemen Proses pada Linux, yaitu untuk memahami konsep proses pada sistem
operasi Linux, mengetahui beberapa cara menampilkan
hubungan proses parent dan child, menampilkan status proses dengan
beberapa format berbeda, dan melakukan pengontrolan proses pada
shell, nah dabawah ini kita akan megetahui lebih lanjut tentang konsep proses dan manajemen proses pada linux:
A.
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 :
a. Foreground
Proses yang diciptakan oleh pemakai
langsung pada terminal (interaktif, dialog)
b. Batch
Proses yang dikumpulkan dan
dijalankan secara sekuensial (satu persatu).
Prose Batch tidak diasosiasikan (berinteraksi) dengan terminal.
c. 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, pop, 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 danadministrator/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 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
Utilitas untuk melakukan
pengontrolan proses dapat ditemukan pada sistem UNIX adalah perintah kill all. Perintah ini akan menghentikan
proses sesuai PID atau job number proses.
B.
Praktikum
1. Status Proses
a. Masuk pada
terminal atau pindah
pada command line
terminal (tty2), dengan menekan tombol Ctrl+Alt+T atau Ctrl+Alt+F2,
lalu login sebagai user
b. Melihat kondisi proses yang ada
c. Melihat faktor/elemen lainnya
d. Mencari proses yang spesifik dari
pemakai
e. Mencari proses lainnya dengan
menggunakan opsi a(all) atau au(all user)
f. Untuk keluar ketikkan logout atau
tekan Alt+F7
2. Menampilkan Hubungan Proses Parent
dan Child
a. Login kembali pada command line
terminal (tty2)
b. Melihat proses parent dan child
Opsi
e memilih semua
proses dan opsi
H menghasilkan tampilan
proses secara hierarki. Proses
child muncul dibawah proses parent.
c. Menampilkan status proses dengan
karakter grafis (\ dan _)
d. Menampilkan semua proses pada sistem
dalam bentuk hirarki parent/child
e. Untuk melihat semua PID untuk proses
f. Untuk menampilkan proses dan
ancestor yang tercetak tebal
3. Menampilkan Status Proses dengan
Berbagai Format
a. Menampilkan semua proses dalam
bentuk 4 kolom
b. Menampilkan semua proses dalam
bentuk 5 kolom
c. Menampilkan semua proses dalam
format daftar penuh
d. Menampilkan semua proses dalam
format sesuai defiinisi user, yaitu dari kolom PID dan CMD
4. Mengontrol Proses Pada Shell
a. Mengirim output yang tidak pernah
berhenti
b. Membelokkan standar output ke
/dev/null