SlideShare a Scribd company logo
DOSEN PEMBIMBING :
ANDINO MASELENO
SISTEM OPERASI
NAMA : Nurrohmah
NPM : 142310132
KELAS : B1-D3-MI-1
STRUKTUR SISTEM OPERASI.
 C. Kesulitan-kesulitan yang ditimbulkan konkurensi
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan
multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat
diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem
 operasi.
 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan
menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu
menjadi kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian
proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal
tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
 C. Kesulitan-kesulitan yang ditimbulkan onkurensi
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan
multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak
dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem
 operasi.
 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca
dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap
variabel itu menjadi kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi
kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi
mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan
terjadi inefisiensi.
SINKRONISASI PROSES
Pokok pembahasan:
1.permasalahan critical section
2.Sinkronisasi perangkat keras
3.samaphore
4.Masalah-masalah klasik dalam sinkronisasi
Proses proses yang konkuren adalah proses-proses (lebih dari
satu) pada saat yang sama . proses ini dapat sepenuhnya tak
bergantung dengan lainnya ,tapi dapat saling brontraksi .
Proses-proses yang brintraksi memerlukan sikronisasi agar terkendali
dengan baik.
Proses yang melakukan akses secara konkuren pada data yang gunakan
Bersama-sama menyebabkan data tidakkonsisten(inconsistence).
5.2 PERMASALAHAN CRITICAL-SECTION (CRITICAL-
SECTION FROBLEM)
Suatu system terdiri dari n proses dimana
semuannya berkopetisi menggunakan data yang digunakan
bersama-sama.masing-masing preses menpunyai sebuah
kode segmen yang disebut ciritical section,dimana proses
memungkinkan untuk mengubah variable umum,mengubah
sebuah table,menulis file danlain sebagainnya.
Gamar penting dari system adalah,ketika sebuah proses
dijalankan dengan ciritical section,tidak ada proses lain yang
diizinkan untuk menjalankan ciriticel sectionpermasalahan
ciritical section digunakan untuk mendesain sebuah
protocol dimana proses-proses dapat bekerjasama masing-
masing harus meminta izin untuk memasuki ciritical
sectionnya.
STRUKTUR SISTEM OPERASI.
 C. Kesulitan-kesulitan yang ditimbulkan konkurensi
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan
multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat
diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem
 operasi.
 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan
menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu
menjadi kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian
proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal
tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.
 C. Kesulitan-kesulitan yang ditimbulkan onkurensi
Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan
multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak
dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti:
1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain:
a) Aktivitas proses-proses lain
b) Cara sistem operasi menangani interupsi
c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem
 operasi.
 2. Beberapa kesulitan yang dapat muncul, di antaranya adalah:
a) Pemakaian bersama sumber daya global.
Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca
dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap
variabel itu menjadi kritis.
b) Pengelolaan alokasi sumber daya agar optimal
Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi
kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi
mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan
terjadi inefisiensi.
Sebuah solusi dari permasalahan ciritical section harus memenuhi tiga syrat antaa lain:
•Matual Exclusion.apabila proses P! menjalankan ciritical sectionnya,maka tidak ada
proses ain yang dapat menjalankan ciritical section.
•Progress.Apabila tidak ada proses yang menjalankan ciritical sectionnya dan dapat
beberapa proses yang akan memsuki ciritical sectionnya maka hanya prose situ yang
tidak dip roses didalam daerah pengingat (Remainder) dapat ikut berprestasi didalam
keputusan proses mana yang akan measuki ciritical section.dan pemilihan itu tidak
dapat ditunda tiba-tiba.
•Bounded Waiting.Terdapat batasan jumlah waktu yang diizinkan oleh proses lain untuk
memasuki ciritical section. Dan sebelum permintaan dikabulkan.
Bahwa Asumsi masing-masing proses dijalankan pada kecepatan bukan nol
(nonzero).akan tetapi tidak ada asumsi mengenai kecepatan relative dari proses ke n
Pemecahan masalah ciritical section tidak mengandalkan semua asumsi tentang intruksi
Hardware atau jumlah processor dari hardware yang mendukung.Akan tetapi intruksi
dasar bahasa mesin (intruksi primitive,misalnya,load,store,dan test) dijalankan secara
otomatis.
Apabila perintah load dan store dijalankan bersama-sama perintah load akan
mempunyai nilai lama atau nilai baru,tetapi tidak kombinasi dari kedua perintah itu.
Ketika mengimlementasikan suatu algoritma,kita menentukan dahulu variable-variabel
yang diginakan untuk keperluan sinkronisasi dan menggambarkan hannya proses
P!.Entri section dan Exit section didalam kotak untuk menunjukkan segmen kode yang
penting.
Pada sub bab ini kita membatasi pada algoritma yang dapat di aplikasikan hanya terhadap dua
proses pada satu wakru.Poses tersebut diberi nama P0 dan Pi Untuk jelasnya kita menyatakan
Pi,kita gunakan Pj untuk menyataka proses yang lain,dimana j = 1-i
•Algoritma 1
Pendekatan pertama.memperbolehkan semua proses menggunakan variable interger trun
diinisialisasikan ke 0 (atau 1)
nt trun;
Apabila trun = I,maka proses Pi diizinkan untuk menjalankan ciritical sectionnya.
Do {
While (trun !=i) ;
Ciritical section
Trun = j ;
Remainder section
} While (1) ;
•ALgoritma 2
Kelemah dengan algoritma 1 adalah tidak adanya informasi yang cukup tentang static dari masing-
masing proses.untuk mengatasi masalah ini dilakukan penggantian variable
nisialisasi awal flag [0] = flag [1] = flase. Apabila flag [i]bernilai tri,nilai ini menandakan bahwa Pi
siap memasuki ciritical section. Proses Pi adalah Sbb.
Do {
Flag[i] := true;
While (flag[j]) ;
ciritical section
Remainder section
] while (1) ;
•Algoritma3
Algoritma ini merupakan kombinasi algoritma 1 dan algoritma 2 harapannya
akan didapatkan solusi yang benar untuk masalah ciritical section,dimana
proses ini menggunakan dua variable.
Int trun;
Boolean flag [2] ;
Inisialisasi flagl [0] = flag [1] = flase,dan nilai dari trun bernilai 0 atau 1
struktur dari proses Pi adalah:
Do {
Flag [i] : = true ;
Trun = j;
While( flag [j] dan true = j) ;
ciritical section
Flag [i] = false;
Remaider section
} while (1);
Algoritma ketiga ini memenuhi ketiga kebutuhan yaitu : mutual
Execlusion,Progressdan bounded waiting dan memecahkan permasalahan
ciritical section untuk dua proses.
5.3 PERANGKAT KERAS SINKRONISASI
Pada system multiprosessor , Proses-proses bersifat independen .intruksi
disuatu proses tidak memenuhi pemroses-pemroses lainnya . Pemroses-
pemrosesyang memekai memory bersama maka pengaksesan terhadap suatu
memori dijaga pada tingkat perangkat keras agar tidak memproses lain tidak
mengakses suatu lokasi yang sama disaat yang sama.
Perancang perangkat keras menyediakan intruksi-intruksi otomok yang tidak
dapat di intrupsi. Intruksi ini dilaksanakan sampai selesai. Intuksi ini biasanya di
laksanakan dengan cara mengunci bus sehingga pemrosesan lain tidak dapat
menggunakan bus 5.3.1 Metode Test and Set
Metode Test and Set melakukan lesting dan memodifikasikan isi memory secara
atomic menggunakan fungsi tes and set sebagai berikut.
Boolean TestAndSet(Boolean dan target)
{
Boolean rv = target;
Target= true;
Return rv;
}
Metode Swap
Metode swap menggunakan prosedur swap untuk menukar dua variable secara
otomic .
 5.4 SEMAPHORE
 Semaphore adalah pendekatan yang ditemukan Dijkstra . prinsip semaphore adalah sebagai
berikut: dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda
sederhana. Proses dipaksa berhenti sampai proses memperoleh penanda tertentu.
 Sembarang kebutuhan keordinasi kompleks memenuhi dengan struktur penanda yang sesuai
kebutuhan .variable khusus untuk penandaan ini disebut semaphore.
 Semaphore adalah alat untuk sinkronisasi yang tidak membutuhkan busy waiting
