Manajemen Proses pada Sistem Operasi Linux

Manajemen Proses pada Sistem Operasi Linux

Lagi enak-enak mendengarkan musik, tiba-tiba lagu tersendat. Atau komputer terasa lambat responnya padahal program yang dibuka hanya sedikit.  Wah.. kenapa ya?

Dalam sebuah komputer, sistem operasi bertugas untuk memanajemen proses-proses. Ketika komputer dinyalakan, sistem operasi menjalankan proses tunggal bernama init. Dalam proses ini, kernel atau inti dari sistem operasi di-load dari storage ke main memory (RAM). Lalu proses ini akan memicu proses-proses yang lain seperti menjalankan DE (Desktop Environment), compiler, dan lain sebagainya hingga muncul desktop sebuah sistem operasi. User dapat menambahkan proses sesuai kebtuhan. Seperti pemutar musik, aplikasi pengolah kata, browser dan lain sebagainya.

Sistem operasi memanajemen proses-proses tersebut agar mendapatkan layanan atau sumber daya (perangkat) sesuai dengan pengaturan seperti secara adil atau secara prioritas. Dalam sistem operasi linux, dengan mudah user dapat mengetahui, menjalankan, menghentikan, dan mengontrol proses-proses yang ada. Bagaimana caranya? Simak artikel ini sampai akhir! Sebelumnya anda telah tahu tentang perintah-perintah dasar pada sistem operasi linux yang dapat dibaca dan dipelajari pada halaman ini.  

Secara konseptual, proses adalah program yang sedang dieksekusi, baik sedang dilayani (running), menunggu (ready) atau disela (block). Sementara berdasrkan tipenya proses dibedakan menjadi interactive, batch, dan daemon.
  1. Interactive process adalah proses yang berjalan pada background maupun foreground yang dijalankan atau dikontrol oleh shell. 
  2. Batch process adalah proses yang tidak dijalankan atau dikontrol oleh shell tetapi oleh proses lain atau penjadwalan secara squential
  3. Daemon process adalah proses yang dalam keadaan idle dan berjalan pada background tetapi sudah dijalankan saat inti sistem operasi di-load ke main memory.
Pada teknik manajemen proses, terdapat empat konsep dasar. Antara lain :
  1. Multi Programming adalah kemampuan sistem operasi untuk pengelolaan proses dengan menjadwalkan proses-proses yang sedang berjalan dan memiliki status salah satu dari running, block, dan ready.
  2. Pseudoparalism adalah teknik pembagian atau penyediaan sumberdaya oleh sistem operasi kepada proses-proses secara berurutan.
  3. Multiprocessing adalah kemampuan sistem operasi untuk mengelola banyak pemroses untuk melayani proses-proses yang ada.
  4. Distributed Processing adalah teknik kerjasama antara komputer server dan beberapa komputer client yang memungkinkan untuk berkomunikasi untuk menjalankan sebuah proses.
Proses juga memiliki model-model seperti squential process, multi programming, CPU switching. Untuk mempermudah managemen proses atau membedakan proses yang satu dengan yang lainnya, masing-masing proses memiliki PID (Process ID) yang unik. Selain itu, proses juga memliki personality dan credentials yang berisi informasi user yang menjalankan proses tersebut.
Untuk mengetahui informasi proses-proses yang sedang berjalan, dapat menggunakan perintah ps (Process Status) pada terminal maka akan tampil informasi tentang PID (Proses ID), TTY (informasi terminal), TIME (waktu berjalan), CMD (nama proses).


Untuk menampilkan informasi lain seperti USER (nama user yang menjalankan), %CPU (penggunaan CPU), %MEM (penggunaan memory), STAT (status proses, R untuk running dan S untuk sleeping), COMMAND (perintah yang dieksekusi), dll. Caranya tambahkan atribut-atribut pada perintah tersebut, seperti :


-a, untuk menampilkan semua proses kecuali kedua session leaders.

 
-u, untuk menampilkan proses yang dijalankan user-user dalam user list atau user terkait dengan perintah ps -u arief.

 
-x, untuk menampilkan daemon process.


-e, -A, untuk menampilkan semua proses.
(Perbedaannya adalah jumlah prosesnya bukan infromasi yang ditampilkan tiap proses)


-d, untuk menampikan semua proses kecuali session leaders.


-H, untuk menampilkan proses dalam bentuk grid parent dan child.
(Kombinasikan dengan atribut lainnya agar perubahannya terlihat. Contoh : ps -eH)


-F, untuk menampikan proses dengan format penuh.
(Untuk melihat semua proses dengan format penuh kombinasikan dengan atribut -e, menjadi ps -eF)



Selain perintah ps, ada juga perintah pstree. Bedanya pada pstree, proses-proses ditampilkan dalam bentuk pohon proses dari parrent hingga cild.


Ada cara lain untuk menampilkan informasi proses-proses. Yaitu sengan menggunakan aplikasi top yang  sudah sisediakan oleh linux. Untuk menggunakannya, panggil top melalui terminal. Kelebihannya, aplikasi ini menampilkan informasi proses secara real time.


Selain menggunakan aplikasi top, ada juga aplikasi pihak ke-3 untuk menampilkan informasi proses-proses, salah satunya htop. Jika belum tersedia, install terlebihdahulu aplikasi tersebut dengan perintah sudo apt-get install htop. Dan untuk menjalankan, panggil htop melalui terminal. Kelebihannya dibangingkan top, aplikasi ini memiliki tampilan berwarna untuk meminimalisir kesalahan pembacaan informasi dan memiliki parameter penggunaan CPU, memory, dan swap.

Setelah mengetahui informasi mengenai proses-proses yang berjalan, selanjutnya adalah mengelola dan mengontrol proses-proses tersebut. Proses memiliki operasi-operasi, antara lain :
  1. Menciptakan proses (create a process)
  2. Menghancurkan proses (destroy a process)
  3. Menunda proses (suspend a process)
  4. Melanjutkan proses (resume a process)
  5. Mem-block proses (block a process)
  6. Membangunkan proses
  7. Menjadwalkan proses
  8. Komunikasi proses

Untuk menghentikan proses, dapat menggunakan perintah kill melalui terminal. Contoh : kill 1371
Penulisan perintah kill adalah sebagai berikut :
  1. kill %nomor_job
  2. Contoh : kill %1
  3. (untuk mengetahui nomor job, jalankan perintah jobs pada terminal)

  4. kill PID 
  5. Contoh : kill 1370
Beberapa atibut yang dipakai untuk perintah kill adalah sebagai berikut :
-l, mengubah nomor yang di-input menjadi nama signal
-9, untuk menghentikan semua proses yang dapat dihentikan (konbinasikan dengan -1)


Selain kill, dapat juga menggunakan perintah pkill. Contoh : pkill okular
Penulisan perintah pkill adalah sebagai berikut :
  1. pkill nama_proses
  2. Contoh : pkill gimp
  3.  
  4. pkillall nama_proses
  5. Contoh : pkillall chromium-browser
Beberapa atibut yang dipakai untuk perintah pkill adalah sebagai berikut :



Lalu ada renice, adalah perintah untuk mengubah prioritas layana suatu proses. Penulisan perintah renice adalah sebagai berikut :
  1. renice prioritas_baru PID
  2. Contoh : renice 5 1462
Sekian kawan, artikel saya selanjutnya. Terimakasih sudah mampir.

Sumber :
"Praktikum Sistem Operasi 2015 Universitas Pendidikan Indonesia"


0 komentar: