Process dan Thread

Sistem operasi adalah perangkat lunak yang sangat penting untuk mengelola dan mengontrol sumber daya komputer serta membantu program untuk berjalan. Salah satu bagian paling penting dari sistem operasi adalah manajemen proses. Sebelum memahami manajemen proses, kita perlu memahami bagaimana program dibuat. Program ditulis dalam bahasa pemrograman tingkat tinggi dan dikompilasi menjadi kode mesin yang dapat dipahami oleh mesin komputer. Namun, untuk menjalankan program, program harus dimuat ke dalam memori dan membutuhkan beberapa sumber daya dari sistem komputer.

Proses adalah salah satu aspek paling penting dari manajemen proses di sistem operasi. Proses adalah entitas yang dibuat oleh sistem operasi untuk menjalankan program. Setiap proses memiliki identitas unik, seperti ID proses. Proses juga memiliki ruang alamat dan sumber daya sistem yang diperlukan, seperti CPU, memori, dan perangkat I / O. Manajemen proses memungkinkan sistem operasi untuk menjalankan beberapa proses secara bersamaan dan membagi sumber daya sistem di antara proses tersebut.

Thread adalah bagian dari proses dan dapat dianggap sebagai unit pemrosesan kecil yang dapat dijalankan secara independen oleh sistem operasi. Thread memungkinkan beberapa tugas untuk dieksekusi secara bersamaan dalam satu proses. Dalam satu proses, bisa ada banyak thread yang bekerja pada tugas yang berbeda-beda. Manajemen thread penting dalam meningkatkan kinerja sistem operasi dan memungkinkan program untuk bekerja secara efisien. Perbedaan utama antara proses dan thread adalah bahwa setiap proses memiliki ruang alamat dan sumber daya sistem yang terpisah, sementara thread membagi ruang alamat dan sumber daya sistem dengan proses utama.

Dalam sistem komputer, sumber daya harus dialokasikan dengan baik agar program dapat berjalan dengan baik. Sistem operasi merupakan otak di balik pengalokasian sumber daya ini. Sistem operasi membantu memuat program ke dalam memori dan mengalokasikan sumber daya yang diperlukan. Saat program mulai dieksekusi, program tersebut disebut sebagai proses.

Manajer tugas dapat digunakan untuk melihat program dan proses yang sedang berjalan di sistem. Jika Anda ingin melihat thread yang sedang berjalan untuk setiap program dan proses, Anda dapat menggunakan program Process Explorer. Proses dan thread sangat penting dalam sistem operasi karena membantu mengalokasikan sumber daya dengan baik. Ketika sumber daya dialokasikan dengan baik, program dapat berjalan dengan lebih baik dan lancar.

Dalam sistem komputer modern, satu program dapat memiliki banyak proses yang terkait. Proses dan thread membantu mengelola sumber daya yang tersedia di sistem dan memastikan program berjalan dengan lancar. Dengan memahami proses dan thread, pengguna dapat mengoptimalkan kinerja sistem mereka dengan menutup proses yang tidak diperlukan dan mengalokasikan sumber daya dengan lebih baik. Proses dan thread adalah topik penting dalam sistem operasi dan merupakan dasar untuk mengelola program dan sumber daya di sistem.


Praktikum Process dan Thread.

   1. Managing Service

Didalam sistem operasi Linux, terdapat berbagai program atau aplikasi yang berjalan dibelakang layar, atau dikenal sebagai background service. Background service ini umumnya menyediakan suatu layanan kepada user, seperti HTTP Server, FTP Server, Network management, Remote Access dan lain-lain. Background service ini secara otomatis berjalan ketika sistem operasi dinyalakan. Namun, pengguna dapat mengelola setiap background service ini dengan menggunakan perintah "service" yang diikuti dengan nama service yang ingin dikelola. Dengan menggunakan perintah ini, pengguna dapat menghentikan, memulai, dan mengatur konfigurasi setiap background service sesuai kebutuhan.







Menggunakan command “service sshd status”, pengguna dapat melihat status dari background service SSHD. Terlihat bahwa status SSHD aktif pada port 22, sejak 13 Maret jam 11:34.

