THREAD.

Slides:



Advertisements
Presentasi serupa
Cache Memori Oleh : Ahmad Fuad Hariri Fitriana Nelvi Tino Arif Cahyo
Advertisements

Oleh: Muhammad Syauqil Ilmi ( ) Muzakki (09650) Fathiyyatur Rahmah ( )
Oleh : Kelompok 2 Irawan ( ) Alifuddin Wachid ( ) Retno Ayu Apriliati ( ) “Proses Sistem Operasi” G.
By : Kelompok 3 Muhamad Shofri Maulidani ( ) Agung Satrio Buwono ( ) Devi Shinta Rahayu ( ) THREAD.
Sistem Terdistribusi 05 – Proses Oleh : Muh. Ary Azali.
KONSEP PROSES Minggu ke 5.
Implementasi Proses.
MANAJEMEN 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.
Proses dan Penjadwalan
Pertemuan 03- Konsep Proses
Pertemuan ke 3 Konsep 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.
Struktur Sistem Komputer
PROSES & THREAD -.
KONSEP THREAD.
PROSES dan PENJADWALAN (Konsep proses) By: Asriadi Pertemuan 5.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
MANAJEMEN PROSES.
PROCESS DAN THREADS PROCESS Multiprogramming Pseudoparallelism
PENJADWALAN PROSES.
Struktur Sistem Komputer
Thread.
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
Oleh: Chalifa Chazar MANAJEMEN PROSES.
Struktur Sistem Komputer
Operasi pada Sistem Operasi
PROSES & THREADS Disajikan Oleh :.
Proses Sistem Terdistribusi.
Konsep Proses.
Struktur Sistem Operasi
DUKUNGAN SISTEM OPERASI
Sistem Operasi Silabus : Pendahuluan Struktur Sistem Komputer
Sistem Operasi 4 “Threads”.
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Thread.
THREAD Imam Solikin, M.Kom.
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
Rujukan Mata Kuliah Sistem Operasi #02.
Struktur Sistem Komputer
SISTEM OPERASI PERTEMUAN VI.
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
SISTEM OPERASI - CHAPTER 2 PROCESS
Manajemen Proses Firdaus, M.T..
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Manajemen Proses.
SISTEM OPERASI PERTEMUAN VI.
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.
Thread Kelompok 4 NAMA : SRI YANTI MONICA ( )
Struktur Sistem Komputer
PANDANGAN UMUM SISTEM OPERASI DAN SISTEM KOMPUTER
Tim Teaching Grant Mata Kuliah Sistem Operasi
5 Thread.
KONSEP PROSES Minggu ke 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Tim Teaching Grant Mata Kuliah Sistem Operasi
Fathiah, S.T.,M.Eng Universitas Ubudiyah Indonesia
Pendahuluan Sistem Operasi. Pendahuluan Sistem Komputer terdiri dari : -Hardware -Sistem Operasi -Program Aplikasi -User Definisi Sistem Operasi -Software.
Transcript presentasi:

THREAD

KELOMPOK E AKBAR ALI SHOHIBUL CHAERUL SUTAMI GAGAN GALIH MARGAN YOHANES

CONTENT THREAD MULTITHREADING MODEL MULTITHREADING SYMETRIC MULTITPROCESSING ASYMETRIC MULTITPROCESSING PROSES & THREAD KOMPONEN & JENIS THREAD STATE PADA THREAD PEMBUATAN & PENGHENTIAN THREAD KEUNTUNGAN & KERUGIAN THREAD STUDI KASUS

THREAD Thread (menurut beberapa sumber) adalah : Merupakan sebuah status eksekusi (running, ready, dll) Merupakan sebuah pengontrol aliran program Sering disebut dengan lightweight process (proses ringan) Merupakan unit dasar dari penggunaan CPU yang terdiri dari Thread_ID, program counter, register set, dan stack Ada pula yang menyebutkan bahwa thread adalah sebuah mini proses dari sebuah proses

THREAD Secara informal, proses adalah program yang sedang dieksekusi. Ada 2 jenis proses, proses berat (heavyweight) & proses ringan atau kadang disebut thread. Thread saling berbagi bagian program, bagian data & sumber daya SO dengan thread lain yang mengacu pada proses yang sama. Dengan banyak kontrol, thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama

THREAD Single-threading Multi-threading sebuah proses tradisional (heavyweight) mempunyai thread tunggal yang berfungsi sebagai pengendali Multi-threading sebuah proses dengan thread yang banyak & mengerjakan lebih dari satu tugas pada satu satuan waktu

MULTITHREADING Many-to-One Memetakan beberapa thread tingkatan pengguna kesebuah thread tingkatan kernel Pengaturan thread dilakukan dalam ruang pengguna, sehingga efisien Hanya satu thread pengguna yang dapat mengakses thread kernel pada satu saat.

MULTITHREADING One-to-One Memetakan setiap thread tingkatan pengguna ke thread kernel Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One

MULTITHREADING Many-to-Many Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna Mengijinkan sistem operasi untuk membuat sejumlah thread kernel

SYMMETRIC MULTITPROCESSING Merupakan tipe arsitektur komputer dimana dua atau lebih processor berbagi link pada memory yang sama Keunggulan utama sistem SMP ini adalah bahwa sistem SMP mengoptimalkan kerja semua processornya dalam tingkatan yang sama, sehingga memberikan kualitas akses yang sama pada hardware komputer yang lain Banyak software saat ini terbagi ke dalam bagian-bagian yang lebih kecil yang disebut dengan thread. Ketika program-program ini berjalan pada sistem SMP, setiap processor dapat menjalankan satu thread program, sehingga dapat meningkatkan performa keseluruhan

ASYMMETRIC MULTITPROCESSING Setiap processor diberikan suatu tugas yang spesifik. Processor master mengontrol sistem, processor lain menunggu instruksi master atau mempunyai tugas yang ditentukan oleh master. Skema ini merupakan hubungan master-slave. Prosessor master menjadwal dan mengalokasikan pekerjaan dari processor slave.

PERBEDAAN PROSES DAN THREAD Thread berbeda dengan proses karena thread memiliki address space yang sama yang artinya mereka berbagi variable global. Karenanya masing-masing thread dapat saling mengakses virtual address, membaca, menulis bahkan menghentikan thread lain. Sedangkan proses bisa dimiliki oleh user dan kemungkinan proses tersebut menunggu atau ditahan proses yang lain. proses selalu dimiliki oleh satu user sehingga mereka dapat saling bekerja sama tidak saling berbenturan.

PERBEDAAN PROSES DAN THREAD

JENIS-JENIS THREAD User Thread (Thread Pengguna) Thread pengguna didukung kernel serta diimplementasikan dengan pustaka (library) thread pada tingkatan pengguna Pustaka (library) menyediakan fasilitas untuk pembuatan thread, penjadwalan thread, dan manajemen thread tanpa dukungan dari kernel Semua pembuatan dan penjadwalan thread dilakukan dalam ruang pengguna tanpa campur tangan kernel. Thread pengguna biasanya dapat cepat dibuat dan dikendalikan

JENIS-JENIS THREAD Kernel Threads (Thread Kernel) Thread kernel didukung langsung oleh sistem operasi Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space Pengaturan thread dilakukan oleh sistem operasi, sehingga pembuatan dan pengaturan kernel thread lebih lambat dibandingkan user thread

STATE PADA THREAD Sebuah thread memungkinkan untuk memiliki beberapa state : Running Sebuah thread yang pada saat ini sedang dieksekusi dan didalam control dari CPU Ready to run Thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk melakukannya Resumed Setelah sebelumnya di block atau diberhenti kan sementara, state ini kemudian siap untuk dijalankan Suspended Sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk menjalankan thread lain bekerja Blocked Sebuah thread yang diblock merupakan sebuah thread yang tidak mampu berjalan, karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi

THREAD POOL Pembuatan thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem. Solusinya adalah dengan penggunaan Thread Pools, cara kerjanya adalah dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools, dimana thread tersebut menunggu untuk bekerja. Jadi ketika server menerima permintaan maka akan membangunkan thread dari pool dan jika thread tersebut tersedia, permintaan akan dilayani. Ketika thread sudah selesai mengerjakan tugasnya maka thread tersebut kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat dibutuhkan, maka server menunggu sampai ada satu thread yang bebas.

PUSTAKA THREAD Pustaka Thread atau yang lebih familiar dikenal dengan Thread Library bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. Ada dua cara dalam mengimplementasikan pustaka thread: Menyediakan API dalam level pengguna tanpa dukungan dari kernel sehingga pemanggilan fungsi tidak melalui system call. Jadi, jika kita memanggil fungsi yang sudah ada di pustaka, maka akan menghasilkan pemanggilan fungsi call yang sifatnya lokal dan bukan system call. Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi. Pemanggilan fungsi call akan melibatkan system call ke kernel.

PENGHENTIAN THREAD Thread Cancellation adalah sebuah tugas untuk memberhentikan thread sebelum thread tersebut selesai. Terdapat 2 skenario, yaitu : Asynchronous cancellation Satu thread memberhentikan target thread seketika itu juga Deferred cancellation Target thread secara periodik dapat mengecek apakah ia harus berhenti, skenario ini memberi kesempatan kepada target thread untuk memberhentikan dirinya sendiri

KEUNTUNGAN THREAD Responsif Multithreading memungkinkan suatu program running walaupun sebagian program di-block atau menjalankan operasi yang lain. Contoh: web browser Resource Sharing Thread dapat men-share memori dan resource dengan thread yang lain Ekonomis Alokasi memori dan resource untuk pembuatan proses memiliki cost yang mahal. Dalam hal context-switch, lebih ekonomis bila dilakukan dengan thread context-switch Utilisasi CPU Meningkatkan kinerja pada arsitektur multiprocessor, dimana thread running secara paralel pada processor yang berbeda

KERUGIAN THREAD Jika digunakan secara berlebihan, multithreading akan berdampak pada pemborosan resource dan CPU yang dialokasikan untuk switching threads. Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache.

IMPLEMENTASI (STUDI KASUS) Terkadang ada sebuah aplikasi yang perlu menjalankan beberapa tugas yang serupa. Sebagai contohnya sebuah web server dapat mempunyai ratusan klien yang mengaksesnya secara bersamaan. Jika web server berjalan sebagai proses yang memiliki thread tunggal (Single-Threading) maka ia hanya dapat melayani satu klien pada satu waktu. Bila ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani. Solusinya adalah dengan membuat web server menjadi Multi-Threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendengar permintaan klien, ketika permintaan lain diajukan maka web server akan menciptakan thread lain yang akan melayani permintaan tersebut.

GRACIAS AMIGOS!