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 terminilogy Unix sebagai sebuah Job. Proses Id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (terdaftar pada/etc/inittab).
Ada 3 tipe proses, antara lain :
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) dengan terminal.
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 :
No Sinyal
|
Nama
|
Deskripsi
|
1
|
SIGHUP
|
Hangup, sinyal dikirim
bila proses terputus,
misalnya melalui putusnya hubungan modem
|
2
|
SIGINT
|
Sinyal interrupt, melalui ^C
|
3
9
|
SIGQUIT
SIGKILL
|
Sinyal Quit, melalui ^\
Sinyal Kill, menghentikan proses
|
15
|
SIGTERM
|
Sinyal terminasi software
|
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 diper
untukkan 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 seme ntara 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
perinta h killall. Perintah ini akan menghentikan proses sesuai PID atau job number proses.
0 comments:
Post a Comment