SlideShare a Scribd company logo
1 of 16
5.1 Latar Belakang
Proses yang konkuren adalah proses yang lebih
dari satu berada pada saat yang sama. Proses ini tak
sepenuhnya bergantung dengan lain nya dapat juga
berinteraksi,proses konkuren yang dilakukan bersama
dapat membuat data tidak konsisten,agar data
konsisten di butuhkan mekanisme untuk menjamin
eksekusi yang beruutan pada proses yang bekerja
sama.
Pada model shared memory,permasalahan bounded-buffer paling
banyak menyimpan n-1 pada saat yang sama. Modifikasi kode producer
consumer menambahkan variable counter diinisiali 0 dan setiap 1 item baru
di tambahkan ke buffer,definisi data yang digunakan bersama:
#define BUFFER_SIZE 10
typedef struct
. . .
} item;
item buffer[BUFFER_SIZE];
int in = 0;
int out = 0
int counter = 0;
Proses pada producer akan menambahkan satu nilai variable counter sebagai
berikut:
item nextPruduced;
while (1) {
while (counter == BUFFER_SIZE)
; /* do nothing */
buffer[in] = nextProduced;
in = (in +1 ) % BUFFER_SIZE;
counter++;
}
Sebaliknya,pada proses consumer akan menurunkan satu nilai variabel
counter sbb:
item nextConsumed;
while (1) {
while (counter == 0)
; /* do nothing */
nextConsumed = buffer[out];
out = (out +1 ) % BUFFER_SIZE;
counter--;
}
Pernyataan counter++ dan counter– harus dilakukan secara
Automatik,yaitu oprasi yang harus menyelesaikan seluruh pernyataan
tanpa interupsi. Pernyataan counter++ diimplementasikan dalam bahasa
mesin seperti berikut:
register1 = counter
register1 = registe1 + 1
counter = registe1
Sedangkan counter– diimplementasikan seperti berikut:
register1 = counter
register1 = registe1 + 1
counter = registe1
jika mengubah secara terpisah,maka pernyataan yang dijalankan
adalah:
prodecer: register1 = counter (register1 = 5)
prodecer: register1 = register1 + 1 (register1 = 6)
consumer: register2 = counter (register2 = 5)
consumer: register2 – 1 (registe2 = 4)
producer: counter = register1 (counter = 6)
consumer: counter = register2(counter = 4)
Nilai counter kemungkinan bernilai 4 atau 6,sedangkan yang benar
5,situasi ini dimaksud dengan data tidak konsisten. Situasi mengakses
data secara konkuren disebut race condition,dan untuk mencegahnya
proses konkuren harus dilaksanakan sinkronasi.
5.2 Permasalahan Critical-Section
 Suatu sistem terdiri dari n proses dimana semua berkompetisi
menggunakan data yang sama,masing-masing proses mempunyai kode
yang disebut critical section dimana memungkinkan mengubah variabel
umum,sebuah tabel menulis file dan sebagainya.
 permasalahan critical section digunakan untuk mendesain protokol
dimana proses dapat bekerja sama,dan harus meminta ijin untuk
memasuki critical section-nya. Daerah kode untuk
mengimplementasikan nya di sebut dengan entry dan critical section
biasanya diikuti daerah exit,sedangkan kode pengingat terletak pada
daerah remainder.
 Solusi untuk permasalahan critical section harus memenuhi 3 syarat:
1. Mutual Exclusion : apanila proses Pi menjalankan critical section-nya,maka
tidak ada proses lain yang dapat menjalankan nya.
2. Progress : apabila tidak ada proses yang menjalankan critical section-nya dan
terdapat beberapa proses yang akan memasuki critical section-nya,maka
hanya peroses itu yang tidak diprosess dalam daerah pengingat.
3. BoundedWaiting : terdapat batasan jumlah waktu yang diijinkan oleh proses
lain untuk memasuki critical section setelah sebuah proses membuat
permintaan untuk memasuki critical section-nya dan sebelum permintaan
dikabulkan.
Ketika mengimplementasikan suatu algoritma,kita tentukan dahulu
variabel yang digunakan untuk sinkronasi dan menggambarkan hanya proses
P,entry section dan exit section menunnjukan segmen kode yang penting.
do {
critical section
remainder section
} while (1)
gbr 5.1
entry section
exit section
5.2.1 Pemecahan Dua Proses
Pada algoritma terdapat dua proses pada satu waktu yang diberi nama P0
dan P1,agar jelas ketika menyatakan Pi kita gunakan Pj dmana j=1 – i.
5.2.1.1 Algoritma 1
Pertama,semua proses menggunakan variabel integer turn diinisialisasi ke
0 (atau 1)
int turn;
Apabila turn = i,maka proses Pi diijinkan menjalankan critical section
structur dari proses Pi:
do {
while (turn != 1) ;
critical section
turn = j;
reminder section
} while (1) ;
Apabila turn=0 dan Pi siap untuk memasuki critical,P1 tidak dapat
melakukannya meskipun P0 mungkin didalam remainder sectionnya.
kelemahan nya adalah tidak ada informasi yang cukup tentang state dari
masing masing proses,maka variabel turn diganti dengan array.
5.2.1.2 Algoritma 2
Boolean flag[2] ;
Awwal flag [0] = flag [1] = false,jika flag[i] bernilai true,Pi siap memasuki
critical section,strukturnya adalah:
do {
flag[i] := true;
while (flag[j]) ;
critical section
flag [i] = false;
reminder section
} while (1);
Pemecahan ini memenuhi mutual exclusion tetapi belum memenuhi progres.
5.2.1.3 Algoritma 3
Menggunakan dua variabel:
Int turn;
Boolean flag[2];
Flag [0] = flag[1] = false dan nilai turn bernilai 0 atau 1,proses Pi:
do {
flag [i]:= true;
turn = j;
while (flag [j] and turn = j) ;
critical section
flag [i] = false;
remainder section
} while (1);
Algoritma ini memenuhi ketiga syarat critical section dan memecahkan
masalah untuk dua proses.
5.2.2 Algoritma Bakery
Digunakan pemecahan permasalahan critical section pada n proses.
Proses yang mempunyai nomor terkecil yang mampu memasuki critical
sectionpada proses Pi dan Pj,jika i<j maka Pi dilayani lebih
dahulu,skema pemberian nomor menaikan nomor urut misal
1,2,3,3,3,3,3,4,5...dst. Pada algoritma bakery terdapat notasi <= untuk
urutan nomor (ticked #,process id #)sbb:
 (a,b) < (c,d)if a <c or if a = c and b < d
 Mac (a0,..., an-1)is a number,k such that k> ai for i – 0,...,n-1
Variabel umum yang digunakan:
boolean choosing[n];
int number[n];
Struktur data diatas diinisialisasi false dan 0,dari proses Pi:
Do {
choosing[i] = true;
number[i] = max (number[0], number[1] , ..., number [n – 1]) +1;
choosing [i] = false;
for (j = 0; j < n; j++ {
while (choosing [j] ) ;
while ((number [j] != 0) && (number [j],j < number [i],i)) ;
}
critical section
number [i] = 0;
remainder section
} while (1);
5.3 Perangkat Keras Sinkronasi
pada sistem multiprosesor,prosesor pemroses bertindak independe.
Interupsi disatu pemroses tidak mempengaruhi pemrosesan yang lain.
Pemrosesan yang memakai memori bersama maka pengaksesan
terhadap suatu memori dijaga pada tingkat perangkat keras agar tidak
boleh pemrosesan lain tidak dapat mengakses suatu lokasi yang sama
disaat yang sama. Perancang perangkat keras menyediakan berbagai
macam interuksi mesin diantaranya:
 tsl (test and set lock)
 tas atau ts (test and set), digunakan ibm s/360, keluarga motorola m68000,
dan lain-lain.
 cs (compare and set), digunakan ibm 370 series
 exchange (xchg), digunakan intel x68, dsb.
5.3.1 Metode Test and Set
Melakukan testing dan modifikasi isi memori secara atonomik.
5.3.2 Metode Swap
Menggunakan prosedur swap untuk menukar dua variable secara atomic.
5.4 Semaphore
Adalah pendekatan yang dikemukakan Dijkstria. Semaphore adalah alat
untuk sinkronasi yang tidak membutuhkan busy waiting, dan hanya dapat
diaksess melalui operasi atomic yang tak dapat diinterupsi sampai kode
selesai.
Terdapat dua bentuk semaphre,yaitu counting semaphore dan
binary semaphore. Counting semaphore menggunakan nilai
integer yang mempunyai jangkauan tak terbatas,sedangkat
Binary semaphre menggunakan nilai integer dengan jangkauan
0 dan 1 sehingga implementasinya lebih sederhana.
5.5 Masalah Klasik Informasi
5.5.1 Bounded-Buffer
Produsen menghasilkan barang dan konsumen akan
menggunakannya. Ada beberapa batasan yang harus
dipenuhi,yaitu:
 Barang yang dihasilkan oleh prdusen terbatas
 Barang yang dipakai konsumen terbatas
 Konsumen hanya boleh menggunakan barang yang dimaksud
setelah prdusen menghasilkan barang dalam jumlah tertentu
 Produsen hanya boleh memproduksi barang jika konsumen
sudah kehabisan barang.
5.2.2 Reader and Writer Problem
Terdapat dua variasi masalah yaitu:
 Seorang reader tidak perlu menunggu reader lain untuk selesai hanya
karena ada writer menunggu(prioritas reader lebih tinggi)
 Jika ada writer yang sedang menunggu, maka tidak boleh ada reader
lain yang bekerja(prioritas writer lebih tinggi).
5.3.3 Dining-Philosophers Problem
adalah dimana terdapat 5 filosof yang akan makan. Disana disediakan 5
sumpit,jika filosof lapar ia akan mengambil 2 sumpit yaitu ditangan
kanan dan kiri. Adakalanya hanya diambil satusumpit saja. Jika ada
filosof yang mengambil 2 sumpit,maka ada filsf yang harus menunggu
sampai sumpit diletakkan.
Thank You..

More Related Content

Viewers also liked

Canmika Kumara Tungga - Memori Virtual
Canmika Kumara Tungga - Memori VirtualCanmika Kumara Tungga - Memori Virtual
Canmika Kumara Tungga - Memori Virtualbelajarkomputer
 
Lukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System EngineeringLukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System Engineeringbelajarkomputer
 
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10belajarkomputer
 
ICTS 2005 The Proceeding
ICTS 2005 The ProceedingICTS 2005 The Proceeding
ICTS 2005 The Proceedingbelajarkomputer
 
Festivities mn.com jenniferbraun_application of apps_4.11.13
Festivities mn.com jenniferbraun_application of apps_4.11.13Festivities mn.com jenniferbraun_application of apps_4.11.13
Festivities mn.com jenniferbraun_application of apps_4.11.13TypeAEvents
 
Componentes de un proyecto
Componentes de un proyectoComponentes de un proyecto
Componentes de un proyectoAlejandra Cely
 
Competenze narrativo verbali s
Competenze narrativo verbali sCompetenze narrativo verbali s
Competenze narrativo verbali simartini
 
Plantilla presentaciones educa digital regional 2015
Plantilla presentaciones educa digital regional 2015Plantilla presentaciones educa digital regional 2015
Plantilla presentaciones educa digital regional 2015Miguel Nova
 
Portafoliopublicitariaenumerado
PortafoliopublicitariaenumeradoPortafoliopublicitariaenumerado
PortafoliopublicitariaenumeradoTaguatuhú Tyhua
 
Feasibility Studies: Aluminium Sulfate Manufacturing
Feasibility Studies: Aluminium Sulfate ManufacturingFeasibility Studies: Aluminium Sulfate Manufacturing
Feasibility Studies: Aluminium Sulfate ManufacturingIntratec Solutions
 
Griglia competenza narrativa bambino
Griglia competenza narrativa bambinoGriglia competenza narrativa bambino
Griglia competenza narrativa bambinoimartini
 
Derecho laboral en colombia
Derecho laboral en colombiaDerecho laboral en colombia
Derecho laboral en colombiacaacevedor
 
Criteri qualitativi e funzioni dell'osservazione strutturata 1
Criteri qualitativi e funzioni dell'osservazione strutturata 1Criteri qualitativi e funzioni dell'osservazione strutturata 1
Criteri qualitativi e funzioni dell'osservazione strutturata 1imartini
 
prove anni ponte
 prove anni ponte prove anni ponte
prove anni ponteimartini
 
Naomi Berry_212211158_Critical Review
Naomi Berry_212211158_Critical ReviewNaomi Berry_212211158_Critical Review
Naomi Berry_212211158_Critical ReviewNaomi Berry
 
3584 south 47th st
3584 south 47th st3584 south 47th st
3584 south 47th stemileew
 

Viewers also liked (20)

Canmika Kumara Tungga - Memori Virtual
Canmika Kumara Tungga - Memori VirtualCanmika Kumara Tungga - Memori Virtual
Canmika Kumara Tungga - Memori Virtual
 
Lukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System EngineeringLukito Edi Nugroho - Information System Engineering
Lukito Edi Nugroho - Information System Engineering
 
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
Dody Iskandar - Tugas MK Sistem Basis Data - Chapter 9 dan Chapter 10
 
ICTS 2005 The Proceeding
ICTS 2005 The ProceedingICTS 2005 The Proceeding
ICTS 2005 The Proceeding
 
Festivities mn.com jenniferbraun_application of apps_4.11.13
Festivities mn.com jenniferbraun_application of apps_4.11.13Festivities mn.com jenniferbraun_application of apps_4.11.13
Festivities mn.com jenniferbraun_application of apps_4.11.13
 
PRESENTACION
PRESENTACIONPRESENTACION
PRESENTACION
 
Junior tribute :)
Junior tribute :)Junior tribute :)
Junior tribute :)
 
