Thread
Thread
THREAD
SISTEM OPERASI
Kelompok 4
049 Ida Bagus Adinara Pratama 136 I Gusti Agung Rangga Barbikas Sidemen
Strategi Kami
097 Ida Bagus Gede Widiastana B. 121 Ida Bagus Made Andika Dwipramana
Materi yang akan
di bahas
1 Definisi Thread 4 Pembatalan Thread
7 Permasalahan Thread
Definisi Thread
Thread merupakan unit terkecil dari eksekusi dalam sebuah program komputer. Dalam konteks
pemrograman, thread sering disebut sebagai "benang" yang memungkinkan suatu proses untuk
menjalankan tugas-tugas secara konkuren. Thread berbagi ruang memori dan sumber daya sistem
dengan proses utama tempatnya berjalan. Hal ini memungkinkan aplikasi untuk melakukan tugas-
tugas secara bersamaan, meningkatkan responsifitas dan kinerja program secara keseluruhan. Dengan
thread, program dapat melakukan operasi yang terpisah tanpa harus menunggu operasi sebelumnya
selesai, sehingga meningkatkan efisiensi dan kecepatan dalam menjalankan tugas-tugas yang
kompleks.
Thread
Setiap thread dalam suatu proses melakukan satu tugas (pekerjaan)
Dalam proses tradisional, setiap proses hanya memiliki satu thread, sehingga program
hanya dapat melakukan satu tugas dalam satu waktu. Namun, jika suatu proses memiliki
banyak thread, proses tersebut dapat melakukan banyak tugas secara bersamaan.Ini
disebut multithreading
terdapat dua jenis utama dari thread, yang masing-masing memiliki ciri khas dan
mekanisme yang berbeda:
1. Thread Pengguna : Thread ini dikelola melalui pustaka thread yang beroperasi pada tingkat
pengguna. Dalam konteks ini, proses pembuatan, penjadwalan, dan pengelolaan thread dilakukan
sepenuhnya dalam ruang pengguna tanpa perlu campur tangan langsung dari kernel.
2. Thread Kernel: Sebaliknya, thread kernel, seperti namanya, dikelola secara langsung oleh kernel
sistem operasi. Artinya, pembuatan, penjadwalan, dan manajemen thread dilakukan di dalam ruang
kernel oleh sistem operasi itu sendiri.
MultiThreading Models
1. Model Many-to-One.
2. Model One-to-One.
3. Model Many-to-Man
Pustaka Thread
Pustaka thread, atau yang lebih akrab dikenal sebagai ThreadLibrary,
berperan dalam menyediakan antarmuka pemrograman aplikasi (API)
bagi pengembang untuk menciptakan dan mengelola thread. Terdapat
dua pendekatan dalam implementasi pustaka thread:
1. API Level Pengguna : Pustaka thread diimplementasikan pada level pengguna
tanpa dukungan dari kernel, sehingga pemanggilan fungsi tidak melibatkan
system call.
2. API Level Kernel : Pustaka thread diimplementasikan pada level kernel dan
didukung langsung oleh sistem operasi. Oleh karena itu, pemanggilan fungsi
thread melibatkan system callke kernel.
Pembatalan Thread
1. Process Contention Scope (PCS) : Thread pengguna dijadwalkan untuk berjalan pada
lightweight process (LWP) yang tersedia.
2. System Contention Scope (SCS) : SCS memilih satu dari banyak thread dan menjadwalkannya
ke satu thread tertentu (CPU/Kernel).
Permasalahan dalam penggunaan thread dapat mencakup berbagai hal, mulai dari deadlock
hingga race condition. Berikut adalah beberapa permasalahan umum yang sering muncul dalam
pengembangan perangkat lunak yang menggunakan thread, beserta pembahasannya:
Permasalahan Thread
1 Deadlock Solusi
Race condition terjadi ketika hasil Solusi untuk race condition termasuk
dari suatu proses bergantung pada penggunaan locking, penggunaan
urutan eksekusi dari dua atau lebih variabel kondisi, atau penggunaan
thread, dan hasil akhirnya tidak mekanisme sinkronisasi lainnya untuk
dapat diprediksi. mengatur akses ke sumber daya
bersama.
Permasalahan Thread
3 Starvation Solusi
Data race terjadi ketika dua atau Solusi untuk data race termasuk
lebih threadmengakses dan menggunakan locking, penggunaan
memodifikasi data yang sama tanpa variabel atomik, atau penggunaan
sinkronisasi yang tepat, mekanisme sinkronisasi lainnya untuk
mengakibatkan hasil yang tidak memastikan akses yang aman ke data
konsisten. bersama.
Permasalahan Thread
TERIMA KASIH
SISTEM OPERASI