Sistem Operasi 4 “Threads”.

Slides:



Advertisements
Presentasi serupa
Proses di Linux.  Proses adalah satuan eksekusi program  Proses di Linux preemptive saat:  1. Waktu kuantumnya telah habis  2. ada proses baru yang.
Advertisements

Oleh: Muhammad Syauqil Ilmi ( ) Muzakki (09650) Fathiyyatur Rahmah ( )
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.
Manajemen proses Manajemen Proses.
KONSEP THREAD.
KONSEP PROSES.
Proses Ali akbar. KONSEP PROSES Proses adalah program yang sedang dieksekusi. Eksekusi proses dilakukan secara berurutan. Dalam suatu proses terdapat.
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
SI 325 Konsep Sistem Operasi Minggu 3
Pertemuan 03- 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
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 Prosesor (CPU Scheduling)
“Manajemen Memori Virtual”
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
Struktur Sistem Komputer
Struktur Sistem Komputer
PROSES & THREADS Disajikan Oleh :.
Sistem Operasi Proses dan Thread.
Proses Sistem Terdistribusi.
Konsep Proses.
Proses Dosen: Abdillah S.Si., MIT.
Penjadwalan Proses.
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
Model Sistem Operasi 5/20/2018.
Process and Tread Saifudin Anshory Abd. Chariz Fauzan Wahyu Hartono
BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER Oleh : Laseri, S.Kom.
THREAD.
Struktur Sistem Komputer
MANAJEMEN PROSES PART 2 Dosen : Ahmad Apandi, ST
JAva Threads.
SISTEM OPERASI - CHAPTER 2 PROCESS
Oleh : Rahmat Robi Waliyansyah, M.Kom.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Hendy Mizuardy SISTEM OPERASI. MANAJEMEN PROSES Konsep Proses Definisi Proses Status Proses Process Control Block (PCB) Konsep Penjadwalan Queue Scheduling.
Sistem Operasi.
Manajemen Proses.
Thread Kelompok 4 NAMA : SRI YANTI MONICA ( )
Struktur Sistem Komputer
Oleh : Laseri, S.Kom BAB I                       Mata Kuliah  Sistem Terdistribusi _______________________ PROSES SISTER.
Tim Teaching Grant Mata Kuliah Sistem Operasi
5 Thread.
KONSEP PROSES Minggu ke 5.
Tim Teaching Grant Mata Kuliah Sistem Operasi
Multithreading Matakuliah : T0984 / Algoritma dan Metode Object Oriented Programming II Pertemuan : 12 Tahun : 2008 Versi : 1/0.
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:

Sistem Operasi 4 “Threads”

Thread Definisi: unit dasar dari penggunaan CPU. Thread terdiri dari: thread ID, program counter, register, dan stack. Thread juga sering disebut Lightweight process. Thread berbagi: code section, data section, dan sumber daya sistem operasi dengan thread lain yang termasuk dalam proses yang sama. Proses tradisional ( Heavyweight process ) mempunyai thread tunggal yang berfungsi sebagai pengontrol.

Single and Multithreaded Processes 3

Keuntungan Thread 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. 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. 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. 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.

Fakta Pembuatan Proses lebih berat dan lama daripada Thread Pada Solaris: Pembuatan proses 30x lebih lama daripada Thread Context Switch Proses 5x lebih lama daripada CT Thread Java memiliki konsep yang berbeda mengenai Thread Program Java tidak bs bersifat asinkronus

User Threads & Kernel Threads User threads didukung diatas kernel dan diimplementasikan oleh thread library pada level user. Library mendukung pembuatan thread, penjadwalan, dan manajemen tanpa dukungan dari kernel. Karena kernel tidak menyadari adanya user-level threads maka pembuatan semua thread dan penjadwalan dilakukan di dalam user space tanpa intervensi dari kernel. Kerugian: jika salah satu thread block, semua proses block Three primary thread libraries: POSIX Pthreads Win32 threads Java threads

User dan Kernel Threads Kernel threads didukung secara langsung dari sistem operasi. Pembuatan thread, penjadwalan, dan manajemen dilakukan oleh sistem operasi, secara umum kernel threads lebih lambat untuk dibuat dibanding user thread. Keuntungan: SO dapat menjadwalkan thread lain jika ada salah satu thread yang di block SO dapat menjadwalkan thread-thread pada multi processor Examples Windows XP/2000 Solaris Linux Tru64 UNIX Mac OS X

Multithreading model Many to One Model memetakan beberapa user-level threads ke satu kernel threads. Examples: Solaris Green Threads GNU Portable Threads Kelemahan: Satu block semua block