Dreamweaver
DreamweaverDreamweaver
Dreamweaver
 
Componentes de un proyecto
Componentes de un proyectoComponentes de un proyecto
Componentes de un proyecto
 
Competenze narrativo verbali s
Competenze narrativo verbali sCompetenze narrativo verbali s
Competenze narrativo verbali s
 
Plantilla presentaciones educa digital regional 2015
Plantilla presentaciones educa digital regional 2015Plantilla presentaciones educa digital regional 2015
Plantilla presentaciones educa digital regional 2015
 
도시바
도시바도시바
도시바
 
Portafoliopublicitariaenumerado
PortafoliopublicitariaenumeradoPortafoliopublicitariaenumerado
Portafoliopublicitariaenumerado
 
Feasibility Studies: Aluminium Sulfate Manufacturing
Feasibility Studies: Aluminium Sulfate ManufacturingFeasibility Studies: Aluminium Sulfate Manufacturing
Feasibility Studies: Aluminium Sulfate Manufacturing
 
Griglia competenza narrativa bambino
Griglia competenza narrativa bambinoGriglia competenza narrativa bambino
Griglia competenza narrativa bambino
 
Derecho laboral en colombia
Derecho laboral en colombiaDerecho laboral en colombia
Derecho laboral en colombia
 
Criteri qualitativi e funzioni dell'osservazione strutturata 1
Criteri qualitativi e funzioni dell'osservazione strutturata 1Criteri qualitativi e funzioni dell'osservazione strutturata 1
Criteri qualitativi e funzioni dell'osservazione strutturata 1
 
