BAB 4. SINKRONISASI & DEADLOCK

dokumen-dokumen yang mirip
Bab 6: Sinkronisasi Proses. Latar Belakang

Bab 5. Sinkronisasi Proses POKOK BAHASAN: TUJUAN BELAJAR: 5.1 LATAR BELAKANG

Apa yang akan dipelajari?

Sinkronisasi dan Deadlock

Sinkronisasi dan Deadlock

Monitor. Process Synchronization. SISTIM OPERASI (IKI-20230) ProcessSynchronization Ch. 6. Johny Moningka

Process Synchronization

B. Jawablah dengan ringkas dan lengkap. (Jawaban tidak lebih dari 10 kalimat) (Nilai 40) Solusi: kata kunci dalam huruf miring.

Laporan Tugas Scheduling Pengantar Sistem Operasi

CRITICAL REGIONS DAN MONITORS

Bab 22. Perangkat Sinkronisasi II

two/more processor operate in unison.

Proses Sinkronisasi. Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

ILUSTRASI KLASIK: BOUNDED BUFFER

7 Sinkronisasi. Proses Sinkronisasi. Overview (1) Overview (2) Latar Belakang Masalah Critical Section Sinkronisasi Hardware Semaphores Monitors

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization

Analisis Penerapan Semaphore dalam Mengatasi Masalah Sinkronisasi Dining Philosophers.

Concurrency 1 : Mutual Exclusion dan Sinkronisasi (P ( e P rtemuan ua ke-9) 9 September 2014

Sistem Operasi. Critical section, konkurensi, mutasi exclusion, starvation dan deadlock. Juliansyahwiran, S. Kom, MTI. Modul ke: Fakultas FASILKOM

MANAJEMEN PROSES. Satu Empat Model program counter program counter Proses

Paralel processing Benefits Job level Process level Thread level

Sistem Operasi Pertemuan 6 Concurrency: Deadlock & Starvation. H u s n i Lab. Sistem Komputer & Jaringan Teknik Informatika Univ.

Sinkronisasi dan Deadlock Sistem Operasi

BAB II MANAJEMEN PROSES

Bab 3: Proses-Proses. Konsep Proses

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

Bab 19. Solusi Critical Section

Sistem Operasi Komputer. Pertemuan VI Proses Sinkronisasi

Critical Section Mutual Exclusion Semaphore Tugas. Sinkronisasi Thread. Praktikum Sistem Operasi. Ilmu Komputer IPB. Sinkronisasi Thread

Bab 22. Sinkronisasi Linux Pendahuluan

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Bab 26. Readers/Writers

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

The Critical Section Problem Algorithm III. Muhammad Fikry Hazmi (143) Kresna Ridwan (145) Guntur Kondang Prakoso (153)

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

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

Bab 27. Sinkronisasi Dengan Semafor

The Critical Section Problem Algorithm III

Rahmady Liyantanto liyantanto.wordpress.com

Sistem Operasi. Proses dan Thread

Bab 3: Proses-Proses. Konsep Proses

Monitor. Makalah Sistem Operasi. Disusun oleh :

Pertemuan #3: Sinkronisasi dan Deadlock

BAB II TINJAUAN PUSTAKA

Komunikasi & Sinkronisasi Proses

PROSES DAN THREADS DALAM SISTEM OPERASI

Konkurensi merupakan landasan umum perancangan sistem operasi. Proses-proses disebut konkuren jika proses-proses berada pada saat yang sama.

Tahun Akademik 2014/2015 Semester II. DIG1I3 - Instalasi dan Penggunaan Sistem Operasi. Mutual Exclusion dan Sinkronisasi

Bab 3.Proses dan Penjadualan

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

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

CRITICAL REGION - SEMAPHORE MUTEX DALAM CPU OS SIMULATOR V

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

KONSEP PROSES STATUS PROSES

BAB I MANAJEMEN PROSES

Konsep Lanjut Pemrograman Berorientasi Obyek

Untuk mengatasi kondisi pacu harus dijamin tidak boleh dua proses atau lebih memasuki critical section yang sama secara bersamaan.

KOMUNIKASI ANTAR PROSES

Soal Latihan Sistem Embedded

TUGAS SISTEM OPERASI

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

SISTEM OPERASI. Sri Kusumadewi

Class Thread juga menyediakan beberapa constants sebagai nilai prioritas. Tabel berikut ini adalah rangkuman dari class Thread.

Aplikasi Graf dalam Pendeteksian Deadlock

Sistem operasi menjalankan banyak dan beragam program :

Pertemuan V Penjadwalan Proses

Sistem Operasi PENGATURAN PROSES

SISTEM OPERASI (MANAJEMEN PROSES)

Perangkat Keras Masukan/Keluaran. Kelompok : Intan Sari H. H. Z Verra Mukty

A. Deskripsi Singkat. B. Tujuan Instruksional Umum (TIU) C. Bahasan. SILABUS MATA KULIAH Kode MK: Semester: Bobot SKS: 3. Matakuliah : SISTEM OPERASI

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

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

Penjadualan CPU. Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

Readers-Writers & The Dining Philosophers Problem

Dosen pengampu : Mohamad Dani Sifat : Tutup buku dan peralatan elektronik

Andi Gustanto M / Kelas 22 / TI

Konkurensi. Faikul Umam

Text Berisi kode programnya

4 Proses. Proses. Konsep Proses. Proses. Prosesor mengeksekusi program-program komputer Prosesor adalah sebuah chip dalam sistem

MAKALAH DEADLOCK. DIAJUKAN UNTUK MEMENUHI TUGAS MATA KULIAH Sistem Operasi Dosen Penampu Bapak Adi Sucipto, Ir., M.Kom. oleh :

Pertemuan #2: Proses dan Thread

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

Sistem Operasi. Konsep Dasar. Histogram Waktu CPU-Burst. Penjadwal CPU PENJADWALAN CPU. Pertukaran Urutan Pada CPU Dan I/O Burts

Sistem operasi menjalankan banyak dan beragam program :

Penjadualan CPU. Konsep Dasar. Penjadualan CPU. Penggantian Rangkaian Urutan CPU dan I/O Burst

SOLUSI QUIZ 2 SISOP CS3613

PEDOMAN WAWANCARA UNTUK PENGAJAR

T UGAS STUDI KASUS SISTEM OPERASI. Mutual Exclusion. Mata Kuliah : Sistem Operasi [ CF 1322] Disusun Oleh :

Kuliah#7 TSK617 Pengolahan Paralel - TA 2011/2012. Eko Didik Widianto

Mahasiswa dapat memahami konsep dasar deskripsi dan kontrol pada proses

BAB 2. Class Thread. Setelah mempelajari modul ini peserta diharapkan dapat: Mengenal Kelas Thread Menggunakan Kelas Thread dalam aplikasi

Perbedaan Anatara Thread dan Proses

Pemrograman Fery Updi,M.Kom

MODUL 4 KONSEP PROSES, KONKURENSI, MANAJEMEN PROSES (1) M. R A J A B F A C H R I Z A L - S I S T E M O P E R A S I - M O D U L 4

Pertemuan 4 KONKURENSI

Bab 10. Konsep Proses

Concurrency C oncurrency 2 : Deadlock dan Starvation (P ( ertemuan ke ert -15) November 2014

Konsep Dasar Kriteria Penjadualan Algoritma Penjadualan Penjadualan Multiple-Processor Penjadualan Real-Time Evaluasi Algorithm

Disusun oleh: Endro Ariyanto. Prodi S1 Teknik Informatika Fakultas Informatika Universitas Telkom

Transkripsi:

BAB 4. SINKRONISASI & DEADLOCK Sinkronisasi Perangkat Keras dan Semafor Oleh Muhammad Irfan Nasrullah Email : ewoh@gawab.com 1

Sinkronisasi Perangkat Keras Mengapa perlu sinkronisasi perangkat keras? 2

Metode pendekatan perangkat keras Processor Synchronous Men-disabled interrupt -----> Mutual Exlusion Memory Synchronous Dukungan hardware untuk Instruksi Atomic 3

Instruksi Atomic Instruksi i++ dalam bahasa mesin : Load Inc Store R1, i R1 i, R1 4

Data Structure for Hardware Solutions public class HardwareData { private boolean data; public HardwareData(boolean data) { this.data = data; public boolean get() { return data; public void set(boolean data) { this.data = data; // Continued on Next Slide 5

Data Structure for Hardware Solutions - cont public boolean getandset(boolean data) { boolean oldvalue = this.get(); this.set(data); return oldvalue; public void swap(hardwaredata other) { boolean temp = this.get(); this.set(other.get()); other.set(temp); 6

Thread Using get-and and-set Lock // lock is shared by all threads HardwareData lock = new HardwareData(false); while (true) { while (lock.getandset(true)) Thread.yield(); criticalsection(); lock.set(false); noncriticalsection(); 7

Definisi: Semafor 1. Suatu variabel int yang digunakan untuk menghitung banyaknya proses yang sedang aktif atau yang sedang tidur. <buku kunyuk $Revision: 2.2 $ Edisi> 2. Suatu variabel int, selain inisialisasi, hanya dapat diakses melalui 2 subrutin yang atomik: P (for wait; proberen dalam Belanda) dan V (for signal; verhogen dalam Belanda). <Silberchatz, Galvin & Gagne, 2002> 3. Suatu variabel yang memiliki nilai int. <William Stallings slide chapter 04> 8

Binary Semafor Jenis-jenis Semafor - Semafor yang hanya bernilai 1 dan 0. - Digunakan untuk mutual exclusion: membatasi hanya ada satu proses pada critical section. Counting Semafor - Semafor yang dapat bernilai 1, 0 dan integer lainnya. 9

Subrutin Wait dan Signal Wait -Subrutinwait dalam pseudocode: wait (S) { while (S 0) ; //no-op S--; - mengurangi 1 nilai dari Semafor S Signal -Subrutinsignal dalam pseudocode: signal(s) { S++; - menambah 1 nilai dari Semafor S 10

2 Versi Subrutin Wait Spinlock Waiting 00 void waitspinlock( int semaphore[] ) 01 { 02 while(semaphore[0] <= 0) {.. Do nothing.. // spinlock 03 semaphore[0]--; 04 Non-spinlock Waiting 10 void synchronized waitnonspinlock( int semaphore []) 11 { 12 while(semaphore[0] <= 0) { 13 wait(); // blocks thread 14 15 semaphore[0]--; 16 11

2 Versi Subrutin Wait Spinlock Waiting - Proses menunggu dengan menjalankan perintah-perintah yang tidak ada artinya. - Proses masih dalam keadaan running state. - Keuntungannya: pada lingkungan multiprocessor tidak diperlukannya context switch. - Kerugiannya: menghabiskan CPU cycle. Non-spinlock Waiting - Proses memblock dirinya sendiri dan secara otomatis akan membawa proses tersebut ke dalam waiting queue. - Proses tidak akan aktif sebelum ada yang membangunkannya. - Keuntungannya: CPU cycle dapat digunakan proses lain dalam mengeksekusi perintah-perintah yang berguna. 12

2 Versi Subrutin Signal // Signal Spinlock 00 void signalspinlock( int semaphore []) 01 { 02 semaphore[0]++; 03 // Signal Non-Spinlock 10 void synchronized signalnonspinlock( int semaphore []) 11 { 12 semaphore[0]++; 13 notifyall(); // membawa waiting thread ke ready queue 14 13

Solusi Critical Section Problem 3 tahap dalam menyelesaikan masalah Critical Section: 1. Pintu masuk (Entry Section) 2. Critical Section 3. Pintu keluar (Exit Section) Dengan Semafor, 3 syarat utama sinkronisasi dapat dipenuhi. 1. Mutual Exclusive 2. Make progress 3. Bounded waiting 14

Implementasi Semafor // Entry Section wait(s); wait (S) { while (S 0) ; //no-op S--; // Critical Section. // Exit Section signal(s); signal(s) { S++; 15