Jumat, 11 April 2014

PROSES Dan MANAGEMENT PROSES

>PROSES Dan MANAGEMENT PROSES

Manajemen 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
 
TIPE PROSES
Terdapat beberapa tipe proses yang dikenal dalam OS berbasis Linux pada umumnya, antara lain:

  1. Interactive : proses yang dimulai (dan dikontrol oleh) shell[i][i][i]. Bisa tampak di luar (foreground) ataupun hanya di dalam (background).
  2. Batch : proses yang tidak berhubungan dengan terminal, tetapi menunggu untuk dieksekusi secara berurutan (sekuensial).
  3. Daemon : proses yang dimulai ketika Linux booting dan berjalan secara background. Proses ini menunggu permintaan dari proses lainnya, bila tidak ada request, maka berada dalam keadaan ‘idle’.
Dalam Linux, sifat-sifat proses dibagi menjadi tiga bagian, yakni: Identitas Proses, Lingkungan, dan Konteks.

IDENTITAS PROSES
Identitas proses memuat beberapa hal penting berikut:

  • Process ID (PID) → pengenal unik untuk proses; digunakan untuk menentukan proses-proses mana yang dibawa ke dalam OS saat suatu aplikasi membuat system call  untuk mengirim sinyal, mengubah, atau menunggu proses lainnya. PID adalah 32-bit bilangan yang mengidentifikasikan setiap proses dengan unik. Linux membatasi PID sekitar 0-32767 untuk menjamin kompatibilitas dengan sistem UNIX tradisional.
  • Mandat (Credentials) → setiap proses harus memiliki sebuah user ID dan satu atau lebih group ID yang menentukan hak proses untuk mengakses sumber daya sistem dan file.
  • Personality → tidak ditemukan dalam sistem UNIX, namun dalam Linux setiap proses memiliki sebuah pengenal pribadi (personality) yang dapat (sedikit) mengubah system call tertentu secara semantic. Terutama digunakan oleh library emulation agar system call dapat kompatibel dengan bentuk tertentu UNIX.
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 ditask_struct di task vektor dan masih memegang sumber daya yang tidak digunakan lagi.
Linux process state

Konsep Pembuatan dan Penghentian Proses
Konsep pembuatan proses pada sistem operasi linux :

  • Setiap proses diberi nomor khusus sebagai identifikasi yang disebut process identification atau PID berupa angka integer unik.
  • Jika proses selesai (Terminated) maka semua sumber daya yang digunakan termasuk PID dibebaskan kembali.
  • Proses dibuat menggunakan system call fork() yang sering disebut forking proses
  • System call fork() mengkopi proses pemanggil sehingga akan terdapat 2 proses yaitu :
1. Proses pemanggil disebut PARENT
2. Proses hasil kopian disebut CHILD

  • Proses CHILD identik dengan proses PARENT-nya tetapi memiliki PID yang berbeda.
  • Setelah proses baru (child) berhasil dibuat eksekusi dilanjutkan secara normal di masing –masing proses pada aris setelah pemanggilan system call fork().
  • Proses pemanggil (PARENT) dapat melakukan forking proses lebih dari satu kali sehingga memungkinkan terdapat banyak proses CHILD yang dieksekusi.
  • Proses CHILD dapat melakukan forking proses seperti halnya PARENT sehingga dapat terbentuk struktur pohon proses.
Sedangkan pada proses penghentian pada OS linux, jika telah menyelesaikan pernyataan terakhir, dan meminta pada sistem operasi untuk menghapusnya dengan menggunakan system call exit. Proses mengembalikan semua data (output) ke parent proses melalui system call wait. Kemudian proses dihapus dari list atau tabel sistem, dilanjutkan dengan menghapus PCB.
Penghapusan proses ini akan menjadi sangat kompleks jika ternyata proses yang akan dihentikan tersebut membuat proses-proses yang lain. Pada beberapa sistem, proses-proses anak akan dihentikan secara otomatis jika proses induknya berhenti. Namun, ada beberapa sistem yang menganggap bahwa proses anak ini terpisah dengan induknya, sehingga proses anak tidak ikut dihentikan secara otomatis pada saat proses induk dihentikan.
Parent dapat menghentikan eksekusi proses child dengan menggunakan system call abort. Proses anak dihentikan parent karena beberapa alasan

Tidak ada komentar:

Posting Komentar