prove anni ponte
 prove anni ponte prove anni ponte
prove anni ponte
 
Naomi Berry_212211158_Critical Review
Naomi Berry_212211158_Critical ReviewNaomi Berry_212211158_Critical Review
Naomi Berry_212211158_Critical Review
 
3584 south 47th st
3584 south 47th st3584 south 47th st
3584 south 47th st
 

Similar to Oktaviani Tri Andini - Sinkronisasi Proses

Sinkronisasi Proses
Sinkronisasi ProsesSinkronisasi Proses
Sinkronisasi ProsesDEDE IRYAWAN
 
Nurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi ProsesNurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi Prosesbelajarkomputer
 
Novita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem OperasiNovita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem Operasibelajarkomputer
 
Muhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem OperasiMuhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem Operasibelajarkomputer
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IIShofura Kamal
 
Sinkronisasi dan deadlock
Sinkronisasi dan deadlockSinkronisasi dan deadlock
Sinkronisasi dan deadlockAlvin Setiawan
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxYaya610291
 
Bernis Sagita - Manajemen proses
Bernis Sagita - Manajemen prosesBernis Sagita - Manajemen proses
Bernis Sagita - Manajemen prosesbelajarkomputer
 
Materi mode format pengalamatan
Materi mode format pengalamatanMateri mode format pengalamatan
Materi mode format pengalamatanAli Must Can
 
Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2Salahuddin Ali
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algoSTMIK AKAKOM
 
PPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPUPPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPUAkbar Yunus
 

Similar to Oktaviani Tri Andini - Sinkronisasi Proses (20)

Sinkronisasi Proses
Sinkronisasi ProsesSinkronisasi Proses
Sinkronisasi Proses
 
Nurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi ProsesNurrohmah - Sinkronisasi Proses
Nurrohmah - Sinkronisasi Proses
 
Os ppt.6
Os ppt.6Os ppt.6
Os ppt.6
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Novita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem OperasiNovita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem Operasi
 
Pertemuan ke 6
Pertemuan ke 6Pertemuan ke 6
Pertemuan ke 6
 
Muhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem OperasiMuhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem Operasi
 
Proses-spec.pdf
Proses-spec.pdfProses-spec.pdf
Proses-spec.pdf
 
Laporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul IILaporan Praktikum Algoritma Pemrograman Modul II
Laporan Praktikum Algoritma Pemrograman Modul II
 
Sinkronisasi dan deadlock
Sinkronisasi dan deadlockSinkronisasi dan deadlock
Sinkronisasi dan deadlock
 
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptxPertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
Pertemuan Ke-5 - Sistem Operasi - Sinkronisasi Proses.pptx
 
Bernis Sagita - Manajemen proses
Bernis Sagita - Manajemen prosesBernis Sagita - Manajemen proses
Bernis Sagita - Manajemen proses
 
Efisiensi algoritma
Efisiensi algoritmaEfisiensi algoritma
Efisiensi algoritma
 
Asistensi 1 mod 3
Asistensi 1 mod 3Asistensi 1 mod 3
Asistensi 1 mod 3
 
Materi mode format pengalamatan
Materi mode format pengalamatanMateri mode format pengalamatan
Materi mode format pengalamatan
 
Pertemuan 8
Pertemuan 8Pertemuan 8
Pertemuan 8
 
Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2Jobsheet pemoograman komputer (vb) isi bab 2
Jobsheet pemoograman komputer (vb) isi bab 2
 
algoritma
algoritmaalgoritma
algoritma
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
PPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPUPPT BAB 6 PENJADWALAN CPU
PPT BAB 6 PENJADWALAN CPU
 

More from belajarkomputer

Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlockbelajarkomputer
 
Sri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPUSri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPUbelajarkomputer
 
Bagas Perdana Putra - Pengenalan Sistem Operasi
Bagas Perdana Putra - Pengenalan Sistem OperasiBagas Perdana Putra - Pengenalan Sistem Operasi
Bagas Perdana Putra - Pengenalan Sistem Operasibelajarkomputer
 
Suci Arrum Meilani - Manajemen Memori
Suci Arrum Meilani - Manajemen MemoriSuci Arrum Meilani - Manajemen Memori
Suci Arrum Meilani - Manajemen Memoribelajarkomputer
 
Agung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori VirtualAgung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori Virtualbelajarkomputer
 
Juliyah - Intelligensi Transfer Sinyal
Juliyah - Intelligensi Transfer SinyalJuliyah - Intelligensi Transfer Sinyal
Juliyah - Intelligensi Transfer Sinyalbelajarkomputer
 
Helen Alida Abilio - Sistem Keamanan
Helen Alida Abilio - Sistem KeamananHelen Alida Abilio - Sistem Keamanan
Helen Alida Abilio - Sistem Keamananbelajarkomputer
 
Helen Alida Abilio - Deadlock
Helen Alida Abilio - DeadlockHelen Alida Abilio - Deadlock
Helen Alida Abilio - Deadlockbelajarkomputer
 
Helen Alida Abilio - Sinkronisasi
Helen Alida Abilio - SinkronisasiHelen Alida Abilio - Sinkronisasi
Helen Alida Abilio - Sinkronisasibelajarkomputer
 
Helen Alida Abilio - Manajemen File
Helen Alida Abilio - Manajemen FileHelen Alida Abilio - Manajemen File
Helen Alida Abilio - Manajemen Filebelajarkomputer
 
Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesbelajarkomputer
 
Helen Alida Abilio - Manajemen Memori
Helen Alida Abilio - Manajemen MemoriHelen Alida Abilio - Manajemen Memori
Helen Alida Abilio - Manajemen Memoribelajarkomputer
 
Helen Alida Abilio - Manajemen input dan output
Helen Alida Abilio - Manajemen input dan outputHelen Alida Abilio - Manajemen input dan output
Helen Alida Abilio - Manajemen input dan outputbelajarkomputer
 
Helen Alida Abilio - Manajemen memori
Helen Alida Abilio - Manajemen memoriHelen Alida Abilio - Manajemen memori
Helen Alida Abilio - Manajemen memoribelajarkomputer
 
Helen Alida Abilio - Konkurensi
Helen Alida Abilio - KonkurensiHelen Alida Abilio - Konkurensi
Helen Alida Abilio - Konkurensibelajarkomputer
 
Helen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen ProsesHelen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen Prosesbelajarkomputer
 
Helen Alida Abilio - Struktur Sistem Operasi
Helen Alida Abilio - Struktur Sistem OperasiHelen Alida Abilio - Struktur Sistem Operasi
Helen Alida Abilio - Struktur Sistem Operasibelajarkomputer
 
Helen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasiHelen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasibelajarkomputer
 
Helen Alida Abilio - Konsep Sistem Komputer
Helen Alida Abilio - Konsep Sistem KomputerHelen Alida Abilio - Konsep Sistem Komputer
Helen Alida Abilio - Konsep Sistem Komputerbelajarkomputer
 

