Rabu, 08 September 2021

Definisi dan Perbedaan antara Threads dan Processes

 A.  Defenisi  Processes

Processes adalah sebuah contoh dari mengeksekusi program komputer. Dengan kata lain, adalah konsep dari kejadian tunggal dari program komputer yang berjalan. Proses yang berjalan secara binar akan mengandung satu atau lebih thread.



B.  Defenisi Thread

 

Thread adalah prinsip yang memperbolehkan sebagian dari program untuk berjalan secara independen  dengan  sebagian  program  lainnya.  Dalam  threading  anda  dapat  menjalankan beberapa pointer (alamat dalam komputer) sekaligus. Artinya dua atau lebih bagian dari kode dapat dijalankan secara simultan.


C.  Perbedaan Proses  dengan Thread 


a. Proses

1.   Merupakan program yang sedang di eksekusi

2.   Proses mencakup program counter, yaitu sebuah stack untuk menyimpan     alamat dari instruksi yang selanjutnya akan di eksekusi dan di registrasi.


3.   Memiliki ruang alamat atau IP address masing-masing.

4.   Dari satu proses dengan proses lainnya harus menggunakan komunikasi.

5.   Memiliki overhead

6.   Hanya dapat mengendalikan proses turunannya. 

7.   Perubahan pada parent proses tidak mempengaruhi proses turunannya.

8.   Pembentukan proses membutuhkan waktu yang lebih lama.

9.   Waktu yang dibutuhkan untuk mengakhiri proses lebih lama

B. Threads

1.   Adalah alur kontrol dari suatu proses.

2.   Merupakan unit dasar dari penggunaan CPU dan sering disebut dengan lightweight process.


3.   Ruang alamat atau IP address digunakan secara bersama-sama dari proses yang menciptakannya.


4.   Memiliki akses langsung ke segmen data dari prosesnya

5.   Dapat saling berkomunikasi dengan thread lain dalam satu proses. 

6.   Hampir tidak memiliki overhead.

7.   Perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapat mempengaruhi tingkah laku thread lain dalam satu proses.


8.   Pembentukan thread membutuhkan waktu yang lebih sedikit.

9.   Waktu yang dibutuhkan untuk mengakhiri thread lebih sedikit

10. Lebih mudah dan cepat melakukan swicth antar thread daripada switch antar proses.

 

D.  Keuntungan Thread

 

1.   Responsiveness : Melakukan multithreading pada aplikasi yang interaktif dapat membuat program  terus  berjalan  meskipun  bagian  dari  program  tersebut  diblok  atau  sedang menjalankan operasi yang panjang, karena itu dapat meningkatkan respon kepada user.

2.   Resource sharing : sebuah aplikasi dapat mempunyai beberapa thread yang berbeda dalam sebuah alamat memori yang sama karena Thread berbagi memori dan sumber daya dari proses yang memilikinya.

3.   Economy: karena mahal untuk mengalokasikan memori dan sumber daya untuk pembuatan proses. Alternatifnya adalah dengan pengunaan thread. Sebab thread berbagi sumber daya dari proses yang memilikinya, oleh sebab itu akan lebih ekonomis untuk membuat sebuah thread daripada menggunakan memory baru.

4.   Utilization of multiproccesor architectures: keuntungan dari multithreading dapat meningkat secara drastis dalam arsitektur multiprosesor, dimana setiap thread dapat berjalan secara pararel pada prosesor yang berbeda.

E.  Jenis Multitreaading Model

 

Gambar Single and Multithreaded Processes

 

 

 



 

 

 

Single thread  è proses hanya mengeksekusi satu thread saja pada satu waktu

 

Multi thread è proses dapat  mengeksekusi sejumlah thread pada satu waktu




 



1.   Many to One Model

 

a. Many to One Model memetakan beberapa user-level Threads ke satu kernel threads.

b. Examples:

 

    Solaris Green Threads

 

    GNU Portable Threads c. Kelemahan:

    Satu block semua block

 

2.   One to One model memetakan setiap user thread ke kernel thread.

 

Examples

 



     Windows NT/XP/2000

 

    Linux

 

    Solaris 9 and later

 

Keuntungan:

 

    Konkurensi

 

    Butuh space, waktu,

 

    Tidak blocking

 

    Terbatas

 

3.   Many to many model

 

Many to many model memetakan banyak user-level thread ke kernel thread yang lebih sedikit atau sama.

User dapat membuat banyak thread, masing2 kernel thread dpt jalan di lingkungan multiprocessor

 

Examples

 

    Solaris prior to version 9

 

    Windows NT/2000 with the  ThreadFiber package


 



Kelebihan:

 

* Developer  dapat  membuat  user  thread  sebanyak  yang  diperlukan  dan  kernel  thread  yang bersangkutan dapat berjalan secara parallel pada multiprocessor.

* Dan ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi.

Kekurangan:

 

*  Developer  dapat  membuat  user  thread  sebanyak  mungkin,  tetapi  konkurensi  tidak  dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu.

Model ini ada pada Solaris, IRIX, dan Digital UNIX.

 

 

 

4.   Two-level Model

 



memungkinkan thread pengguna untuk terikat  pada sebuah kernel. Examples

    IRIX

 

    HP-UX

 

    Tru64 UNIX

 

    Solaris 8 and earlier


5.   Thread Libraries

 

Thread Libraries menyediakan programmer dengan API untuk membuat dan mengelola Thread

Dua cara utama pelaksanaan

 

1.Libraries sepenuhnya dalam ruang pengguna

 

2.Libraries kernel-level yang didukung oleh OS

 

6. Thread cancellation

 

Thread cancellation/ pembatalan thread ialah pemberhentian thread sebelum tugasnya selesai. Misalnya jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu. Thread yang akan diberhentikan disebut sebagai target thread. Pembatalan Thread terdiri dari 2 jenis:

 

1. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread.

 

2. Deffered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.

7. Thread Pools

 

Thread Pools adalah cara kerja dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools.

Keuntungan menggunakan Thread Pools

 

Biasanya lebih cepat untuk melayani permintaan dengan thread yang ada dibanding dengan menunggu thread baru dibuat.

Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini penting pada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent.

----------------------------------------------------

Tugas Kuliah : Organisasi Arsitektur dan Komputer

Nama : Gusti Firmansyah

NPM : 20313010

Kelas : TI 20A

Website Fakultas dan Kemahasiswaan

    - https://ftik.teknokrat.ac.id

    - https://fsip.teknokrat.ac.id 

 

   Online Learning :
 

   Website Program Studi FTIK :

    - http://si.ftik.teknokrat.ac.id

    - http://ti.ftik.teknokrat.ac.id 

    - http://ts.ftik.teknokrat.ac.id 

    - http://sia.ftik.teknokrat.ac.id 

    - http://te.ftik.teknokrat.ac.id 

    - http://tk.ftik.teknokrat.ac.id


   Website Program Studi FSIP:

   - http://sastrainggris.fsip.teknokrat.ac.id 

   - http://pbi.fsip.teknokrat.ac.id 

 

   Website Program Studi FEB :

   - http://akuntansi.feb.teknokrat.ac.id

----------------------------------------------------

Tidak ada komentar:

Posting Komentar

Hypothesis testing

Pengertian Uji Hipotesis dan Jenis-jenisnya  Uji Hipotesis adalah cabang Ilmu Statistika Inferensial yang dipergunakan untuk menguji kebenar...