Thread.

Slides:



Advertisements
Presentasi serupa
Oleh: Muhammad Syauqil Ilmi ( ) Muzakki (09650) Fathiyyatur Rahmah ( )
Advertisements

By : Kelompok 3 Muhamad Shofri Maulidani ( ) Agung Satrio Buwono ( ) Devi Shinta Rahayu ( ) THREAD.
Organisasi Komputer : Struktur dan Fungsi Komputer 2
Sistem Terdistribusi 05 – Proses Oleh : Muh. Ary Azali.
KONSEP PROSES Minggu ke 5.
Implementasi Proses.
KONSEP THREAD.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
Proses dan Implementasinya
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 5 PROSES DAN THREAD 1.
Manajemen Proses.
© 2009 Fakultas Teknologi Informasi Universitas Budi Luhur Jl. Ciledug Raya Petukangan Utara Jakarta Selatan Website:
Proses dan Penjadwalan
Pertemuan 03- Konsep Proses
PENJADUALAN PROSES.
Versi 1, 2013CCS113 – SISTEM OPERASIFASILKOM PERTEMUAN 6 PROSES DAN THREAD 2.
Pertemuan 3 Manajemen Proses.
PROCESS DAN THREADS Pengertian : Program Proses MonoProgramming
Tim Teaching Grant Mata Kuliah Sistem Operasi
Operating System Copyright © Mufadhol 1 SISTEM OPERASI Management Process Oleh : Mufadhol, S.Kom.
Thread.
Kelompok F 1. Arif Febriyanto (33451) 2. Galdita A Chulafak (33024) 3. Atika Fuziyah (32895) 4. Eldest Arif Pasirula (33220) 5. Udi Hartono (33317)
PROSES & THREAD -.
KONSEP THREAD.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
PROCESS DAN THREADS PROCESS Multiprogramming Pseudoparallelism
PENJADWALAN PROSES.
Memori Virtual.
Sistem Operasi Pertemuan 5.
Thread. Thread Proses dengan thread tunggal – proses menjalankan satu tugas pada satu waktu Proses dengan thread tunggal – proses menjalankan satu tugas.
MATAKULIAH SISTEM OPERASI – PENDIDIKAN TEKNIK INFORMATIKA 2008
Struktur Sistem Komputer
Struktur Sistem Komputer
PROSES & THREADS Disajikan Oleh :.
STRUKTUR SISTEM KOMPUTER
STRUKTUR SISTEM KOMPUTER
Proses Sistem Terdistribusi.
Konsep Proses.
Struktur Sistem Operasi
Penjadwalan Proses.
Sistem Operasi 4 “Threads”.
Komponen Dasar Sistem Operasi
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Thread.
MANAJEMEN PROSES.
4 PROSES Mata Kuliah Sistem Operasi Mata Kuliah : Sistem Operasi
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
Rujukan Mata Kuliah Sistem Operasi #02.
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER Oleh : Laseri, S.Kom.
THREAD.
Struktur Sistem Komputer
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
Oleh : Devie Rosa Anamisa
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Hierarki Memori Dan Cache Memori..
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
Manajemen Proses.
Thread Kelompok 4 NAMA : SRI YANTI MONICA ( )
Struktur Sistem Komputer
Oleh : Laseri, S.Kom BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER.
Struktur Sistem Komputer
Tim Teaching Grant Mata Kuliah Sistem Operasi
5 Thread.
KONSEP PROSES Minggu ke 5.
Struktur Sistem Komputer
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Transcript presentasi:

Thread

THREAD Thread merupakan unit dasar dari penggunaan CPU Thread terdiri dari Thread_ID, program counter, register set, dan stack Thread juga sering disebut lightweight process

THREAD DALAM PROCESS Perbedaan antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu

THREAD DALAM PROCESS

CONTOH MULTI-THREADING Banyak perangkat lunak yang berjalan pada PC modern dirancang secara multi-threading Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari network.

CONTOH MULTI-THREADING Situasi dimana sebuah aplikasi diperlukan untuk menjalankan beberapa tugas yang serupa Contohnya adaah sebuah web server yang dapat mempunyai ratusan klien yang mengaksesnya secara concurrent

Keuntungan Thread Responsi: Membuat aplikasi yang interaktif menjadi multithreading dapat membuat sebuah program terus berjalan meskipun sebagian dari program tersebut diblok atau melakukan operasi yang panjang, karena itu dapat meningkatkan respons kepada pengguna. Sebagai contohnya dalam web browser yang multithreading, sebuah thread dapat melayani permintaan pengguna sementara thread lain berusaha menampilkan image. 2. Berbagi sumber daya: thread berbagi memori dan sumber daya dengan thread lain yang dimiliki oleh proses yang sama. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.

Keuntungan Thread 3. Ekonomi: dalam pembuatan sebuah proses banyak dibutuhkan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread. Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan context switch proses 5 kali lebih lama dibandingkan context switch thread.