More from belajarkomputer (20)

Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlock
 
Sri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPUSri Astuti - Penjadwalan CPU
Sri Astuti - Penjadwalan CPU
 
Bagas Perdana Putra - Pengenalan Sistem Operasi
Bagas Perdana Putra - Pengenalan Sistem OperasiBagas Perdana Putra - Pengenalan Sistem Operasi
Bagas Perdana Putra - Pengenalan Sistem Operasi
 
Suci Arrum Meilani - Manajemen Memori
Suci Arrum Meilani - Manajemen MemoriSuci Arrum Meilani - Manajemen Memori
Suci Arrum Meilani - Manajemen Memori
 
Agung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori VirtualAgung Deswantoro Adi - Memori Virtual
Agung Deswantoro Adi - Memori Virtual
 
Juliyah - Intelligensi Transfer Sinyal
Juliyah - Intelligensi Transfer SinyalJuliyah - Intelligensi Transfer Sinyal
Juliyah - Intelligensi Transfer Sinyal
 
Helen Alida Abilio - Sistem Keamanan
Helen Alida Abilio - Sistem KeamananHelen Alida Abilio - Sistem Keamanan
Helen Alida Abilio - Sistem Keamanan
 
Helen Alida Abilio - Deadlock
Helen Alida Abilio - DeadlockHelen Alida Abilio - Deadlock
Helen Alida Abilio - Deadlock
 
Helen Alida Abilio - Sinkronisasi
Helen Alida Abilio - SinkronisasiHelen Alida Abilio - Sinkronisasi
Helen Alida Abilio - Sinkronisasi
 
Helen Alida Abilio - Manajemen File
Helen Alida Abilio - Manajemen FileHelen Alida Abilio - Manajemen File
Helen Alida Abilio - Manajemen File
 
Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen proses
 
Helen Alida Abilio - Manajemen Memori
Helen Alida Abilio - Manajemen MemoriHelen Alida Abilio - Manajemen Memori
Helen Alida Abilio - Manajemen Memori
 
Helen Alida Abilio - Manajemen input dan output
Helen Alida Abilio - Manajemen input dan outputHelen Alida Abilio - Manajemen input dan output
Helen Alida Abilio - Manajemen input dan output
 
Helen Alida Abilio - Manajemen memori
Helen Alida Abilio - Manajemen memoriHelen Alida Abilio - Manajemen memori
Helen Alida Abilio - Manajemen memori
 
Helen Alida Abilio - Konkurensi
Helen Alida Abilio - KonkurensiHelen Alida Abilio - Konkurensi
Helen Alida Abilio - Konkurensi
 
Helen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen ProsesHelen Alida Abilio - Manajemen Proses
Helen Alida Abilio - Manajemen Proses
 
Helen Alida Abilio - Struktur Sistem Operasi
Helen Alida Abilio - Struktur Sistem OperasiHelen Alida Abilio - Struktur Sistem Operasi
Helen Alida Abilio - Struktur Sistem Operasi
 
Helen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasiHelen Alida Abilio - Konsep Sistem operasi
Helen Alida Abilio - Konsep Sistem operasi
 
Konsep sistem operasi
Konsep sistem operasiKonsep sistem operasi
Konsep sistem operasi
 
Helen Alida Abilio - Konsep Sistem Komputer
Helen Alida Abilio - Konsep Sistem KomputerHelen Alida Abilio - Konsep Sistem Komputer
Helen Alida Abilio - Konsep Sistem Komputer
 

