Senin, 07 Juni 2021

Definisi dan Perbedaan antara Threads dan Processes


Pengertian Threads dan Processes

Processes

Proses adalah konsep pokok dari sistem operasi. Berbagai macam defnisi rnengenai proses telah dicetuskan. Secara sederhana. proses adalah sebuah program yang dieksektisi. Proses merupakan unit kerja terkecil yang secara individu merniliki suinber daya-sumber daya dan dijadwalkan sistem operasi. Sistem operasi mengelola semua proses di sistem dan mengalokasikan surnber daya ke proses sesuai kebutuhan.

Secara inforrnal, proses adalah program dalam eksekusi. Suatu proses adalah lebih dari kode program, dimana kadang kala dikenal sebagai bagian tulisan. Proses juga termasuk aktivitas yang sedang terjadi, sebagaimana digambarkan oleh nilai pada program counter dan isi dari datlar prosesor/ processor's register. Suatu proses umumnya juga termasuk process stack, yang berisikan data temporer (seperti pararneter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.Status proses selalu berubah-ubah selarna suatu program dieksektisi atau dijalankan. Beberapa status tersebut ialah

Status proses selalu berubah-ubah selarna suatu program dieksektisi atau dijalankan. Beberapa status tersebut ialah

  • New : Proses baru diciptakan.
  • Running : Proses sedang dijalankan.
  • Waiting : Proses sedang rnenunggu suatu kondisi tertentu untuk bisa berjalan. (misalkan menunggu respon dari perangkat I/O).
  • Ready : Proses menunggti untuk dilayani processor.
  • Terminated : Proses telah menyelesaikan eksektisi.

Selain itu di dalam proses juga ada yang dinarnakan Proses Control Block. Sistem operasi mernbuttihkan banyak informasi mengenai proses guna pengelolaan proses. Semua informasi ini ada pada PCB. PCB mengandung beberapa informasi seperti berikut :

  •  Process State : Berisi informasi status proses. (new,running,waiting,ready,terminated)
  • Program counter : Berisi informasi mengenai alamat instruksi yang akan digunakan selanjutnya.
  • CPU register : Berisi register2 CPU apa saja yang digunakan
  • CPU scheduling information : Berisi penjadwalan proses beserta algoritmanya
  • Memory management information : Berisi informasi tentang berapa jumlah memory yang digunakan. limit register, tabel segment, dll berkenaan dengan penggunaan memory.
  • I/O status information: Berisi informasi tentang perangkat apa saja yang digunakan dalam proses
  • Accounting : Berisi informasi tentang statistik eksekusi proses seperti waktu yang diperlukan, jumlah proses, dll.

Threads

    Yaitu unit dasar bagi pengguna CPU yang terdiri dari Thread ID, Program Counter, Register dan Stack. Thread berbagi seperti code section, data section, dan sumber daya sistem operasi dengan thread lain yang termasuk dalam proses yang sama. Sehingga Thread mempunyai keuntungan yaitu:
  • Tanggap.
  • Pemberdayaan Resource.
  • Ekonomis.
  • Pemberdayaan Arsitektur dan Multiprosesor.
Kemudian ada Single Thread dan Multi Thread.
  1. Single thread    :Process hanya mengeksekusi satu thread saja pada satu waktu
  2. Multi thread     :Process dapat mengeksekusi sejumlah thread dalam satu waktu.

Perbedaan Threads dan Processes

Sehingga kita dapat menyimpulkan menjadi perbedaan yang membedakan antara Thread dengan Proses, yaitu jika Proses :

  • Merupakan program yang sedang di eksekusi.
  • Proses mencakup program counter, yaitu sebuah stack untuk menyimpan alamat dari instruksi yang    selanjutnya akan di eksekusi dan di registrasi.
  • Memiliki ruang alamat atau IP address masing-masing.
  • Dari satu proses dengan proses lainnya harus menggunakan komunikasi.
  • Memiliki overhead.
  • Hanya dapat mengendalikan proses turunannya.
  • Perubahan pada parent proses tidak mempengaruhi proses turunannya.
  • Pembentukan proses membutuhkan waktu yang lebih lama.
  • Waktu yang dibutuhkan untuk mengakhiri proses lebih lama.

Kemudian Untuk Thread yaitu:
  • Adalah alur kontrol dari suatu proses.
  • Merupakan unit dasar dari penggunaan CPU dan sering disebut dengan lightweight process.
  • Ruang alamat atau IP address digunakan secara bersama-sama dari proses yang menciptakannya.
  • Memiliki akses langsung ke segmen data dari prosesnya.
  • Dapat saling berkomunikasi dengan thread lain dalam satu proses.
  • Hampir tidak memiliki overhead.
  • Perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapat mempengaruhi tingkah laku thread lain dalam satu proses.
  • Pembentukan thread membutuhkan waktu yang lebih sedikit.
  • Waktu yang dibutuhkan untuk mengakhiri thread lebih sedikit.
  • Lebih mudah dan cepat melakukan swicth antar thread daripada switch antar proses.

Tidak ada komentar:

Posting Komentar