Rabu, 06 Januari 2021

Perbedaan Threads dan Processes

Perbedaan Threads dan Processes


Apa itu Threads

Thread

    Adalah Unit dasar dari penggunaan CPU, Thread mengandung Thread ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan thread lain yang dimiliki oleh proses yang sama. Thread juga sering disebut lightweight process. Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Perbedaan antara proses dan thread tunggal dengan proses dan thread banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satuan waktu.

Keuntungan penggunaan Thread

  • Tanggap
  • Pemberdayaan Resource
  • Ekonomis
  • Pemberdayaan Arsitektur Multiprocessor

Bentuk Threads

  • Single Thread 
    Processor hanya mengeksekusi satu thread saja pada satu waktu.
  • Multi Thread
    Processor hanya mengeksekusi sejumlah thread dalam satu waktu.

Apa itu Processes

Processes
    Adalah sebuah peristiwa adanya sebuah program yang dapat dieksekusi. Sebagai sebuah eksekusi proses, maka hal tersebut membutuhkan perubahan keadaan. Keadaan dari sebuah proses dapat didefinisikan oleh aktivitas proses tersebut. 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 daftar prosesor register. Suatu proses umunya juga termasuk process stack, yang berisikan data temporer (parameter metoda, address yang kembali, dan variabel lokal) dan sebuah data section, yang berisikan variabel global.
Setiap proses mungkin menjadi satu dari beberapa state berikut, yaitu : 
  • New : Proses baru diciptakan
  • Ready : Proses menunggu untuk dilayani processor
  • Running : Proses sedang dijalankan
  • Waiting : Proses sedang menunggu suatu kondisi tertentu untuk bisa berjalan
  • terminated : Proses telah menyelesaikan eksekusi
Setiap proses direpresentasikan ada sistem operasi berdasarkan proses-control-block (PCB) nya.

Proses memiliki 2 karakteristik, tetapi dilakukan secara independen oleh sistem operasi : 
  • Resource Ownership (kepemilikan sumber daya)
    yaitu proses yang mempunyai ruang alamat virtual untuk menangani image proses yang didefinisikan dalam PCB.
  • Scheduling-execution (penjadwalan-eksekusi)
    Mengikuti suatu path eksekusi (trace), ada pergantian dari suatu proses ke lainnya unit dari kepemilikan sumber daya diacu sebagai proses atau task suatu thread yang salah dapat mengganggu thread lainnya didalam proses yang sama, karena thread dipakai di berbagai ruang memori virtual dan sumber daya lain yang sama.

Perbedaan Antara Threads dan Processes

  1. Membutuhkan waktu yang lebih sedikit untuk mengakhiri Thread daripada Process.
  2. Pembentukan Thread membutuhkan waktu yang lebih sedikit daripada Process.
  3. Lebih mudah dan cepat untuk melakukan switch antar Thread daripada Process.
  4. Thread menggunakan secara bersama ruang alamat dari proses yang penciptaanya. Proses memiliki ruang alamat sendiri-sendiri.
  5. Thread dapat saling komunikasi dengan Thread lain dalam satu Process. Namun antar Process harus menggunakan komunikasi antar Proses.
  6. Thread memiliki akses langsung ke segmen data dari prosesnya. Masing-masing Proses memiliki salinan segmen data dari parent Process nya.
  7. Thread hampir tidak memiliki overhead. Proses memiliki overhead.
  8. Thread dapat memiliki pengaruh kontrol yang besar terhadap Thread lain dalam satu proses. Proses hanya dapat mengedalikan proses anakannya.
  9. Perubahan pada Thread utama seperti pembatalan atau perubahan suatu prioritas dapat mempengaruhi tingkah laku Thread lain dalam satu proses. Perubahan pada parent Proses tidak mempengaruhi proses anakanyna.

Kesimpulan

Proses dan Thread merupakan 2 bagian yang saling berhubungan dan berkaitan. Suatu program yang sedang dieksekusi merupakan pengertian dari suatu proses. Proses membutuhkan sumber daya. Sistem operasi mengeksekusi proses dengan dua cara yaitu batch system yang mengeksekusi jobs dan time-shared system yang mengatur pengeksekusian program pengguna (user) atau tasks. Proses berisikan stack yang menyimpan alamat register dan juga alamat dari sebuah instruksi yang berisikan data-data yang dibutuhkan untuk instruksi selanjutnya. Program Counter, register set serta tacdk merupakan bagian dari thread. Thread berbagi code section, data section dan juga sumber daya sistem operasi dengan thread lain yang dalam proses yang sama. Kelebihan Thread antara lain responsif, berbagi sumberdaya, ekonomis, serta utilitas arsitektur mikroprosessor.

Tidak ada komentar:

Posting Komentar