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

dokumen-dokumen yang mirip
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

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

TUGAS SISTEM OPERASI

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

Proses dan Threads Dalam SISTEM OPERAS

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

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

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

PROSES DAN THREADS DALAM SISTEM OPERASI

TUGAS SISTEM OPERASI THREAD

Secara tidak langsung, proses merupakan program yang sedang dieksekusi.

TUGAS SISTEM OPERASI

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

PROSES. Sistem Terdistribusi

THREAD Ulir utas thread

KONSEP PROSES (CONT.)

Rahmady Liyantanto liyantanto.wordpress.com

Proses. Sistem Terdistribusi Reza Aditya Firdaus, S.kom

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

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

TUGAS Mata Kuliah : Sistem Terdistribusi

Perbedaan Anatara Thread dan Proses

PERBEDAAN PROSES DAN THREAD PADA SISTEM INFORMASI

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

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

TUGAS MATA KULIAH SISTEM OPERASI ARTIKEL TENTANG PERBEDAAN PROSES DAN THREAD

Dimana thread digunakan?

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

Algoritma Penjadwalan 2

Bab 3. Proses. Gambar 3.1. Thread

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

Sistem Operasi. Proses dan Thread

Sistem Terdistribusi Proses. S1 Sistem Komputer Musayyanah, S.ST, MT

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

THREADS PADA WINDOWS Julius Bata /

Pertemuan #2: Proses dan Thread

ARTIKEL TENTANG THREAD Definisi Thread

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

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

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Danang Puspito Jati A

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

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

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

Proses dan Penjadwalan

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

Sistem Operasi - PCB (process control block)

Bab 3.Proses dan Penjadualan

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

1. Hardware terdistribusi. 2. Program terdistribusi. Nama : Gede Doddi Raditya Diputra NIM : Kelas : 5.C

Kelompok 12. Thread Java

DAFTAR ISI 4. 6 Name Service Pengenalan Tujuan Penamaan Contoh Penamaan yang memberikan kemampuan keamanan

Andi Gustanto M / Kelas 22 / TI

Bab 3. Proses. Gambar 3.1. Thread

PROSES SISTEM INFORMASI TERDISTRIBUSI

Sistem Operasi PENGATURAN PROSES

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

4. SISTEM OPERASI TERDISTRIBUSI

Sistem Operasi Mobile

Sistem Operasi Komputer

SISTEM OPERASI (MANAJEMEN PROSES)

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

Mata Kuliah : Sistem Operasi Kelas : Teknik Informatika 4

1.PCB (process control block)

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

PROSES & THREADS 2 AGUS PAMUJI. SISTEM OPERASI - Proses & Threads

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

BAB 1 PENDAHULUAN UKDW

Struktur Sistem Komputer

Hendy Kusumo Nugroho ( kelas A)

Perbedaan Proses dan Program

STRUKTUR SISTEM OPERASI

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

GARIS GARIS BESAR PROGRAM PENGAJARAN/GBPP (Rencana Kegiatan Belajar Mengajar)

Studi Kasus Kernel Linux

Struktur Sistem Komputer

Bab 3: Proses-Proses. Konsep Proses

Dukungan Sistem Operasi :

Sistem Operasi AGUS PAMUJI. Teknik Informatika

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

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

4 Implementasi Proses

Sistem Terdistribusi Penanganan Proses

Bab 10. Konsep Proses

Bermain dengan Infrastruktur Virtual : VMware vsphere (Tulisan Keenam)

Bab 2: Struktur Sistem Operasi. Komponen Sistem Secara Umum

BAB I PENDAHULUAN I.1 Latar Belakang

Pertemuan 1# Pengantar Sistem Operasi. Dr. M. Arief Soeleman, M.Kom

Bab 3: Proses-Proses. Konsep Proses

Sistem Operasi Proses- Dini Triasanti MANAJEMEN PROSES

Konsep Proses. Proses adalah suatu program yang sedang diesekusi (running) Pada saat proses berlangsung :

STRUKTUR SISTEM OPERASI

Text Berisi kode programnya

Konsed Dasar Penjadualan Proses

Operasi pada Sistem Operasi. Avida Endriani Reza Gusty Erlangga D3 TEKNIK INFORMATIKA A

1.Proses control block dalam istilah lain Taks controlling block, Taks struct, atau Switchframe. Jelaskan dan berikan gambaran proses control block?

Sistem Operasi. Teknologi Informasi

Struktur OS. Fak. Teknik Jurusan Teknik Informatika.

Transkripsi:

Konsep Thread

Definisi (1) Merupakan sebuah status eksekusi (running, ready, dll.) Sering disebut dengan lightweight process Merupakan unit dasar dari penggunaan CPU, yang terdiri dari Thread_ID, program counter, register set, dan stack. Sebuah thread berbagi code section, data section, dan sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses yang sama.

Definisi (2) Single-threading Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Multi-threading threading Sebuah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas pada satu satuan waktu.

Single dan Multi-Threading

Contoh (1) Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multi-threading threading. Sebuah aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima data dari internet.

Contoh (2) 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 pada satu waktu. Bila ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani.

Contoh (3) Solusinya adalah dengan membuat web server menjadi multi-threading 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.

Benefit Responsiveness Resource Sharing Economy Utilization of Multi-Processor Architectures

Thread dalam Sistem Operasi Sistem operasi telah mendukung proses multithreading. Setiap sistem operasi memiliki konsep tersendiri dalam pengimplementasiannya. Sistem operasi dapat mendukung thread pada tingkatan kernel maupun tingkatan pengguna.

Thread Pengguna (User Threads) 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

Thread Kernel (Kernel Threads) 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.

Model Multi-threading threading Many-to to-one One-to to-one Many-to to-many

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

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

Many-to 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.

Penggunaan Thread (1) Model Many-to to-one mengizinkan developer untuk membuat user thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwal oleh kernel pada suatu waktu. Model One-to to-one menghasilkan concurrency yang lebih tetapi developer harus hati-hati untuk tidak menciptakan terlalu banyak thread dalam suatu aplikasi (dalam beberapa hal,, developer hanya dapat membuat thread dalam jumlah yang terbatas).

Penggunaan Thread (2) Model Many-to to-many tidak memiliki kelemahan seperti kedua model sebelumnya. Developer dapat membuat user thread sebanyak yang diperlukan, dan kernel thread yang bersangkutan dapat berjalan secara pararel pada multiprocessor. Jika suatu ketika thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi.

Thread Cancellation (1) Thread cancellation ialah pemberhentian thread sebelum tugasnya selesai. Misalnya jika dalam program Java hendak mematikan Java Virtual Machine (JVM). Sebelum JVM dimatikan, maka seluruh thread yang berjalan harus dihentikan terlebih dahulu. Thread yang akan diberhentikan disebut sebagai target thread.

Thread Cancellation (2) Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda: Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. Deferred cancellation: : target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.

Thread Pools Thread Pools adalah cara kerja dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools.

Contoh Thread Pools (1) 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.

Contoh Thread Pools (2) Solusinya adalah dengan penggunaan Thread Pools. Cara kerjanya adalah dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools. Jadi ketika server menerima permintaan maka maka ia akan membangunkan thread dari pool dan jika thread tersedia maka permintaan tersebut akan dilayani.

Contoh Thread Pools (3) Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu thread yang bebas.

Keuntungan Thread Pools 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 penting pada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent.