Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan

Slides:



Advertisements
Presentasi serupa
LOGO Kelompok 5 Rifki Baidhowi Ida Fitriana Satya Bagus F Sistem Operasi Kelas E Teknik Informatika Sistem Operasi Kelas E Teknik.
Advertisements

Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Queue (Antrian).
Kelompok 5 “Sinkronisasi Proses” Sistem Operasi Kelas F
Tim Teaching Grant Mata Kuliah Sistem Operasi
SINKRONISASI Pertemuan 5.
STRUKTUR DASAR ALGORITMA
STRUKTUR PERULANGAN Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan. Struktur.
7. PENJUMLAHAN DUA BUAH MATRIKS
MATERI 8 CHOICE / PILIHAN.
PERTEMUAN 6 Algoritma Presented by : Sity Aisyah, M.Kom
QUEUE II. IMPLEMENTASI QUEUE
Pemrograman JAVA (TIB09)
PERTEMUAN 4 Penyeleksian kondisi
Algoritma dan Struktur Data
Sistem Operasi (Operating Systems) Minggu 5
Oleh Nila Feby Puspitasari
“Process Synchronization”
Pertemuan 4 Manajemen Proses 2.
Sinkronisasi Proses Catur Iswahyudi.
Masalah Klasik Komunikasi Antar Proses
Concurrency 1: Mutual Exclusion dan Sinkronisasi
Bab 2 – b PERINTAH 2 B Percabangan. PERCABANGAN Tidak setiap baris program akan dikerjakan Hanya yang memenuhi syarat (kondisi) Syarat terdiri dari operand-operand,
Pemprograman Terstruktur 1
Struktur kontrol.
STRUKTUR DATA Queue atau Antrian.
Stack.
Sinkronisasi Proses.
1 Pertemuan 6 Komunikasi antar Proses (IPC) Lanjutan Matakuliah: T0316/sistem Operasi Tahun: 2005 Versi/Revisi: 5 OFFCLASS01.
SINKRONISASI.
PROSES BAB 2 By Abdul Kadir.
STRUKTUR DASAR ALGORITMA
Dasar Algoritma dan Pemrograman
Dasar-Dasar Pemrograman
Processes Process Model Process Hierarchies
STRUKTUR DASAR ALGORITMA
Sinkronisasi Proses.
Struktur Organisasi Data 2
STRUKTUR DASAR ALGORITMA
Process Scheduling SISTEM OPERASI Slide perkuliahan
“Sinkronisasi Proses”
Manajemen Memori SISTEM OPERASI Slide perkuliahan
Algoritma Pemrograman
QUEUE (ANTRIAN ) Disusun Oleh : Kelompok 2 Siti Hajar ( )
Metode Perancangan Program
Memori Virtual SISTEM OPERASI Slide perkuliahan
NAMA : SITI HAJAR NIM : UNIT : B NO.HP : 0852 – 2000 – 3786.
Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan
Nama : Siti Hajar Nim : Unit : B/III No.Hp : 0852 –
Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan
Manajemen Memori SISTEM OPERASI Slide perkuliahan
Algoritma dan Pemrograman
Konkurensi 2 Sinkronisasi dan Semaphore
Circular QUEUE 6.3 & 7.3 NESTED LOOP.
Memori Virtual SISTEM OPERASI Slide perkuliahan
Sistem Operasi: Penjadwalan Proses
AP2A Perulangan & Array PJ : Wawan Setiawan 07
Struktur Dasar Algoritma dan Runtunan
MATERI PERKULIAHAN ANALISIS ALGORITMA
PERCABANGAN DAN PERULANGAN
Memori Virtual SISTEM OPERASI Slide perkuliahan
Oleh : UMMU ZAHRA ALGORITMA.
Konkurensi SISTEM OPERASI Slide perkuliahan
Manajemen Memori SISTEM OPERASI Slide perkuliahan
Algoritma dan Struktur Data
Konkurensi SISTEM OPERASI Slide perkuliahan
MATERI PERKULIAHAN SISTEM OPERASI
MATERI PERKULIAHAN TEKNIK KOMPILASI
Sesi 5. Sinkronisasi Proses
STRUKTUR DASAR ALGORITMA
Transcript presentasi:

Konkurensi (Cont’d) SISTEM OPERASI Slide perkuliahan Sumber : - Modern Operating System, Tanenbaum Operating System, Internal and Design Principles, William Stallings Modul SO, Johni S. Pasaribu Ken Kinanti Purnamasari

SEMAPHORE 3 Operasi yang bernilai integer : semaphore  inisialisasi dengan nilai positif wait()  mengurangi nilai semaphore signal()  menambah nilai semaphore

SEMAPHORE Berdasarkan pembebasan dari blok, dibagi 2 : Strong semaphore  membuat aturan pemilihan proses yang akan dibebaskan dari blok. Weak semaphore  tidak membuat aturan pemilihan proses yang akan dibebaskan dari blok.

Program Counting_Semaphore; Deklarasi type semaphore = record (count : integer; queue : queueType;) function wait(sema : semaphore) sema.count--; if (sema.count < 0) then //masukkan proses P ke sema.queue //blok proses P; endif endfunction function signal(sema : semaphore) sema.count++; if (sema.count <= 0) then //hapus proses P dari sema.queue //masukkan P ke ready list;

Program Binary_Semaphore; Deklarasi type binary_semaphore = record (sign : boolean; queue : queueType;) function waitB(sema : binary_semaphore) if (sema.queue = 1) then sema.value = 0 else //masukkan proses P ke sema.queue //blok proses P; endif endfunction function signalB(sema : semaphore) if (sema.queue is empty) then sema.value = 1 //hapus proses P dari sema.queue //masukkan P ke ready list;

MUTEX on SEMAPHORE Blocked Semaphore A B C 1 B -1 C B -2 C -1 1 semWait(lock) semWait(lock) B -1 semWait(lock) C B -2 semSignal(lock) C -1 semSignal(lock) semSignal(lock) 1

Kasus SEMAPHORE Producer / Consumer (Bounded Buffer) Barber Shop Reader / Writer Dining Philosopher

PROBLEM Producer/ Consumer START Consumer Producer

Producer : while (true) { /* procedure item v */ b[in] = v in++ } Consumer : while (in <= out) /* do nothing */ w = b[out]; out++; /* consume item w */

/* program producerConsumer */ int n; binary_semaphore s = 1, delay = 0; void producer() { while (true) { produce(); semWaitB(s); append(); n++; if (n==1) semSignalB(delay); semSignalB(s); }

void consumer() { int m; /* local variable */ semWaitB(delay); while (true) { semWaitB(s); take(); n--; semSignalB(s); consume(); if (m==0) semWaitB(delay); } void main() n = 0; parbegin (producer, consumer);

Tempat tunggu (berdiri) PROBLEM Barber Shop Kursi Barber Tempat Duduk Pintu masuk Tempat tunggu (berdiri)

Data : var kursiTunggu := N; waiting : integer; customers, barbers, waitingmutex : semaphore; customers := 0; barbers := 0; waitingmutex := 1; waiting := 0; Proses Barber : wait(customer); //tidur, jika pelanggan tidak ada wait(waitingmutex); //akses ke antrian tunggal waiting := waiting – 1 //kurangi jumlah antrian signal(barbers); //barber siap melayani signal(waitingmutex); //lepaskan akses ke antrian

Proses Customer : signal(waitingmutex); //lepaskan akses antrian if (waiting < kursiTunggu) { waiting := waiting + 1; //tambah antrian signal(customers); //tambah antrian wait(barbers); //tunggu barber // dilayani }else { signal(waitingmutex)}

Readers / Writers Reader : hanya bisa membaca dari file PROBLEM Readers / Writers Reader : hanya bisa membaca dari file Writer : hanya bisa menulis ke file Aturan Reader / Writer : Beberapa Reader boleh membaca file bersamaan Dalam satu waktu, hanya satu Writer yang boleh menulis ke file Jika ada Writer yang sedang menulis, tidak ada Reader yang boleh membaca file

x Readers / Writers A : ReadP(); B : WriteP(5); A : WriteP(10); PROBLEM Readers / Writers Process P A : ReadP(); B : WriteP(5); A : WriteP(10); B : ReadP(); x

PROBLEM Dining Philosoper

Philosopher i: Repeat wait (chopstick[i]) wait (chopstick[i+1] mod 5) … eat signal (chopstick[i]) signal (chopstick[i+1] mod 5) think Until FALSE