Anda di halaman 1dari 13

RANGKUMAN:

Sistem Operasi
Shofwan Mahdi (09021282227083)
4
Threads &
Konkurensi
Motivasi

Sebagian besar aplikasi modern bersifat multithreaded dan thread berjalan di dalam aplikasi sehingga
Beberapa tugas dengan aplikasi ini dapat diimplementasikan dengan utas-utas yang terpisah seperti:
• Memperbarui tampilan
• Mengambil data
• Pemeriksaan ejaan
• Menjawab permintaan jaringan
Pembuatan proses sangat berat, sementara pembuatan thread adalah ringan yang Dapat
menyederhanakan kode, meningkatkan efisiensi pada dasarnya Kernel umumnya memiliki banyak
thread.
Proses Tunggal dan Multithreaded
"Single-threaded" berarti kami
membuka satu koneksi dan mengukur
kecepatannya.
"Multi-threaded" berarti kita
menggunakan beberapa koneksi -
biasanya antara 3 hingga 8 - pada saat
yang sama, dan mengukur kecepatan
total di semua koneksi.
Beberapa koneksi tidak dapat mencapai
kecepatan penuh dari satu koneksi, atau
memiliki kecepatan yang sangat tidak
stabil, dan beberapa koneksi
memungkinkan kita untuk "mengisi"
bandwidth yang tersedia dengan lebih
mudah. Hal ini terutama berlaku pada
jalur yang lebih cepat. Selain itu, banyak
aplikasi modern yang tidak
menggunakan satu utas saat
mentransfer data, sehingga membantu
kita menghasilkan hasil yang "nyata".
Pemrograman Multicore

Sistem multicore atau multiprosesor memberikan tekanan pada pemrogram dan tantangannya
meliputi:
• Membagi kegiatan
• Keseimbangan
• Pemisahan data
• Ketergantungan data
• Pengujian dan debugging
Paralelisme menyiratkan bahwa sebuah sistem dapat melakukan lebih dari satu tugas secara
bersamaan dan Konkurensi mendukung lebih dari satu tugas yang membuat kemajuan yang dimana
Prosesor / inti tunggal, penjadwal yang menyediakan konkurensi,

,
Paralelisme
Parallelisme pada sistem multi-core >>>

Jenis-jenis paralelisme :
• Paralelisme data - mendistribusikan himpunan bagian dari data yang sama di beberapa inti, operasi
yang sama di setiap inti.
• Paralelisme tugas - mendistribusikan thread di seluruh core, setiap thread melakukan operasi unik.
Hukum Amdahl
Dalam Mengidentifikasi peningkatan kinerja dari penambahan core tambahan ke sebuah
aplikasi yang memiliki komponen serial dan parallel.

S adalah bagian serial.


N adalah inti pemrosesan.
Yaitu, jika aplikasi 75% paralel / 25% serial, bergerak dari 1 ke 2 core menghasilkan kecepatan 1,6 kali
lipat.
Saat N mendekati tak terhingga, kecepatan mendekati 1 / S.
Bagian serial dari aplikasi memiliki efek yang tidak proporsional pada kinerja yang diperoleh dengan
menambahkan inti tambahan.
Thread Pengguna dan Thread Kernel
Thread pengguna merupakan pengelolaan
dilakukan oleh pustaka thread tingkat
pengguna, terdapat Tiga pustaka utas utama:
• POSIX Pthreads
• Thread Windows
• Thread Java
Thread Kernel yang Didukung oleh Kernel,
Contoh yang hampir semua sistem operasi
serba guna, termasuk:
• Windows
• Linux
• Mac OS X
• iOS
• Android
Model MultiThreading

Terdapat 3 model multithreading yaitu:


• Many to one
• One to one
• Many to many

1. Model Many to one :


Banyak thread tingkat pengguna yang dipetakan ke thread kernel tunggal, Pemblokiran satu thread
menyebabkan semua thread terblokir. Beberapa thread tidak dapat berjalan secara paralel pada
sistem multicore karena hanya satu yang boleh ada di dalam kernel pada satu waktu.
Beberapa sistem saat ini menggunakan model ini.
Contoh:
Benang Hijau Solaris
Utas Portabel GNU
Model MultiThreading

2. Model One to one :


Setiap thread tingkat pengguna dipetakan ke thread kernel dan Membuat thread tingkat pengguna
membuat thread kernel, lebih banyak konkurensi daripada banyak-ke-satu yang dimana Jumlah
thread per proses terkadang dibatasi karena overhead, Sebagai contoh dari Model one to one antara
lainnya: Windows dan Linux
Model MultiThreading

3. Model Many to many:


Memungkinkan banyak thread tingkat pengguna dipetakan ke banyak thread kernel dan
Memungkinkan sistem operasi membuat jumlah kernel yang memadai thread. Sebagai contohnya
dengan paket ThreadFiber
Thread Java

Thread Java dikelola oleh JVM, biasanya diimplementasikan menggunakan model thread yang
disediakan oleh OS yang mendasarinya
Thread Java memiliki tujuan antara lain:
• Memperluas kelas Thread
• Menerapkan antarmuka yang dapat dijalankan

Standar Thread java adalah mengimplementasikan antarmuka yang dapat dijalankan.


Daftar Pustaka

Silberschatz, Avi. Galvin, Peter Baer. Gagne, Grag. (2018). Operating System Concepts Tenth Edition.
John Wiley & Sons, Inc.
https://samknows.one/hc/en-gb/articles/115003164305-What-is-the-difference-between-Single-and-
Multi-Thread-

Anda mungkin juga menyukai