Keuntungan Thread 4. Utilisasi arsitektur multiprocessor: Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannya hanya satu thread yang dijalankan CPU pada satu- satuan waktu (satu-satuan waktu pada CPU biasa disebut time slice atau quantum).

User vs Kernel Threads User thread didukung di atas kernel dan diimplementasi oleh thread library pada user level Library menyediakan fasilitas untuk pembuatan thread, penjadualan thread, dan managemen thread tanpa dukungan dari kernel Kelemahannya yaitu apabila kernelnya merupakan thread tunggal maka apabila salah satu user-level thread menjalankan blocking system call maka akan mengakibatkan seluruh proses diblok walau pun ada thread lain yang dapat jalan dalam aplikasi tersebut

User vs Kernel Threads Kernel thread didukung langsung oleh sistem operasi Pembuatan, penjadualan, dan managemen thread dilakukan oleh kernel pada kernel space. Pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread

User vs Kernel Threads Keuntungannya adalah jika sebuah thread menjalankan blocking system call maka kernel dapat menjadualkan thread lain di aplikasi untuk melakukan eksekusi Keuntungan lainnya adalah pada lingkungan multiprocessor, kernel dapat menjadual thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.

Multithreading Models Many-to-One Model memetakan banyak user-level thread ke satu kernel thread Pengaturan thread dilakukan di user space Efisien tetapi ia mempunyai kelemahan yang sama dengan user thread tidak dapat berjalan secara pararel pada multiprocessor

Multithreading Models

Multithreading Models One-to-One Model memetakan setiap user thread ke kernel thread menyediakan lebih banyak concurrency dibandingkan Many-to-One model Keuntungannya sama dengan keuntungan kernel thread Kelemahannya setiap pembuatan user thread membutuhkan pembuatan kernel thread yang dapat menurunkan performa dari sebuah aplikasi Sistem operasi yang mendukung One-to-One model adalah Windows NT dan OS/2

Multithreading Models

Multithreading Models Many-to-Many Model multiplexes banyak user-level thread ke kernel thread yang jumlahnya lebih kecil atau sama banyaknya dengan user-level thread Jumlah kernel thread dapat spesifik untuk sebagian aplikasi atau sebagian mesin Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat bejalan secara pararel pada multiprocessor. Ketika suatu thread menjalankan blocking system call maka kernel dapat menjadualkan thread lain untuk melakukan eksekusi. Sistem operasi yang mendukung model ini adalah Solaris, IRIX, dan Digital UNIX.

Multithreading Models

Thread Pools Pada web server yang multithreading ada dua masalah yang timbul: Ukuran waktu yang diperlukan untuk menciptakan thread untuk melayani permintaan yang diajukan terlebih pada kenyataannya thread dibuang ketika ia seketika sesudah ia menyelesaikan tugasnya. Pembuatan thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem.

Thread Pools Solusinya adalah dengan penggunaan Thread Pools :  Membuat beberapa thread pada proses startup dan menempatkan mereka ke pools, dimana mereka duduk diam dan menunggu untuk bekerja Ketika server menerima permintaan maka ia akan membangunkan thread dari pool dan jika thread tersedia maka permintaan tersebut akan dilayani Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya

Thread Pools Keuntungan thread pool: 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 pentingpada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent. Jumlah thread dalam pool dapat tergantung dari jumlah CPU dalam sistem, jumlah memori fisik, dan jumlah permintaan klien yang concurrent.

Cancellation Thread cancellation adalah sebuah tugas untuk memberhentikan thread sebelum thread tersebut selesai. Thread yang akan diberhentikan disebut target thread. Dua skenario thread cancellationn : 1. Asynchronous cancellation : satu thread memberhentikan target thread seketika itu juga. 2. Deferred cancellation : target thread secara periodik dapat mengecek apakah ia harus berhenti, skenario ini memberi kesempatan kepada target thread untuk memberhentikan dirinya sendiri.

Signal Handling (1) Sebuah sinyal digunakan di sistem UNIX untuk memberitahu sebuah proses kalau peristiwa tertentu sedang terjadi. Pola sinyal : - Sebuah sinyal diaktifkan oleh munculnya suatu peristiwa. - Sinyal yang diaktifkan dikirim ke proses. - Sesudah dikirim, sinyal tersebut harus ditangani.

Signal Handling (2) Setiap sinyal bisa ditangani oleh salah satu dari 2 handler yang ada : 1. A default signal handler 2. A user defined signal handler Beberapa pilihan kemana sebuah sinyal seharusnya dikirim : 1. Mengirim sinyal ke thread yang dituju. 2. Mengirim sinyal ke semua thread dalam proses. 3. Mengirim sinyal ke thread tertentu dalam proses. 4. Menugaskan thread khusus untuk menerima semua sinyal yang ditujukan pada proses tersebut.