Oktaviani Tri Andini - Sinkronisasi Proses

  • 1.
  • 2. 5.1 Latar Belakang Proses yang konkuren adalah proses yang lebih dari satu berada pada saat yang sama. Proses ini tak sepenuhnya bergantung dengan lain nya dapat juga berinteraksi,proses konkuren yang dilakukan bersama dapat membuat data tidak konsisten,agar data konsisten di butuhkan mekanisme untuk menjamin eksekusi yang beruutan pada proses yang bekerja sama.
  • 3. Pada model shared memory,permasalahan bounded-buffer paling banyak menyimpan n-1 pada saat yang sama. Modifikasi kode producer consumer menambahkan variable counter diinisiali 0 dan setiap 1 item baru di tambahkan ke buffer,definisi data yang digunakan bersama: #define BUFFER_SIZE 10 typedef struct . . . } item; item buffer[BUFFER_SIZE]; int in = 0; int out = 0 int counter = 0; Proses pada producer akan menambahkan satu nilai variable counter sebagai berikut:
  • 4. item nextPruduced; while (1) { while (counter == BUFFER_SIZE) ; /* do nothing */ buffer[in] = nextProduced; in = (in +1 ) % BUFFER_SIZE; counter++; } Sebaliknya,pada proses consumer akan menurunkan satu nilai variabel counter sbb: item nextConsumed; while (1) { while (counter == 0) ; /* do nothing */ nextConsumed = buffer[out]; out = (out +1 ) % BUFFER_SIZE; counter--; }
  • 5. Pernyataan counter++ dan counter– harus dilakukan secara Automatik,yaitu oprasi yang harus menyelesaikan seluruh pernyataan tanpa interupsi. Pernyataan counter++ diimplementasikan dalam bahasa mesin seperti berikut: register1 = counter register1 = registe1 + 1 counter = registe1 Sedangkan counter– diimplementasikan seperti berikut: register1 = counter register1 = registe1 + 1 counter = registe1 jika mengubah secara terpisah,maka pernyataan yang dijalankan adalah: prodecer: register1 = counter (register1 = 5) prodecer: register1 = register1 + 1 (register1 = 6) consumer: register2 = counter (register2 = 5) consumer: register2 – 1 (registe2 = 4) producer: counter = register1 (counter = 6) consumer: counter = register2(counter = 4)
  • 6. Nilai counter kemungkinan bernilai 4 atau 6,sedangkan yang benar 5,situasi ini dimaksud dengan data tidak konsisten. Situasi mengakses data secara konkuren disebut race condition,dan untuk mencegahnya proses konkuren harus dilaksanakan sinkronasi. 5.2 Permasalahan Critical-Section  Suatu sistem terdiri dari n proses dimana semua berkompetisi menggunakan data yang sama,masing-masing proses mempunyai kode yang disebut critical section dimana memungkinkan mengubah variabel umum,sebuah tabel menulis file dan sebagainya.  permasalahan critical section digunakan untuk mendesain protokol dimana proses dapat bekerja sama,dan harus meminta ijin untuk memasuki critical section-nya. Daerah kode untuk mengimplementasikan nya di sebut dengan entry dan critical section biasanya diikuti daerah exit,sedangkan kode pengingat terletak pada daerah remainder.  Solusi untuk permasalahan critical section harus memenuhi 3 syarat:
  • 7. 1. Mutual Exclusion : apanila proses Pi menjalankan critical section-nya,maka tidak ada proses lain yang dapat menjalankan nya. 2. Progress : apabila tidak ada proses yang menjalankan critical section-nya dan terdapat beberapa proses yang akan memasuki critical section-nya,maka hanya peroses itu yang tidak diprosess dalam daerah pengingat. 3. BoundedWaiting : terdapat batasan jumlah waktu yang diijinkan oleh proses lain untuk memasuki critical section setelah sebuah proses membuat permintaan untuk memasuki critical section-nya dan sebelum permintaan dikabulkan. Ketika mengimplementasikan suatu algoritma,kita tentukan dahulu variabel yang digunakan untuk sinkronasi dan menggambarkan hanya proses P,entry section dan exit section menunnjukan segmen kode yang penting. do { critical section remainder section } while (1) gbr 5.1 entry section exit section
  • 8. 5.2.1 Pemecahan Dua Proses Pada algoritma terdapat dua proses pada satu waktu yang diberi nama P0 dan P1,agar jelas ketika menyatakan Pi kita gunakan Pj dmana j=1 – i. 5.2.1.1 Algoritma 1 Pertama,semua proses menggunakan variabel integer turn diinisialisasi ke 0 (atau 1) int turn; Apabila turn = i,maka proses Pi diijinkan menjalankan critical section structur dari proses Pi: do { while (turn != 1) ; critical section turn = j; reminder section } while (1) ;
  • 9. Apabila turn=0 dan Pi siap untuk memasuki critical,P1 tidak dapat melakukannya meskipun P0 mungkin didalam remainder sectionnya. kelemahan nya adalah tidak ada informasi yang cukup tentang state dari masing masing proses,maka variabel turn diganti dengan array. 5.2.1.2 Algoritma 2 Boolean flag[2] ; Awwal flag [0] = flag [1] = false,jika flag[i] bernilai true,Pi siap memasuki critical section,strukturnya adalah: do { flag[i] := true; while (flag[j]) ; critical section flag [i] = false; reminder section } while (1); Pemecahan ini memenuhi mutual exclusion tetapi belum memenuhi progres.
  • 10. 5.2.1.3 Algoritma 3 Menggunakan dua variabel: Int turn; Boolean flag[2]; Flag [0] = flag[1] = false dan nilai turn bernilai 0 atau 1,proses Pi: do { flag [i]:= true; turn = j; while (flag [j] and turn = j) ; critical section flag [i] = false; remainder section } while (1); Algoritma ini memenuhi ketiga syarat critical section dan memecahkan masalah untuk dua proses.
  • 11. 5.2.2 Algoritma Bakery Digunakan pemecahan permasalahan critical section pada n proses. Proses yang mempunyai nomor terkecil yang mampu memasuki critical sectionpada proses Pi dan Pj,jika i<j maka Pi dilayani lebih dahulu,skema pemberian nomor menaikan nomor urut misal 1,2,3,3,3,3,3,4,5...dst. Pada algoritma bakery terdapat notasi <= untuk urutan nomor (ticked #,process id #)sbb:  (a,b) < (c,d)if a <c or if a = c and b < d  Mac (a0,..., an-1)is a number,k such that k> ai for i – 0,...,n-1 Variabel umum yang digunakan: boolean choosing[n]; int number[n]; Struktur data diatas diinisialisasi false dan 0,dari proses Pi: Do { choosing[i] = true; number[i] = max (number[0], number[1] , ..., number [n – 1]) +1; choosing [i] = false; for (j = 0; j < n; j++ {
  • 12. while (choosing [j] ) ; while ((number [j] != 0) && (number [j],j < number [i],i)) ; } critical section number [i] = 0; remainder section } while (1); 5.3 Perangkat Keras Sinkronasi pada sistem multiprosesor,prosesor pemroses bertindak independe. Interupsi disatu pemroses tidak mempengaruhi pemrosesan yang lain. Pemrosesan yang memakai memori bersama maka pengaksesan terhadap suatu memori dijaga pada tingkat perangkat keras agar tidak boleh pemrosesan lain tidak dapat mengakses suatu lokasi yang sama disaat yang sama. Perancang perangkat keras menyediakan berbagai macam interuksi mesin diantaranya:
  • 13.  tsl (test and set lock)  tas atau ts (test and set), digunakan ibm s/360, keluarga motorola m68000, dan lain-lain.  cs (compare and set), digunakan ibm 370 series  exchange (xchg), digunakan intel x68, dsb. 5.3.1 Metode Test and Set Melakukan testing dan modifikasi isi memori secara atonomik. 5.3.2 Metode Swap Menggunakan prosedur swap untuk menukar dua variable secara atomic. 5.4 Semaphore Adalah pendekatan yang dikemukakan Dijkstria. Semaphore adalah alat untuk sinkronasi yang tidak membutuhkan busy waiting, dan hanya dapat diaksess melalui operasi atomic yang tak dapat diinterupsi sampai kode selesai.
  • 14. Terdapat dua bentuk semaphre,yaitu counting semaphore dan binary semaphore. Counting semaphore menggunakan nilai integer yang mempunyai jangkauan tak terbatas,sedangkat Binary semaphre menggunakan nilai integer dengan jangkauan 0 dan 1 sehingga implementasinya lebih sederhana. 5.5 Masalah Klasik Informasi 5.5.1 Bounded-Buffer Produsen menghasilkan barang dan konsumen akan menggunakannya. Ada beberapa batasan yang harus dipenuhi,yaitu:  Barang yang dihasilkan oleh prdusen terbatas  Barang yang dipakai konsumen terbatas  Konsumen hanya boleh menggunakan barang yang dimaksud setelah prdusen menghasilkan barang dalam jumlah tertentu  Produsen hanya boleh memproduksi barang jika konsumen sudah kehabisan barang.
  • 15. 5.2.2 Reader and Writer Problem Terdapat dua variasi masalah yaitu:  Seorang reader tidak perlu menunggu reader lain untuk selesai hanya karena ada writer menunggu(prioritas reader lebih tinggi)  Jika ada writer yang sedang menunggu, maka tidak boleh ada reader lain yang bekerja(prioritas writer lebih tinggi). 5.3.3 Dining-Philosophers Problem adalah dimana terdapat 5 filosof yang akan makan. Disana disediakan 5 sumpit,jika filosof lapar ia akan mengambil 2 sumpit yaitu ditangan kanan dan kiri. Adakalanya hanya diambil satusumpit saja. Jika ada filosof yang mengambil 2 sumpit,maka ada filsf yang harus menunggu sampai sumpit diletakkan.