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

dokumen-dokumen yang mirip
Thread juga sering disebut Lightweight process. Proses tradisional ( Heavyweight process ) mempunyai thread tunggal

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

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

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

Proses dan Threads Dalam SISTEM OPERAS

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

SISTEM OPERASI THREAD DAN MULTITHREADING

TUGAS SISTEM OPERASI THREAD

Perbedaan Anatara Thread dan Proses

TUGAS SISTEM OPERASI

Secara tidak langsung, proses merupakan program yang sedang dieksekusi.

TUGAS SISTEM OPERASI

Pertemuan #2: Proses dan Thread

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

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

THREAD Ulir utas thread

ARTIKEL TENTANG THREAD Definisi Thread

THREADS PADA WINDOWS Julius Bata /

TUGAS Mata Kuliah : Sistem Terdistribusi

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

Perbedaan Kernell Linux dan Windows

KONSEP PROSES (CONT.)

PROSES DAN THREADS DALAM SISTEM OPERASI

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI

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

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

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

Dimana thread digunakan?

Rahmady Liyantanto liyantanto.wordpress.com

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

TUGAS MATA KULIAH SISTEM OPERASI ARTIKEL TENTANG PERBEDAAN PROSES DAN THREAD

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

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

Proses. Sistem Terdistribusi Reza Aditya Firdaus, S.kom

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

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

Proses dan Penjadwalan

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

PROSES. Sistem Terdistribusi

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

Bab 3. Proses. Gambar 3.1. Thread

Dukungan Sistem Operasi :

Algoritma Penjadwalan 2

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

Studi Kasus Kernel Linux

Struktur Sistem Komputer

Arsitektur Komputer Sistem Operasi

Sistem Operasi Komputer

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

Text Berisi kode programnya

Struktur Sistem Komputer. Abdullah Sistem Informasi Universitas Binadarma

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

Sistem Operasi PENGATURAN PROSES

Sistem Operasi Mobile

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

Tujuan Utama : agar proses-proses berjalan secara konkuren dan untuk memaksimalkan kinerja dari CPU.

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

Sistem Operasi. Proses dan Thread

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

Sistem Operasi. Proses (Process) 2016

Keuntungan Virtual Memory

Bab 3.Proses dan Penjadualan

Struktur Sistem Komputer

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

SINKRONISASI DATA DENGAN PEMROSESAN PARALEL MENGGUNAKAN MODEL PEMROGRAMAN MAPREDUCE

SISTEM OPERASI. Belajar SO?

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

Konsep Sistem Operasi (Sesi 2)

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

Sistem Operasi. Proses dan Penjadwalannya. Aditya Wikan Mahastama Antonius Rachmat C

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

CPU-I/O Burst Cycle adalah. siklus tunggu I/O dan eksekusi CPU. Proses dieksekusi secara bergantian

Jawaban Soal UTS Instalasi dan Penggunaan Sistem Operasi Semester Genap 2014/2015 D3 Teknik Informatika, Fakultas Ilmu Terapan, Universitas Telkom

Sistem Operasi. Teknologi Informasi

Sistem Operasi - PCB (process control block)

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

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

Pemrograman Memori Shared: Thread dan OpenMP

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

Sistem Operasi Penjadwalan Proses

Pemgantar Teknologi Informasi

Aditya Wikan Mahastama

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

1.PCB (process control block)

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

RENCANA PROGRAM DAN KEGIATAN PEMBELAJARAN SEMESTER

Bab 10. Konsep Proses

BAB II LANDASAN TEORI

Bab 13. Konsep Penjadwalan

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Sistem Operasi Waktu Nyata (RTOS-Real time Operating System)

Hendy Kusumo Nugroho ( kelas A)

Pemrograman Lanjut. Interface

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

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

Kelompok 12. Thread Java

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

Transkripsi:

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

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

Single and Multithreaded Processes

Thread Life Cycles

Keuntungan Thread Responsiveness 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. Ekonomis Utilization of multiprocessor architectures: setiap thread dapat berjalan secara paralel pada prosesor yang berbeda.

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

Multithreading Server

Single-core Multi-core (paralel)

Fakta Pembuatan Proses lebih berat dan lambat daripada Thread Contoh pada Solaris: Pembuatan proses 30x lebih lama daripada Thread Context Switch Proses 5x lebih lama daripada Context Switch Thread

User Threads User threads didukung diatas kernel dan diimplementasikan oleh thread library pada level user. User-Library digunakan mendukung pembuatan thread, penjadwalan, dan manajemen tanpa bantuan langsung dari kernel. Karena kernel tidak menyadari adanya userlevel 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.net threads

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

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 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 Multiple user thread unable to run in parallel on multiprocessors

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

Multithreading model Many to many model memetakan banyak user-level thread ke <= kernel thread User dapat membuat banyak 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

Threading issue: cancellation Thread cancellation adalah sebuah tugas untuk memberhentikan thread sebelum thread tersebut selesai. Contoh: JVM akan mematikan seluruh thread sblm end Thread yang akan diberhentikan disebut target thread. Dua skenario thread cancellation : 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 yang digunakan 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 atau divison by zero Sinyal Asynchronous: Sinyal dimunculkan oleh peristiwa di luar proses tersebut Ketika ada proses menutup window (ALT + F4)

Signal handling Penerima sinyal dapat: 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

Windows XP Threads Implements the one-to-one mapping, kernellevel 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 THREAD_PRIORITY_IDLE THREAD_PRIORITY_LOWEST THREAD_PRIORITY_BELOW_NORMAL THREAD_PRIORITY_NORMAL THREAD_PRIORITY_ABOVE_NORMAL THREAD_PRIORITY_HIGHEST THREAD_PRIORITY_TIME_CRITICAL

Linux Thread Threads pada linux mulai digunakan di kernel versi 2.2 Threads lebih dianggap sebagai tasks Context switch Linux lebih cepat dari Windows

Java Threads Java threads are managed by the JVM Java threads may be created by: Extending Thread class (subclassing) Implementing the Runnable interface

Java Threads Keunggulan Java Threads adalah: JVM menggunakan prioritas preemptive berdasarkan algoritma penjadwalan Semua threads di Java mempunyai prioritas (1-10) Jika ada 2 thread yang prioritasnya sama, digunakan algoritma First In First Out (FIFO)

Java vs Windows Thread

Contoh extend Thread

Lainnya

Implements Runnable

Hasil

NEXT Process Schedulling / Penjadwalan