Thread juga sering disebut Lightweight process. Proses tradisional ( Heavyweight process ) mempunyai thread tunggal

dokumen-dokumen yang mirip
Definisi: unit dasar dari penggunaan CPU. Thread terdiri dari: thread ID, program counter, register, dan stack.

ARTIKEL PERBEDAAN PROSES DENGAN THREAD. Di susun Oleh: Nama : Sri Wahyuni Nim :

Operating System. Thread. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Thread. pada satu waktu. menjalankan banyak tugas/thread. yang sama

Proses dan Threads Dalam SISTEM OPERAS

Definisi (1) ready, dll.) Sering disebut dengan lightweight process. register set, dan stack. sama.

TUGAS SISTEM OPERASI THREAD

SISTEM OPERASI ISG2B3 THREAD. Agus Setiawan Program Studi Sistem Informasi Fakultas Rekayasa Industri Telkom University

Thread Proses merupakan sebuah program yang mengeksekusi THREAD tunggal. Kendali thread tunggal ini hanya memungkinkan proses untuk menjalankan satu t

Contoh (3) Solusinya adalah dengan membuat web server menjadi multi-threading. Dengan ini maka sebuah web server akan membuat thread yang akan mendeng

SISTEM OPERASI THREAD DAN MULTITHREADING

TUGAS SISTEM OPERASI

Secara tidak langsung, proses merupakan program yang sedang dieksekusi.

Perbedaan Anatara Thread dan Proses

THREAD Ulir utas thread

TUGAS Mata Kuliah : Sistem Terdistribusi

Bab selanjutnya membahas tentang penggunaan thread pada java, thread bisa memiliki status new, runnable, block, dead.

TUGAS SISTEM OPERASI

KONSEP PROSES (CONT.)

Artikel Perbedaan Proses Dan Thread. Disusun Oleh : Nama : Rozy Putra Pratama NIM : Prodi : Sistem Informasi

MAKALAH SISTEM OPERASI Perbedaan Proses dan Thread. Disusun Oleh : NOVITA ANGGRAINI PUTRI

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI

Pertemuan #2: Proses dan Thread

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. System Calls dan Thread

Perbedaan Kernell Linux dan Windows

THREADS PADA WINDOWS Julius Bata /

PROSES DAN THREADS DALAM SISTEM OPERASI

Rahmady Liyantanto liyantanto.wordpress.com

PROSES DAN THREAD. : Anggo Luthfi Yunanto. Nim : : sistem informasi

1. Mampu mengimplementasikan thread dalam sebuah aplikasi 2. Memahami kegunaan thread dalam aplikasi

ARTIKEL TENTANG THREAD Definisi Thread

Sistem terdistribusi Processes, Threads and Virtualization pertemuan 3. Albertus Dwi Yoga Widiantoro, M.Kom.

THREADS WINDOWS : PEMBUATAN, PENJADWALAN DAN SINKRONISASI Julius Bata Magister Ilmu Komputer Universitas Gadjah Mada

Dimana thread digunakan?

Proses dan Penjadwalan

Processes. Processes. SISTIM OPERASI (Operating System) IKI-20230

PROSES. Sistem Terdistribusi

TUGAS MATA KULIAH SISTEM OPERASI ARTIKEL TENTANG PERBEDAAN PROSES DAN THREAD

Sistem Operasi Pertemuan 4 Thread, SMP & Microkernel. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Proses. Sistem Terdistribusi Reza Aditya Firdaus, S.kom

PROSES PENGANTAR DATA TERDISTRIBUSI. Materi: 1. Thread 2. Client/Server 3. Agent

Studi Kasus Kernel Linux

Sistem Operasi 9. Virtual Memory. Antonius Rachmat C, S.Kom, M.Cs

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

Pemrograman Berorientasi Obyek (IT251) Ramos Somya, S.Kom., M.Cs.

Sistem Operasi PENGATURAN PROSES

Algoritma Penjadwalan 2

Sistem Operasi Komputer

Struktur Sistem Komputer

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Arsitektur Komputer Sistem Operasi

Sistem Operasi. Proses dan Thread

Bab 3. Proses. Gambar 3.1. Thread

Bab 3.Proses dan Penjadualan

Prio Handoko, S.Kom., M.T.I.

Bab 10. Konsep Proses

MANAJEMEN PROSES. Pointer State proses Keadaan proses: Keadaan mungkin, new, ready, running, waiting, halted, dan juga banyak lagi.

Bab 3. Proses Proses POKOK BAHASAN: TUJUAN BELAJAR: 3.1 KONSEP PROSES

1. New 2. Running 3. Waiting 4. Ready 5. Terminated

Keuntungan Virtual Memory

Bab 3: Proses-Proses. Konsep Proses

SISTEM OPERASI. Deskripsi Proses. Multiprogramming. Istilah dalam Proses. (multitasking) MANAJEMEN PROSES. Multiprogramming.

Struktur Sistem Komputer

Dukungan Sistem Operasi :

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

SISTEM OPERASI. Belajar SO?

PERMINTAAN HALAMAN PEMBUATAN PROSES

BAB II LANDASAN TEORI

memuat banyak proses dalam suatu waktu Sebelum masuk ke memori, suatu proses harus menunggu dalam antrian

Text Berisi kode programnya

Process Control Block (PCB) Masing-masing proses Direpresentasikan oleh Sistem Operasi dengan menggunakan Process Control Block (PCB),

Sistem Operasi Mobile

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Pemgantar Teknologi Informasi

MANAJEMEN MEMORI. Manajemen Memori 1

Deadlock. Pada kasus ini juga bisa terjadi kelaparan, yaitu ada proses yang tidak terlayani