.Semaphore S berupa variable integer.Semaphore adalah dapat diakses melalui otomatic yang
tidak dapat di interupsi sampai kode selesai.
 adanya Semaphore mempermudah penyelesaian persoalan critical section pada n proses .
penyelesaian critical section menggunakan semaphore menggunakan variable umum.
 Pada semaphore terdapat oprasi sederhana yaitu BLOCK untuk menghentikan sementara
proses yamg meggunakan semaphore dan wakeup(p) untuk melanjutkan exsekusi proses P
yang di blok.
 Semaphore merupakan salah satu sumber system .misalnya dua proses P! dan P2 dua sumber
kritis R1 dan R2, Proses P! harus mengakses kedua sumber daya . kondisi berikut terjadi : R! di
berikan kepada P! sedangkan R2 di berikan kepada P2 .apabila dua proses melanjutkan
eksekusi memerukan kedua sumber sekaligus maka kedua proses akan salaing menuggu
sumber daya lain selamanya.
5.5 MASALAH-MASALAH KLASIK SINKRONISASI
Untuk mengimplementasikan permasalahan sinkronisasi dapat menggunakan
model yang digunakan untuk permasalan Bounded Buffer, Reader wiriter dan dining
Philosopher yang akan dijelaskan di bawah ini.
• Barang yang dihasilkan oleh produsen terbatas
• Barang yang dipakai konsumen terbatas
• Konsumen hanya boleh digunakan barang yang dimaksud setelah produsen
menghasilkan barang dalam jumlah tertentu.
• Produsen hanya boleh memproduksi barang jika konsumen suda kehabisan barang.
Untuk penyelesai permasalahan bounded buffer menggunakan eimaphore
Menggunakan variable berikut:
Semaphore fill.empety,mutex ;inisialisasi intuk variable diats. Full = 0.empty = n,mutex = 1.
Struktur program untuk Do{
Wait(empty;
….
Wait(empty;
Menambag next ke buffer
….
Signal mutex;
Signa (full);
…
}while (10);
5.5.2 Rider And writer Problem
•Seorang rider tidak perlu menunggu reader lain untuk selesai hanya karena ada wwrite
menunggu(reader memiliki perioritas lebih tinggi disbanding dengan writer)
•Jika ada writer yang sedang menunggu maka tidak boleh ada reader lain yan bekerja
(Writer memiliki prioritas yang lebih tinggi)
Jika terdapat writer didalam citirical section dan terdapat n reader yang menunggu,maka
satu reader akan antri di wrt dan n – 1 reader akan antri di mutex.jika writer
mengeksekusi signal (Wrt) ,maka dapai disimpulkam bahwa eksekusi menunggu reader
atau menunggu satu writer . variaber lain yang digunakan adalah:
Semaphore mutex;
Inisialisai variable di atas adalah mutex = 1,wrt =1, readcount = o, struktur proses writer
dalah.
wait (wrt);
…
Menulis
Signal (wrt);
Sedangkan struktur proses eader adalah:
Wait (mutex);
Readcount++;
If (readcount == 1)
Wait (wrt);
Signal (mutex);
5.5.3 Dining philosophers problem
Permasalhan philosopher dimana terdapat philosopher yang akan
makan.disana disediaakan 5 supit yaitu di tangan kanan ditangan
kiri.Namun adakan hanya satu supit saja.jika ada fhilosop yang
mengambil dua ssupt,maka ada filosof yang harus menunggu,sampai
supit tersebut diletakkan.Hal ini dapat diimplementasikan dengan wait
dan signal.
Gambar 5-2:lima filosofi dalam sati meja makan
Namun jika tiap-tiap piloshopers lapar dan mengambil supit kiri,maka semua nilai
supit = 0.dan jika kemudian tiap-tiap filosf akan mengambil supit kanan,maka
akan terjadi deadlock.
cara untuk menghindari deadlock:
•mengijinkan paling banyak 4 pilosof yang duduk bersama-sama pada satu meja.
•Mengijinkan seorang pilosof mengambil supit hanya jika kedua supit itu
ada,(dengan catatan bahwa ia harus mengambil ciritical section)
•Menggunakan suatu solusi assimetrik.yaiti pilosof pada nomor ganjil mengambil
supit kakan dulu baru supit kiri.Sedangkan pilosof yang duduk dikursi genap
mengambil supit kanan dulu baru supit kiri.
5.6 Sinkronisasi pada Solaris 2
Pada solaris 2,sinkronisasi diimplementasikan dengan menggunakan beberapa
kunci untuk mendukung system multitasking,multithreading (termasuk thread
real time)
Dan multi prosessing.Solaris menggunakan adovtive mutex untuk efesiensi
system pada saat priteksi data dari kode segmen yang pendek.selain itu
menggunakan variable kondisi dan kunci reader writer apabila kode segmen lebih
panjang memerlukan akses ke data.
5.6.2 Sinkronisasi pada Windows 2000
Implementasisinkronisasi pada windows 2000
menggunakan interrupt mask untuk memproteksi
akses kesumber daya global pada system
uniprossesor,sedangkan ada system multiprossesor
menggunkan spinlock.selain itu windows 2000 juga
menyediakan dispatcher object yang berfungsi sebagai
mutual exclusion dan semaphore. Dispatcher object
juga menyediakan ivent yang berfungsi sebagai
variable kondisi.
Nurrohmah - Sinkronisasi Proses

More Related Content

What's hot (17)

Os ppt.7
Os ppt.7Os ppt.7
Os ppt.7
 
8.sinkronisasi
8.sinkronisasi8.sinkronisasi
8.sinkronisasi
 
5.sinkronisasi proses
5.sinkronisasi proses5.sinkronisasi proses
5.sinkronisasi proses
 
Deadlock
DeadlockDeadlock
Deadlock
 
Pertemuan ke 6
Pertemuan ke 6Pertemuan ke 6
Pertemuan ke 6
 
Reni Seftiani - Sinkronisasi Proses Sistem Operasi
Reni Seftiani -  Sinkronisasi Proses Sistem OperasiReni Seftiani -  Sinkronisasi Proses Sistem Operasi
Reni Seftiani - Sinkronisasi Proses Sistem Operasi
 
Pertemuan ke 2
Pertemuan ke 2Pertemuan ke 2
Pertemuan ke 2
 
Oktaviani Tri Andini - Sinkronisasi Proses
Oktaviani Tri Andini - Sinkronisasi ProsesOktaviani Tri Andini - Sinkronisasi Proses
Oktaviani Tri Andini - Sinkronisasi Proses
 
Deadlock rahmawati
Deadlock   rahmawatiDeadlock   rahmawati
Deadlock rahmawati
 
6 sinkronisasi aplod
6 sinkronisasi aplod6 sinkronisasi aplod
6 sinkronisasi aplod
 
ikh311-03
ikh311-03ikh311-03
ikh311-03
 
Taofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - DeadlockTaofik Hidayat Ilham - Deadlock
Taofik Hidayat Ilham - Deadlock
 
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdfDeadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
Deadlock_Arya Putra Abshari (210209501101) PTIK C 2021.pdf
 
Chapter 13 - SISTER
Chapter 13 - SISTERChapter 13 - SISTER
Chapter 13 - SISTER
 
Arkom1
Arkom1Arkom1
Arkom1
 
5 penjadwalan aplod
5 penjadwalan aplod5 penjadwalan aplod
5 penjadwalan aplod
 
algoritma
algoritmaalgoritma
algoritma
 

Viewers also liked (6)

Komunikasi Antar Proses
Komunikasi Antar ProsesKomunikasi Antar Proses
Komunikasi Antar Proses
 
Makalah Sistem Operasi
Makalah Sistem OperasiMakalah Sistem Operasi
Makalah Sistem Operasi
 
Ppt filsafat pancasila
Ppt filsafat pancasilaPpt filsafat pancasila
Ppt filsafat pancasila
 
2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare2015 Upload Campaigns Calendar - SlideShare
2015 Upload Campaigns Calendar - SlideShare
 
What to Upload to SlideShare
What to Upload to SlideShareWhat to Upload to SlideShare
What to Upload to SlideShare
 
Getting Started With SlideShare
Getting Started With SlideShareGetting Started With SlideShare
Getting Started With SlideShare
 

Similar to Nurrohmah - Sinkronisasi Proses

Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Elmitiodatacp
 

Similar to Nurrohmah - Sinkronisasi Proses (20)

So1
So1So1
So1
 
Sinkronisasi Proses
Sinkronisasi ProsesSinkronisasi Proses
Sinkronisasi Proses
 
Novita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem OperasiNovita Duri - Poses - proses Sistem Operasi
Novita Duri - Poses - proses Sistem Operasi
 
Muhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem OperasiMuhammad Arifin - Proses pada Sistem Operasi
Muhammad Arifin - Proses pada Sistem Operasi
 
VI.Sinkronisasi.ppt
VI.Sinkronisasi.pptVI.Sinkronisasi.ppt
VI.Sinkronisasi.ppt
 
Bernis Sagita - Konkurensi
Bernis Sagita - KonkurensiBernis Sagita - Konkurensi
Bernis Sagita - Konkurensi
 
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
 
Proses dan implementasinya
Proses dan implementasinyaProses dan implementasinya
Proses dan implementasinya
 
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdfMakalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
Makalah Sistem operasi_UAS_Elmi Tiodata_210403010022.pdf
 
Pert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlockPert.5 sinkronisasi dan deadlock
Pert.5 sinkronisasi dan deadlock
 
Pertemuan3 1 so
Pertemuan3 1 soPertemuan3 1 so
Pertemuan3 1 so
 
Jamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem OperasiJamaludin - Proses pada Sistem Operasi
Jamaludin - Proses pada Sistem Operasi
 
Konsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistemKonsep manajemen proses_pada_sistem
Konsep manajemen proses_pada_sistem
 
Bernis Sagita - Manajemen proses
Bernis Sagita - Manajemen prosesBernis Sagita - Manajemen proses
Bernis Sagita - Manajemen proses
 
Sri Handayani - Deadlock
Sri Handayani  - DeadlockSri Handayani  - Deadlock
Sri Handayani - Deadlock
 
Sistem operasi rangkuman
Sistem operasi rangkumanSistem operasi rangkuman
Sistem operasi rangkuman
 
Papeline
PapelinePapeline
Papeline
 
Sistem Terdistribusi.pptx
Sistem Terdistribusi.pptxSistem Terdistribusi.pptx
Sistem Terdistribusi.pptx
 
Sistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlockSistem Operasi _ Mendeteksi deadlock
Sistem Operasi _ Mendeteksi deadlock
 
Yogie Saputra - Deadlock
Yogie Saputra - DeadlockYogie Saputra - Deadlock
Yogie Saputra - Deadlock
 

More from belajarkomputer

Helen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen prosesHelen Alida Abilio - Manajemen proses
Helen Alida Abilio - Manajemen proses
belajarkomputer
 
Helen Alida Abilio - Manajemen memori
Helen Alida Abilio - Manajemen memoriHelen Alida Abilio - Manajemen memori
Helen Alida Abilio - Manajemen memori
belajarkomputer
 

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
 

Nurrohmah - Sinkronisasi Proses

  • 1. DOSEN PEMBIMBING : ANDINO MASELENO SISTEM OPERASI NAMA : Nurrohmah NPM : 142310132 KELAS : B1-D3-MI-1
  • 2. STRUKTUR SISTEM OPERASI.  C. Kesulitan-kesulitan yang ditimbulkan konkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem  operasi.  2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.  C. Kesulitan-kesulitan yang ditimbulkan onkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem  operasi.  2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi. SINKRONISASI PROSES Pokok pembahasan: 1.permasalahan critical section 2.Sinkronisasi perangkat keras 3.samaphore 4.Masalah-masalah klasik dalam sinkronisasi Proses proses yang konkuren adalah proses-proses (lebih dari satu) pada saat yang sama . proses ini dapat sepenuhnya tak bergantung dengan lainnya ,tapi dapat saling brontraksi . Proses-proses yang brintraksi memerlukan sikronisasi agar terkendali dengan baik. Proses yang melakukan akses secara konkuren pada data yang gunakan Bersama-sama menyebabkan data tidakkonsisten(inconsistence).
  • 3. 5.2 PERMASALAHAN CRITICAL-SECTION (CRITICAL- SECTION FROBLEM) Suatu system terdiri dari n proses dimana semuannya berkopetisi menggunakan data yang digunakan bersama-sama.masing-masing preses menpunyai sebuah kode segmen yang disebut ciritical section,dimana proses memungkinkan untuk mengubah variable umum,mengubah sebuah table,menulis file danlain sebagainnya. Gamar penting dari system adalah,ketika sebuah proses dijalankan dengan ciritical section,tidak ada proses lain yang diizinkan untuk menjalankan ciriticel sectionpermasalahan ciritical section digunakan untuk mendesain sebuah protocol dimana proses-proses dapat bekerjasama masing- masing harus meminta izin untuk memasuki ciritical sectionnya.
  • 4. STRUKTUR SISTEM OPERASI.  C. Kesulitan-kesulitan yang ditimbulkan konkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem  operasi.  2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi.  C. Kesulitan-kesulitan yang ditimbulkan onkurensi Masalah yang dihadapi proses-proses kongkurensi pada multiprogramming dan multiprocessing serupa, yaitu: kecepatan eksekusi proses-proses di sistem tidak dapat diprediksi. Beberapa kemungkinan yang terjadi tidak dapat diprediksi seperti: 1. Kecepatan proses pada sistem tergantung pada beberapa hal, antara lain: a) Aktivitas proses-proses lain b) Cara sistem operasi menangani interupsi c) Kebijaksanaan penjadwalan yang dilakukan oleh sistem  operasi.  2. Beberapa kesulitan yang dapat muncul, di antaranya adalah: a) Pemakaian bersama sumber daya global. Jika dua proses menggunakan variabel global yang sama, serta keduanya membaca dan menulis variabel itu maka urutan terjadinya pembacaan dan penulisan terhadap variabel itu menjadi kritis. b) Pengelolaan alokasi sumber daya agar optimal Jika proses A meminta suatu kanal masukan/keluaran tertentu dan dapat terjadi kemudian proses A di suspend sebelum menggunakan kanal itu. Jika sistem operasi mengunci kanal tersebut dan orang lain tidak dapat menggunakannya, maka akan terjadi inefisiensi. Sebuah solusi dari permasalahan ciritical section harus memenuhi tiga syrat antaa lain: •Matual Exclusion.apabila proses P! menjalankan ciritical sectionnya,maka tidak ada proses ain yang dapat menjalankan ciritical section. •Progress.Apabila tidak ada proses yang menjalankan ciritical sectionnya dan dapat beberapa proses yang akan memsuki ciritical sectionnya maka hanya prose situ yang tidak dip roses didalam daerah pengingat (Remainder) dapat ikut berprestasi didalam keputusan proses mana yang akan measuki ciritical section.dan pemilihan itu tidak dapat ditunda tiba-tiba. •Bounded Waiting.Terdapat batasan jumlah waktu yang diizinkan oleh proses lain untuk memasuki ciritical section. Dan sebelum permintaan dikabulkan. Bahwa Asumsi masing-masing proses dijalankan pada kecepatan bukan nol (nonzero).akan tetapi tidak ada asumsi mengenai kecepatan relative dari proses ke n Pemecahan masalah ciritical section tidak mengandalkan semua asumsi tentang intruksi Hardware atau jumlah processor dari hardware yang mendukung.Akan tetapi intruksi dasar bahasa mesin (intruksi primitive,misalnya,load,store,dan test) dijalankan secara otomatis. Apabila perintah load dan store dijalankan bersama-sama perintah load akan mempunyai nilai lama atau nilai baru,tetapi tidak kombinasi dari kedua perintah itu. Ketika mengimlementasikan suatu algoritma,kita menentukan dahulu variable-variabel yang diginakan untuk keperluan sinkronisasi dan menggambarkan hannya proses P!.Entri section dan Exit section didalam kotak untuk menunjukkan segmen kode yang penting.
  • 5. Pada sub bab ini kita membatasi pada algoritma yang dapat di aplikasikan hanya terhadap dua proses pada satu wakru.Poses tersebut diberi nama P0 dan Pi Untuk jelasnya kita menyatakan Pi,kita gunakan Pj untuk menyataka proses yang lain,dimana j = 1-i •Algoritma 1 Pendekatan pertama.memperbolehkan semua proses menggunakan variable interger trun diinisialisasikan ke 0 (atau 1) nt trun; Apabila trun = I,maka proses Pi diizinkan untuk menjalankan ciritical sectionnya. Do { While (trun !=i) ; Ciritical section Trun = j ; Remainder section } While (1) ; •ALgoritma 2 Kelemah dengan algoritma 1 adalah tidak adanya informasi yang cukup tentang static dari masing- masing proses.untuk mengatasi masalah ini dilakukan penggantian variable nisialisasi awal flag [0] = flag [1] = flase. Apabila flag [i]bernilai tri,nilai ini menandakan bahwa Pi siap memasuki ciritical section. Proses Pi adalah Sbb. Do { Flag[i] := true; While (flag[j]) ; ciritical section Remainder section ] while (1) ;
  • 6. •Algoritma3 Algoritma ini merupakan kombinasi algoritma 1 dan algoritma 2 harapannya akan didapatkan solusi yang benar untuk masalah ciritical section,dimana proses ini menggunakan dua variable. Int trun; Boolean flag [2] ; Inisialisasi flagl [0] = flag [1] = flase,dan nilai dari trun bernilai 0 atau 1 struktur dari proses Pi adalah: Do { Flag [i] : = true ; Trun = j; While( flag [j] dan true = j) ; ciritical section Flag [i] = false; Remaider section } while (1); Algoritma ketiga ini memenuhi ketiga kebutuhan yaitu : mutual Execlusion,Progressdan bounded waiting dan memecahkan permasalahan ciritical section untuk dua proses.
  • 7. 5.3 PERANGKAT KERAS SINKRONISASI Pada system multiprosessor , Proses-proses bersifat independen .intruksi disuatu proses tidak memenuhi pemroses-pemroses lainnya . Pemroses- pemrosesyang memekai memory bersama maka pengaksesan terhadap suatu memori dijaga pada tingkat perangkat keras agar tidak memproses lain tidak mengakses suatu lokasi yang sama disaat yang sama. Perancang perangkat keras menyediakan intruksi-intruksi otomok yang tidak dapat di intrupsi. Intruksi ini dilaksanakan sampai selesai. Intuksi ini biasanya di laksanakan dengan cara mengunci bus sehingga pemrosesan lain tidak dapat menggunakan bus 5.3.1 Metode Test and Set Metode Test and Set melakukan lesting dan memodifikasikan isi memory secara atomic menggunakan fungsi tes and set sebagai berikut. Boolean TestAndSet(Boolean dan target) { Boolean rv = target; Target= true; Return rv; } Metode Swap Metode swap menggunakan prosedur swap untuk menukar dua variable secara otomic .
  • 8.  5.4 SEMAPHORE  Semaphore adalah pendekatan yang ditemukan Dijkstra . prinsip semaphore adalah sebagai berikut: dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana. Proses dipaksa berhenti sampai proses memperoleh penanda tertentu.  Sembarang kebutuhan keordinasi kompleks memenuhi dengan struktur penanda yang sesuai kebutuhan .variable khusus untuk penandaan ini disebut semaphore.  Semaphore adalah alat untuk sinkronisasi yang tidak membutuhkan busy waiting .Semaphore S berupa variable integer.Semaphore adalah dapat diakses melalui otomatic yang tidak dapat di interupsi sampai kode selesai.  adanya Semaphore mempermudah penyelesaian persoalan critical section pada n proses . penyelesaian critical section menggunakan semaphore menggunakan variable umum.  Pada semaphore terdapat oprasi sederhana yaitu BLOCK untuk menghentikan sementara proses yamg meggunakan semaphore dan wakeup(p) untuk melanjutkan exsekusi proses P yang di blok.  Semaphore merupakan salah satu sumber system .misalnya dua proses P! dan P2 dua sumber kritis R1 dan R2, Proses P! harus mengakses kedua sumber daya . kondisi berikut terjadi : R! di berikan kepada P! sedangkan R2 di berikan kepada P2 .apabila dua proses melanjutkan eksekusi memerukan kedua sumber sekaligus maka kedua proses akan salaing menuggu sumber daya lain selamanya.
  • 9. 5.5 MASALAH-MASALAH KLASIK SINKRONISASI Untuk mengimplementasikan permasalahan sinkronisasi dapat menggunakan model yang digunakan untuk permasalan Bounded Buffer, Reader wiriter dan dining Philosopher yang akan dijelaskan di bawah ini. • Barang yang dihasilkan oleh produsen terbatas • Barang yang dipakai konsumen terbatas • Konsumen hanya boleh digunakan barang yang dimaksud setelah produsen menghasilkan barang dalam jumlah tertentu. • Produsen hanya boleh memproduksi barang jika konsumen suda kehabisan barang. Untuk penyelesai permasalahan bounded buffer menggunakan eimaphore Menggunakan variable berikut: Semaphore fill.empety,mutex ;inisialisasi intuk variable diats. Full = 0.empty = n,mutex = 1. Struktur program untuk Do{ Wait(empty; …. Wait(empty; Menambag next ke buffer …. Signal mutex; Signa (full); … }while (10);
  • 10. 5.5.2 Rider And writer Problem •Seorang rider tidak perlu menunggu reader lain untuk selesai hanya karena ada wwrite menunggu(reader memiliki perioritas lebih tinggi disbanding dengan writer) •Jika ada writer yang sedang menunggu maka tidak boleh ada reader lain yan bekerja (Writer memiliki prioritas yang lebih tinggi) Jika terdapat writer didalam citirical section dan terdapat n reader yang menunggu,maka satu reader akan antri di wrt dan n – 1 reader akan antri di mutex.jika writer mengeksekusi signal (Wrt) ,maka dapai disimpulkam bahwa eksekusi menunggu reader atau menunggu satu writer . variaber lain yang digunakan adalah: Semaphore mutex; Inisialisai variable di atas adalah mutex = 1,wrt =1, readcount = o, struktur proses writer dalah. wait (wrt); … Menulis Signal (wrt); Sedangkan struktur proses eader adalah: Wait (mutex); Readcount++; If (readcount == 1) Wait (wrt); Signal (mutex);
  • 11. 5.5.3 Dining philosophers problem Permasalhan philosopher dimana terdapat philosopher yang akan makan.disana disediaakan 5 supit yaitu di tangan kanan ditangan kiri.Namun adakan hanya satu supit saja.jika ada fhilosop yang mengambil dua ssupt,maka ada filosof yang harus menunggu,sampai supit tersebut diletakkan.Hal ini dapat diimplementasikan dengan wait dan signal. Gambar 5-2:lima filosofi dalam sati meja makan
  • 12. Namun jika tiap-tiap piloshopers lapar dan mengambil supit kiri,maka semua nilai supit = 0.dan jika kemudian tiap-tiap filosf akan mengambil supit kanan,maka akan terjadi deadlock. cara untuk menghindari deadlock: •mengijinkan paling banyak 4 pilosof yang duduk bersama-sama pada satu meja. •Mengijinkan seorang pilosof mengambil supit hanya jika kedua supit itu ada,(dengan catatan bahwa ia harus mengambil ciritical section) •Menggunakan suatu solusi assimetrik.yaiti pilosof pada nomor ganjil mengambil supit kakan dulu baru supit kiri.Sedangkan pilosof yang duduk dikursi genap mengambil supit kanan dulu baru supit kiri. 5.6 Sinkronisasi pada Solaris 2 Pada solaris 2,sinkronisasi diimplementasikan dengan menggunakan beberapa kunci untuk mendukung system multitasking,multithreading (termasuk thread real time) Dan multi prosessing.Solaris menggunakan adovtive mutex untuk efesiensi system pada saat priteksi data dari kode segmen yang pendek.selain itu menggunakan variable kondisi dan kunci reader writer apabila kode segmen lebih panjang memerlukan akses ke data.
  • 13. 5.6.2 Sinkronisasi pada Windows 2000 Implementasisinkronisasi pada windows 2000 menggunakan interrupt mask untuk memproteksi akses kesumber daya global pada system uniprossesor,sedangkan ada system multiprossesor menggunkan spinlock.selain itu windows 2000 juga menyediakan dispatcher object yang berfungsi sebagai mutual exclusion dan semaphore. Dispatcher object juga menyediakan ivent yang berfungsi sebagai variable kondisi.