Dalam manajemen proses, ada beberapa hal penting yang harus dikuasai :
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
Dibagi menjadi tiga bagian:
Interactive : Proses yang diprakarsai oleh sebuah shell dan berjalan dalam foreground dan background. seperti : terminal, software running, dll.
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.
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.
Trace & Dispatcher
- Trace: adalah daftar urutan intruksi yang harus dijalankan
- Dispatcher: bertugas menyeleksi sekumpulan trace yang mana yang harus dijalankan.
Eksekusi Proses
Ada tiga proses yang sedang berjalan. Semuanya berada di main memory
Sudut pandang proses:
Trace Process A : 5000, 5001, 5002, dst
Trace Process B : 8000, 8001, dst
Trace Process C : 12000, 12001, 12002, dst
Sudut pandang processor:
Melihat timeout (masing-masing proses mendapatkan jatah waktu)
Setiap pergantian proses, dispatcher berjalan kemudian berganti ke proses yang lain
Process State
Process State adalah status dari proses, apakah proses tersebut sedang dieksekusi, suspend, block atau sudah release. Secara mendasar, Process State dibagi menjadi 5 state, yaitu :
- New, State dimana proses dibuat
- Ready, State dimana proses sudah memiliki resource yang dibutuhkan untuk dijalankan, tetapi CPU belum mengeksekusi proses ini
- Running, State dimana proses dieksekusii oleh CPU
- Waiting/Blocked, State dimana proses tidak dijalankan untuk sementara karena suatu hal seperti menunggu resource yang dibutuhkan, input user, atau event lainnya yang membuat proses ini tidak dapat dijalankan untuk sementara.
- Terminated/Exit, State dimana proses telah selesai.
Pembuatan dan Penghentian sebuah Proses
Pembuatan Proses
- Sistem Operasi membangun suatu struktur data untuk mengelola proses tersebut
- Biasanya, semua proses dibuat oleh Sistem Operasi. Tetapi Sistem Operasi juga membolehkan proses yang sedang berjalan membuat proses lain.
Penghentian Proses
Harus ada cara yang dapat menandakan bahwa suatu proses selesai. Cara-cara tersebut dapat berupa:
– Instruksi HALT membangkitkan suatu interupsi alert untuk SO
– Aksi pengguna (seperti log off & keluar dari suatu aplikasi)
– Suatu kesalahan atau error
– Dihentikan oleh proses induk
Suspended State
Dikatakan suspended state karena sebuah proses terlalu lama menunggu "momen" ntuk berjalannya sebuah proses (menunggu proses yang lain selesai berjalan). Untuk kasus seperti ini, proses tersebut dipindahkan ke secondary memory.
Alasan lain mengapa process suspended:
- Swapping
- Interactive User Request (jarang terjadi)
- Timing
- Parent Process Request
Tidak ada komentar:
Posting Komentar