Sebagai Kordinator, yang memberikan fasilitas sehingga segala aktivitas yang kompleks dapat dikerjakan dalam urutan yang benar.

Sistem Operasi Pertemuan 3 Deskripsi & Kendali Proses. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

4. Apa yang dimaksud dengan user mode?(nilai 3) Jawab: Adalah kondisi pada saat program user (job) sedang dieksekusi oleh prosesor.

Sistem operasi. Contoh sistem operasi modern adalah Linux, Android, ios, Mac OS X, dan Microsoft Windows

Sistem Operasi. Teknologi Informasi

Kelas: Nilai (Diisi Dosen):... IF

Aditya Wikan Mahastama

Pemrograman Memori Shared: Thread dan OpenMP

Andi Gustanto M / Kelas 22 / TI

Sistem Operasi Proses- Dini Triasanti MANAJEMEN PROSES

Sistem Operasi Penjadwalan Proses

Operating System. I/O System. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan. Dosen : Caca E. Supriana, S.Si

Konsep Sistem Operasi (Sesi 2)

Bab 3 - Manajemen Proses 3.1

Bab 13. Konsep Penjadwalan

SINKRONISASI DATA DENGAN PEMROSESAN PARALEL MENGGUNAKAN MODEL PEMROGRAMAN MAPREDUCE

PENGATURAN PROSES. Proses adalah program yang sedangdieksekusi atau sofware yang sedang dilaksanakan.

Soal-jawab Quiz 1. Oleh: Endro Ariyanto (END) Oktober 2008

Sistem Operasi - PCB (process control block)

Pengantar Teknologi Informasi. Evangs Mailoa (evangsmailoa.wordpress.com) Fakultas Teknologi Informasi UKSW

TUJUAN. Memahami Koneksi dan Pemrosesan Basis Data di Java Memahami JDBC Menggunakan MySQL pada program Java

Operating System: An Overview. Ch. 3: Process Management. Ch. 3: Process Management

Sistem Operasi. Proses (Process) 2016

Transkripsi:

Sistem Operasi 4 Threads Antonius Rachmat C, S.Kom, M.Cs

Thread Definisi: i i 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, files dan sumber daya dengan thread lain yang termasuk dalam proses yang sama. Proses tradisional ( Heavyweight process ) mempunyai thread tunggal

Single and Multithreaded Processes

Thread Life Cycles

Keuntungan Thread Responsiveness : pada aplikasi yang interaktif dapat membuat program terus berjalan meskipun bagian dari program tersebut diblok atau sedang menjalankan operasi yang panjang 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, akan lebih ekonomis untuk membuat sebuah thread daripada menggunakan memory baru. Utilization of multiproccesor architectures: dalam arsitektur multiprosesor, dimana setiap thread dapat berjalan secara pararel pada prosesor yang berbeda.

Multicore programming challenges Dividing activities Threads balance Data splitting Testing and debugging

Multithreading lih Server

Single-core Multi-core (paralel)

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

User Threads User threads didukung diatas kernel dan diimplementasikan oleh thread library pada level user. Library mendukung pembuatan thread, penjadwalan, dan manajemen tanpa dukungan langsung 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. Three primary thread libraries: POSIX Pthreads Win32 threads Java threads

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 Mac OS X

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

Many to one Efficient karena irit kernel thread All of user threads may blocked if a thread makes a blocking system call M lti l th d bl t i Multiple user thread unable to run in parallel on multiprocessors

Multithreading lih model One to One model memetakan tiap user thread ke tiap kernel thread. Examples Windows NT/XP/2000 Linux Solaris 9 and later Keuntungan: More concurrency Multiple threads can run in parallel in multiprocessors Overhead in creating kernel thread related to user thread

Multithreading lih model Many to many model memetakan banyak user-level thread ke <= kernel thread User dapat membuat banyak ak thread, masing2 kernel thread dpt jalan di lingkungan multiprocessor Allows the operating system to create a sufficient number of kernel threads Tidak terlalu overhead Examples Solaris prior to version 9 Windows NT/2000 with the ThreadFiber package

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

Threading issue: cancellation Thread cancellation adalah sebuah tugas untuk memberhentikan thread sebelum thread tersebut selesai. esa Contoh: JVM akan mematikan seluruh thread sblm end 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

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 bisa asynchronous / synchronous Sebuah sinyal diaktifkan oleh munculnya suatu peristiwa. Sinyal yang diaktifkan dikirim ke proses. Sesudah dikirim, sinyal tersebut harus ditangani.

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

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

Thread Pools Create a number of threads in a pool where they await work Advantages: Usually slightly faster to service a request with an existing thread than create a new thread Allows the number of threads in the application(s) to be bound to the size of the pool

Windows XP Threads Implements the one-to-one mapping, kernel- levell Each thread contains A thread ID Registers set Stack 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) kernel space KTHREAD (kernel thread block) kernel space TEB (thread environment block) user space

Thread priorities i i THREAD_PRIORITY_IDLE THREAD_PRIORITY_LOWEST THREAD_PRIORITY_BELOW_NORMAL THREAD_PRIORITY_NORMAL THREAD_PRIORITY_ABOVE_NORMAL ABOVE THREAD_PRIORITY_HIGHEST THREAD_PRIORITY_TIME_CRITICAL

Linux Thread Threads pada linux mulai digunakan di kernel versi 2.2 Threads lebih dianggap sebagai tasks Linux menyediakan 2 system call yg berhubungan dgn Thread : 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 Java threads may be created by: Extending Thread class Implementing the Runnable interface

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

Contoh extend Thread

Lainnya

Implements Runnable

Hasil

NEXT Process Schedulling / Penjadwalan