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

dokumen-dokumen yang mirip
Pertemuan 4 KONKURENSI

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

KONGKURENSI (KEBERSAMAAN) Haryono Setiadi, ST, M.Eng

Sequential Process. Keterangan SISTEM OPERASI KOMUNIKASI ANTAR PROSES

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

Sistem Operasi. Kongkurensi

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

CRITICAL REGION - SEMAPHORE MUTEX DALAM CPU OS SIMULATOR V

Sinkronisasi dan Deadlock Sistem Operasi

Sistem Operasi. Konkurensi

Process Synchronization

Konkurensi. Faikul Umam

Laporan Tugas Scheduling Pengantar Sistem Operasi

CRITICAL REGIONS DAN MONITORS

Monitor. Makalah Sistem Operasi. Disusun oleh :

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

Sleep and Wake Up. Tugas Kuliah. Mata kuliah : CF 1310 Sistem Operasi. Disusun oleh : UZLINA RAHMAWATI FIA MAHANANI

Kongkurensi LPOHLVSFOTJ!

Bab 6: Sinkronisasi Proses. Latar Belakang

Fairuz El Said Sekedar Berbagi Sistem Operasi (SO) Konkurensi KONGKURENSI

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

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

Operating System. Synchronization & Deadlock. Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Konstruksi Dasar Algoritma

Perulangan Muh. Izzuddin Mahali, M.Cs. Pertemuan 3. Algoritma dan Struktur Data. PT. Elektronika FT UNY

BAB IV REKAYASA SISTEM

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

PERSEGI ANGKA-HURUF VERTIKAL

Apa yang akan dipelajari?

1/3/2013. Race Condition adalah situasi di mana beberapa proses mengakses

Masalah Deadlock. Contoh Persimpangan Jalan. Resource-Allocation Graph. Deadlock

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

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

Komunikasi & Sinkronisasi Proses

Bab 22. Perangkat Sinkronisasi II

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM VIII Deadlock

Sekolah Tinggi Teknologi Adisutjipto Yogyakarta

Dasar Komputer & Pemrograman 2A

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

