Manajemen Proses
Proses
adalah program yang sedang dieksekusi. Di Linux, setiap program merupakan
proses. Proses dapat diciptakan dan dapat pula dimusnahkan. Ketika sistem
operasi GNU/Linux pertama kali diaktifkan, saat itu pula proses yang
bertanggung jawab untuk memuat kernel diciptakan. Proses yang pertama kali
diciptakan di Linux disebut init. Konsep proses di Linux memiliki kemiripan
dengan konsep file permission.
Dalam
pengertian setiap user hanya dapat memanipulasi proses yang menjadi miliknya.
Setiap proses juga memiliki PID atau Process ID yang merupakan nomor unik yang
dapat digunakan untuk berinteraksi dengan proses bersangkutan.
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
Adapun,
hal-hal yang dicatat ketika suatu program sedang dalam proses/running adalah:
·
program counter :
variabel untuk menyimpan alamat suatu proses yang akan dieksekusi
selanjutnya.
·
stack / heap :
tempat penyimpanan temporary data yang dibutuhkan selama program dieksekusi
secara dinamis.
· data section :
berisi variabel global dari suatu proses.
·
text :
berisi kode program nya.
Kemudian,
status proses terdiri dari:
·
New :
pada saat proses pertama kali dibuat
·
Running : pada
saat proses sedang dieksekusi
·
Waiting :
proses menunggu suatu event lain (contoh: proses I/O)
·
Ready :
proses siap untuk dieksekusi
·
Terminated : pada saat proses
sudah selesai dieksekusi
Terdapat
4 konsep dasar manajemen proses :
1.
Multiprogramming, salah satu teknik penjadwalan dimana tugas (task)
yang sedang berjalan tetap berjalan sampai ia melakukan operasi yang
membutuhkan waktu untuk menunggu respon dari luar (external event), misalnya
membaca data dari disket/CD/dsb, atau sampai komputer memaksa untuk menukar
tugas yang sedang berjalan dengan tugas lainnya.
2.
Pseudoparallelism, eksekusi proses secara paralel pada sistem.
3.
Multiprcessing, kemampuan pemrosesan komputer yang dilakukan secara
serentak. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk
mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada
prosesor-prosesor tersebut.
4.
Distributed Processing, Mengerjakan semua proses pengolahan data secara
bersama antara komputer pusat dengan beberapa komputer yang lebih kecil dan
saling dihubungkan melalui jalur komunikasi.
Model-model
proses :
1. Sequential Proses.
2.
Multiprogramming.
3.
CPU Switching.
Operasi
– operasi pada Proses :
1. Penciptaan proses (create
a process).
2.
Penghancuran/terminasi
proses (destroy a process).
3.
Penundaan proses (suspend
a process).
4.
Pelanjutan kembali proses
(resume a process).
5.
Mem-block proses.
6.
Membangunkan proses.
7.
Menjadwalkan proses.
8.
Komunikasi Antar Proses.
Tipe-tipe
Proses dalam Linux
1. Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan
dalam foreground dan background. seperti : terminal, software
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 membangunkan 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
– perintah proses di linux :
1.
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.
Untuk
melihat kondisi proses yang ada.
Ket:
PID -> Process ID (nomor identitas
proses).
TTY -> nama terminal dimana proses tersebut aktif
CMD -> instruksi yang digunakan
ps –a
untuk melihat proses yang baru dijalankan.·
ps
–au untuk melihat proses yang dijalankan dan ditambahkan keterangan root.·
ps
–aux untuk gabungan dari beberapa perintah di atas.·
ps -u·
%CPU -> presentasi CPU time yang digunakan oleh
proses tersebut,
%MEM -> presentasi system memori yang digunakan
proses,
VSZ -> jumlah memori yang digunakan,
RSS (Real System Storage) -> jumlah memori yang
digunakan,
START -> kapan proses tersebut diaktifkan STAT
berisi S (Sleeping) dan R (Running),
COMMAND -> merupakan instruksi yang digunakan.
ps -u
(nama user) untuk mencari proses yang spesifik dari user.·
top
untuk menampilkan proses yang· running.
ps
–eH untuk menampilkan hubungan proses parent dan child.·
ps
–eF sama seperti ps -eH, hanya saja ditambah keterangan letak proses nya.·
Pstree untuk menampilkan proses parent/child dalam bentuk pohon (dengan
indentasi).·
2.
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.
Contoh perintah Kill :
Contoh perintah Kill :
$ kill <sinyal>
<pid>
PID
adalah nomor proses yang akan di hentikan.
ps aux | grep <myusername>
Tidak ada komentar:
Posting Komentar