Multithreading model 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

Multithreading 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

Two-level Model Similar to M:M, except that it allows a user thread to be bound to kernel thread Examples IRIX HP-UX Tru64 UNIX Solaris 8 and earlier 11

Thread Libraries Thread library provides programmer with API for creating and managing threads Two primary ways of implementing Library entirely in user space Kernel-level library supported by the OS

Threading issue: Forking Bila sebuah thread di program memanggil fork() maka ada dua skenario yang bisa terjadi : Semua thread akan diduplikasi. Hanya thread yang memanggil fork() yang akan didupliakasi. Jika exec() dipanggil langsung setelah fork(), maka duplikasi seluruh thread tidak dibutuhkan krn exec sdh mengganti seluruh proses Jika exec() tidak dipanggil, maka duplikasi thread harus dilakukan

Threading issue: cancellation Thread cancellation adalah sebuah tugas untuk memberhentikan thread sebelum thread tersebut selesai. Contoh: JVM akan mematikan seluruh thread sblm mati Thread yang akan diberhentikan disebut target thread. Dua skenario thread cancellationn : 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.

Kesulitan Thread Cancellation Asynchronous: Jika thread yg akan dimatikan, thread tersebut sedang mengupdate data. Alternatifnya: Deferred Cancellation

Threading issue: Signal handling Sebuah sinyal digunakan di sistem UNIX untuk memberitahu sebuah proses kalau peristiwa tertentu sedang terjadi (mis: perubahan state thread, error, interrupt). Pola sinyal asynchronous / synchronous: Sebuah sinyal diaktifkan oleh munculnya suatu peristiwa. Sinyal yang diaktifkan dikirim ke proses. Sesudah dikirim, sinyal tersebut harus ditangani.

Threading issue: Signal handling Sinyal Synchronous: Sinyal dimunculkan dan dikirim ke proses yang melakukan operasi tersebut Ketika ada pengaksesan memory ilegal atau divison by zero Sinyal Asynchronous: Sinyal dimunculkan oleh peristiwa diluar proses tersebut Ketika ada proses menutup window (ALT + F4)

Threading issue: Signal handling Penerima sinyal: Diatur oleh sistem operasi Didefinisikan oleh user Pada single thread penanganan sinyal mudah, tapi multithreading sulit, krn 1 proses memiliki lbh dr 1 thread Sinyal dikirim ke: Thread yg dituju Setiap thread pd proses tersebut Ke thread tertentu pd proses tersebut Menugaskan thread khusus

Thread pools Gagasan umum : Keuntungan : Thread specific data Membuat beberapa thread pada start-up proses dan menempatkan mereka ke dalam sebuah pool dimana mereka diam dan menunggu untuk bekerja. Penciptaan thread yg tak terbatas menurunkan performa Keuntungan : Biasanya lebih cepat untuk melayani sebuah permintaan dengan thread yang ada dibanding menunggu thread tersebut dibuat. Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini penting pada sistem yang tidak bisa mendukung banyak concurrent thread Thread specific data Duplikat data tertentu dari suatu thread pada suatu situasi.

Windows XP Threads Implements the one-to-one mapping, kernel-level Each thread contains A thread id Register set Separate user and kernel stacks Private data storage area The register set, stacks, and private storage area are known as the context of the threads The primary data structures of a thread include: ETHREAD (executive thread block) KTHREAD (kernel thread block) TEB (thread environment block) 20

Linux Thread Threads pada linux mulai digunakan di kernel versi 2.2 Threads lebih dianggap sebagai tasks Linux menyediakan 2 system call : fork(): duplikasi proses, dimana proses anak independen clone(): mirip seperti fork(), namun selain meng-copy proses yang memanggilnya, method ini membuat proses baru yang berbagi address space yang sama dengan proses yang memanggilnya, sehingga sama persis dgn induknya Context Switch Linux lebih cepat

Java Threads Java threads are managed by the JVM Typically implemented using the threads model provided by underlying OS Java threads may be created by: Extending Thread class Implementing the Runnable interface 22

Contoh “extend Thread”

Lainnya

Implements Runnable

Hasil

Java Threads Keunggulan Java Threads adalah: JVM menggunakan prioritas preemptive berdasarkan algoritma penjadualan Semua threads di Java mempunyai prioritas. Prioritas tertinggi dijadualkan untuk dieksekusi oleh JVM Jika ada 2 thread yang prioritasnya sama, digunakan algoritma First In First Out (FIFO)

NEXT Process Schedulling / Penjadwalan