KONGRUENSI. Pengertian. Mutual Exclusion. Masalah yang harus diselesaikan dalam kongruensi. (lebih. dapat saling berinteraksi.

Sistem Operasi. Proses dan Thread

Kuliah Online : TEKKOM [2013/VI]

MODUL 5 MANAJEMEN PROSES (2) (PENJADWALAN PROSES)

The Critical Section Problem Algorithm III

STRATEGI DIVIDE AND CONQUER

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

STRUKTUR DASAR ALGORITMA

BAB 4. SINKRONISASI & DEADLOCK

SOLUSI QUIZ 2 SISOP CS3613

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

Interaksi Antar Proses

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

BAB II TINJAUAN PUSTAKA

BAB 3 ANALISIS DAN PERANCANGAN

DEADLOCK. KELOMPOK : Aurora Marsye Mellawaty Vidyanita Kumalasari Y

Algoritma. Menurut Kamus Besar Bahasa Indonesia Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Sistem Operasi PENGATURAN PROSES

ALGORITMA TUGAS 2 RESUME ALGORITMA PERCABANGAN DAN ALGORITMA PERULANGAN. Disusun Oleh : Sakina Mawardah Teknik Informatika. Dosen : Asep M. Yusuf, S.

Sistem Operasi Komputer. Pembahasan Deadlock

MODUL-MODUL PRAKTIKUM VB.

ALGORITMA PERULANGAN

Optimisasi Penjadwalan Proses Pada Central Processing Unit Dengan Menggunakan Algoritma Greedy

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

PERTEMUAN KE-6 STRUKTUR PERULANGAN (menggunakan Loop dan Timer)

MODUL PRAKTIKUM SISTEM OPERASI PRAKTIKUM III Sinkronisasi Proses

BAB VIII DEADLOCK ...

Pengampu : Agus Priyanto, M.KOM

Sistem Operasi Pertemuan 5 Concurrency: Mutual Exclusion & Synchronization

Optimasi Algoritma Banker dengan Algoritma Greedy

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15

PEMROGRAMAN VISUAL BASIC.NET ( PERULANGAN / LOOPING )

MODUL V REPETITIVE. Modul Praktikum Bahasa Pemrograman Visual (BPV)

PROSES DAN THREADS DALAM SISTEM OPERASI

Chapter 5 Choice. repeatedly if tanda 2 on label: lakukan proses potong 2 if tanda 3 on label: lakukan proses potong 3 until switched off program 5.

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

Algoritma Pemrograman

7. Pengaturan Proses

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

Bab 19. Solusi Critical Section

SISTEM OPERASI DEADLOCK

BAB III ANALISIS DAN PERANCANGAN

Koordinasi Antar Proses

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

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

Bab 6. Deadlock POKOK BAHASAN: TUJUAN BELAJAR:

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

Pengantar Teknologi Sistem Informasi 1b. Concurency

Pertemuan #3: Sinkronisasi dan Deadlock

Perkuliahan Pemrograman II (Teori / Praktikum) Minggu 6

BAB 3 METODOLOGI Metode Penelitian. Dalam melakukan penelitian akan permasalahan ini, penulis menggunakan metode

BAB 3 ANALISIS DAN PERANCANGAN SISTEM

PENDAHULUAN. Brigida Arie Minartiningtyas, M.Kom

KERUGIAN DAN KEUNTUNGAN LINKED LIST

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

DEADLOCK PADA WINDOWS DAN LINUX

Bab 3: Proses-Proses. Konsep Proses

Algoritma Pemrograman I

Algoritma Pemrograman

Seri : Algoritma dan Pemrograman dengan Pascal

Teori Algoritma TIPE DATA

Transkripsi:

T UGAS STUDI KASUS SISTEM OPERASI Mutual Exclusion Mata Kuliah : Sistem Operasi [ CF 1322] Disusun Oleh : Muhammad Rizky Rafidianto 5208 100 043 Route Gemilang 5208 100 073 Ferlina Kusuma Wardhani 5208 100 130 Khikmatul Maula 5208 100 135 Ainan Ilmanda Syafa at 5208 100 145 Yoga Kurniawan 5208 100 149 Jurusan Sistem Informasi Fakultas Teknologi Informasi Institut Teknologi Sepuluh Nopember Surabaya

Penjelasan tema Mutual Exclusion MUTUAL EXCLUSION Pada system computer terdapat sumber daya yang tidak dapat dipakai bersama pada saat yang bersamaan seperti pada penggunaan printer, Sumber daya seperti hanya dapat menjalankan satu proses pada suatu saat, sumber daya ini disebut sumber daya kritis. Program yang menggunakan sumber daya kritis disebut sedang memasuki critical region / section. Sistem operasi memberikan fasilitas untuk pemrogram dapat memberikan indikasi keberadaan critical region. Sistem operasi menyediakan layanan ( berupa system call ) untuk mencagah suatu proses masuk kedalam critical region akan tetapi di dalam critical region terdapat proses lain yang sedang berjalan. Mutual exclusion merupakan solusi bagi masalah pada critical region / section, mutual exclusion adalah persoalan untu menjamin hanya satu proses saja yang berjalan dalam suatu critical region / section. Ilustrasi aplikasi tabungan Seluruh sistem yang melibatkan banyak proses mengakses satu sumber daya bersama selalu menimbulkan persoalan mutual-exclusion. Contohnya adalah sebagai berikut. Pada aplikasi tabungan, misalnya rekening A berisi Rp 1.000.000,- yang terdaftar di kantor cabang bandung. Kemudian pada suatu saat program aplikasi kantor cabang di Jakarta melayani penyetoran Rp 3.000.000,- ke rekening A. lalu program aplikasi membaca saldo akhir rekening A Persoalan di atas dapat tidak terjamin mutual-exclusion jika: 1. Program aplikasi bandung menulis ke rekening A secara cepat sehingga di hasilkan saldo Rp 6.000.000. Setelah itu, program aplikasi kantor cabang Jakarta menimpa hasil itu dengan saldo Rp 4.000.000,-. Dalam kasus ini saldo akhir yang diperoleh adalah Rp 4.000.000,- bukan Rp 10.000.000,- (yang seharusnya). 2. Program aplikasi Jakarta dilakukan menulis ke rekening A secara cepat sehingga dihasilkan saldo Rp 4.000.000,-. Setelah itu program aplikasi di kantor bandung

menimpa hasil itu dengan saldo Rp 6.000.000,-. Hasil yang lebih baik dibanding skenario pertama tetapi masih di bawah yang seharusnya yaitu Rp 10.000.000,-. Kriteria Penyelesaian Mutual-Exclusion Kemampuan menjamin mutual-exclusion harus memenuhi kriteria-kriteria berikut: 1. Mutual-exclusion harus dijamin. 2. Hanya satu proses pada satu saat yang diizinkan masuk critical section yang sama pada saat telah ada proses yang masuk critical section itu. 3. Proses yang berada di noncritical section, dilarang mem-block proses-proses lain yang ingin masuk critical section. 4. Harus dijamin proses yang ingin masuk critical section tidak menunggu selama waktu yang tak berhingga atau tidak boleh terjadi deadlock maupun startvation. 5. Ketika tidak ada proses di critical section, maka proses yang ingin masuk critical section harus diizinkan segera masuk tanpa ada waktu tunda. 6. Tidak ada asumsi mengenai kecepatan relatif proses atau jumlah proses yang ada. kriteria pada nomor satu merupakan kriteria pokok yang harus dipenuhi. Metode yang melanggar kriteria nomor satu sama sekali tidak dapat di gunakan. Pelanggaran kriteria-kriteria lain berarti metode masih bisa digunakan pada situasi-situasi tertentu tapi harus dilakukan secara hati-hati. Algoritma dan flowchart Berikut ini adalah pemecahan masalah critical region menggunakan mutual exclusion : Algoritma 1 Shared Variables / Crtitical Region: CR For processes i=0 to N do {

//Process Non Critical Regions //End of Non Critical Regions Request_CR (i); //if Request Granted then Enter CR else wait Exit_CR (i); }while(1); Algoritma 2 Shared Variables / Critical Region: CR CT : Current Time of the System DUR : Duration of use of Critical Region CT first : First Previously Requested Process Current Time DUR prev : All Previously Requested Process Duration of use of Critical Region For processes i=0 to N Flowchart : START Process Enter Process ID, Current Time of Request, and Duration of USE in Critical Region s Queue Enter CR Queue Empty CT = CT first + DUR prev Wait Send Message to Current Remove Current using Using Processprocess from the Queue Update DUR prev Repl and Set CR Free

END Do { //Process Non Critical Regions //End of Non Critical Regions Request_CR (i, CT, DUR); If(Queue of CR is Empty) Enter Critical Region Else { If(CT = CT first + DUR prev ) { Send Message to Currently Accessing Process If(reply = true) Update DUR prev with new Time Else Remove current process entry from the queue } Wait for Critical Region to be free until DUR } Exit }while (1); Contoh Kasus yang diselesaikan Masalah printer Daemon

Daemon printer adalah proses penjadwalan & pengendalian pencetakan berkas2 di printer sehingga seolah2 printer dapat digunakan secara simultan oleh proses-proses. Daemon printer mempunyai ruang disk (disebut direktori spooler) untuk menyimpan berkas-berkas yang akan dicetak. Direktori spooler membagi disk menjadi sejumlah slot. Slot-slot diisi berkas yang akan dicetak. Terdapat variable in menunjuk slot bebas di ruang disk yang kan dipakai menyimpan berkas yang ingin dijadwalkan untuk dicetak. a. Contoh Algoritma Program: Program Give_File_to_spooler; Var in : Integer; berkasa, berkasb: File; ProcedureStore (Berkas: File, next_slot: Integer); {Untukmenyimpanberkaspadaslot kenext_slot} Procedure ProsesA; Var next_free_slot: Integer; Begin next_free_slot:=in; store(berkasa, next_free_slot); in:=next_free_slot+1; End; ProcedureProsesB; Var next_free_slot:integer; Begin next_free_slot:=in; store(berkasb, next_free_slot); in:=next_free_slot+1; End;

Begin in:=0; Repeat Parbegin ProsesA; ProsesB; Parend Forever End. b. Skenario yang Membuat Kacau Misal proses A dan B ingin mencetak berkas, variable in bernilai 9. Scenario berikut dapat terjadi : Proses A {in=9} Next_free_slot in {in=9} {Penjadwal menjadwalkan B berjalan} {in=9} Proses B {in=9} Next_free_slot in Store berkas B to slot[next_free_slot] {berkas B disimpan dislot ke-9} in next_free_slot+ 1 {in=10} {Penjadwal menjadwalan A berjalan}

Store berkas A to slot[next_free_slot] {berkas A disimpan dislot-9, menimpa berkasb} in next_free_slot+ 1 {in=10} {berkasa menimpa berkasb, sehingga B tak pernah mendapat cetakannya} c. Penjelasan Proses A membaca variable in bernilai 9. Belum sempat A menyelesaikan proses, penjadwal menjadwalkan proses B berjalan. Proses B yang juga ingin mencetak, membaca variable in, variable in masih berniali 9. Proses B dapat menyelesaikan proses. Proses B menyimpan berkas B dislot ke-9. Proses A dijadwalkan kembali dan juga menyimpan berkas A di slot ke 9. BerkasB ditima berkas A, B tak akan pernah memperoleh cetakan. Pada contoh terdapat kondisi dimana dua proses atau lebih sedang membaca atau menulis data bersama (yaitu variable in ) denga hasil akhir bergantung jalannya proses-proses. Hasil akhir tidak dapat diprediksi. Kondisi ini disebut kondisi pacu (race condition ). Kondisi pacu harus dihilangkan agar hasil proses dapat diprediksi dan tidak bergantung jalannya prosesproses itu. Kunci penghilangan kondisi pacu adalah harus dapat dicegah lebih dari satu proses membaca atau menulis data bersama pada saat bersaman. Mutual exclusion adalah menjamin hanya satu proses yang yang sedang menggunakan variable atau berkas pada suatu saat. Proses-proses lain dilarang mengerjakan hal yang sama. Bagian program yang sedang mengakses memori atau sumber daya yang dipakai bersama disebut critical section/region. Untuk mengatasi kondisi pacu harus dijamin tidak boleh dua proses atau lebih memasuki critical section yang sama secara bersamaan. Kesuksesan proses-proses konkuren memerlukan pendefinisian critical section dan memaksakan mutual exclusion di antara prosesproses kongkuren yang sedang berjalan. Pemaksaan mutual exclusion merupakan landasan pemrosesn kongkuren.