Kita juga dapat menggunakan command "service ..... stop" untuk menghentikan background service yang sedang berjalan. Sebagai contoh, command diatas digunakan untuk mematikan background service SSHD. Setelah service dimatikan, gunakan lagi command “service sshd status” untuk melihat bahwa background service SSHD sudah mati.








Untuk menjalankan kembali background service, gunakan command "service .... start". Terlihat pada gambar, service SSHD kembali berjalan.








2. Running Unit

Beberapa background service dapat saja tidak terdaftar pada command “service”. Alternatif yang dapat dilakukan untuk mengelola service seperti ini adalah dengan mencari path fisik dari service tersebut, umunya berada di /etc/init.d. Sebagai contoh command dibawah merupakan alternative dari pengelolaan service SSHD.








3. Top

Untuk melihat seluruh aplikasi yang berjalan pada sistem operasi Linux, digunakan command TOP. Aplikasi yang dapat ditampilkan pada command ini terdiri dari background service dan juga aplikasi-aplikasi lain yang dijalankan oleh pengguna. Selain itu command TOP memberikan informasi real time terhadap status resource sistem operasi seperti penggunaan memori dan CPU.











Terdapat informasi berapa jumlah task atau aplikasi yang sedang berjalan, dan juga status-statusnya. Dapat dilihat pada contoh diatas bahwa ada 125 Task yang sedang berjalan, dan diataranya 1 Task berjalan secara aktif (running) dan 124 task lainnya berjalan namun tidak aktif (sleeping). Terdapat dua kolom lagi yang menyatakan status stopped dan zombie.

Detail dari status- status ini adalah sebagai berikut:

  • Running: Menyatakan suatu task sedang aktif berjalan, artinya task tersebut sedang menggunakan resource CPU atau sedang dalam antrian untuk menggunakan resource CPU.

  • Sleeping: Menyatakan suatu task yang sedang aktif berjalan, namun sedang tidak menggunakan resource CPU. Umumnya suatu task akan masuk ke status sleeping ketika sedang menunggu suatu trigger event, seperti request dari task atau aplikasi lain, atau adanya input dari pengguna.

  • Stopped: Menyatakan suatu task yang sedang dihentikan, baik itu oleh job control signal (shortcut CTRL-Z) atau ada task lain yang sedang menghentikan task tersebut. Suatu task yang berada pada proses stopped dapat dijalankan kembali dan akan masuk ke mode Running atau Sleeping.

  • Ended: Suatu task yang sudah selesai berjalan akan memasuki status ended, artinya operasi task tersebut sudah selesai, dan seluruh resource yang terpakai oleh task ini akan dibebaskan dan dapat dialokasikan ke task lain. Suatu task yang masuk ke status ended tidak akan lagi berada pada command top.

  • Zombie: Menyatakan suatu task yang sudah selesai berjalan (bukan masuk ke mode sleeping), namun demikian terdapat task lain yang bergantung dengan task ini, sehingga task memasuki mode Zombie. Task yang memasuki mode zombie tidak dapat kembali ke mode lain, hanya dapat diselesaikan.







Setiap baris pada output command TOP memiliki beberapa informasi yang dapat dibaca seperti table. Informasi ini adalah:

  • PID: Process ID dari suatu task. PID ini bersifat unik, dan dapat digunakan untuk mengelola suatu task atau proses.

  • User: Berisi informasi user yang menjalankan suatu task.

  • PR dan NI: Setiap task memiliki nilai prioritas. Nilai prioritas yang lebih tinggi akan didahulukan untuk diproses oleh CPU dan RAM. Nilai normal dari PR dan NI ini adalah 0, dengan nilai lebih besar dari 0 berarti task tersebut akan diprioritaskan.

  • VIRT, RES, SHR, %MEM: Berisi angka yang berkaitan dengan penggunaan RAM dan virtual memory. %MEM merupakan kolom yang paling dominan karena berisi persentase RAM yang digunakan dari keseluruhan dalam sistem operasi.

  • S: Berisi status dari suatu task. R menyatakan running, S menyatakan sleeping, dan I menyatakan interruptible sleeping.

  • TIME+: Memiliki informasi berapa lama waktu sejak suatu task dijalankan.

  • Command: Detail dari command yang digunakan oleh suatu task.





Comments

Popular posts from this blog

Sistem Keamanan pada Sistem Operasi

Instalasi Ubuntu Server 20.04 LTS Menggunakan VirtualBox