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. Threads1. 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
- https://ftik.teknokrat.ac.id
- https://fsip.teknokrat.ac.id
- 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
- http://sastrainggris.fsip.teknokrat.ac.id
- http://pbi.fsip.teknokrat.ac.id
- http://akuntansi.feb.teknokrat.ac.id
----------------------------------------------------
Tidak ada komentar:
Posting Komentar