Kata
Pengantar
Puji syukur kami
ucapkan kehadirat Allah Swt atas rahmat dan karunia-Nya
kami dapat menyelesaikan makalah ini dengan baik. Makalah ini dibuat sebagai
salah satu ilmu pengetahuan dan tugas mata kuliah Sistem Operasi. Makalah ini
mencakup materi tentang Mutual Exclusion Dengan membuat makalah tentang tersebut kita semua mengetahui tentang materi tersebut.
Kami sadari bahwa dalam makalah ini masih jauh
dari kesempurnaan. Hal itu di karenakan keterbatasan
kemampuan dan pengetahuan kami. Oleh karena itu, kami sangat mengharapkan kritik dan saran yang bersifat membangun dari para
pembaca. Semoga makalah ini dapat bermanfaat bagi kita.
Akhir kata, kami memohon ma’af apabila dalam penulisan makalah
ini terdapat kesalahan.
.
PEKANBARU, 21APRIL 2013
PENULIS
DAFTAR ISI
KataPengantar.............................................................................................................................i
Daftar Isi....................................................................................................................................ii
1. PENDAHULUAN
1.1 Latar Belakang...............................................................................................................
1.2 Batasan Masalaha..........................................................................................................
1.3 Tujuan penulisan.............................................................................................................
1.4 Manfaat
penulisan................................................................................................................
2. PEMBAHASAN
2.1 DEFENISI
MUTUAL EXCLUSION....................................................................................
2.1.1 Kriteria
Penyelesaian Mutual-Exclusion.............................................................................
2.2 METODE-METODE
PENJAMINAN MUTUAL EXCLUSION
........................................
2.2.1Metode Variable Lock..........................................................................................................
2.2.2 Metode
Naif........................................................................................................................
2.2.3 Metode untuk situasi tertentu............................................................................................
2.2.4 Metode dengan Busy Waiting............................................................................................
2.2.5 Metode dengan semaphore................................................................................................
2.2.6 Implementasi Semaphore....................................................................................................
3. PENUTUP
3.1 Kesimpulan........................................................................................................................
3.2Saran...................................................................................................................................
Daftar
Pustaka.........................................................................................................................iii
BAB
I
PENDAHULUAN
1.1 LATAR
BELAKANG
Sistem operasi merupakan sebuah penghubung antara pengguna dari komputer
dengan perangkat keras komputer. Sebelum ada sistem operasi, orang hanya
mengunakan komputer dengan menggunakan sinyal analog dan sinyal digital.
Seiring dengan berkembangnya pengetahuan dan teknologi, pada saat ini terdapat
berbagai sistem operasi dengan keunggulan masing-masing. Untuk lebih memahami
sistem operasi maka sebaiknya perlu diketahui terlebih dahulu beberapa konsep
dasar mengenai sistem operasi itu sendiri.
Pengertian sistem operasi secara umum ialah pengelola seluruh sumber-daya
yang terdapat pada sistem komputer dan menyediakan sekumpulan layanan (system
calls) ke pemakai sehingga memudahkan dan menyamankan penggunaan serta
pemanfaatan sumber-daya sistem komputer.
1.2 Batasan Masalah
Untuk
memperjelas ruang lingkup pembahasan, maka masalah/kajian yang dibahas dibatasi
pada masalah/kajian :
·
Mutual Exlusion
·
Metode-Metode Penjamin Mutual
Exclusion
·
Critical Section
·
Sumber Daya
·
Proses-Proses (Masuk) Ke Daerah
Critical Section Tidak Boleh Saling Memblok
·
Ketika Tidak Ada Proses Di Critical Section Maka Proses Yang Ingin Masuk
Ke Critical Section Harus Diijinkan Tanpa Waktu Tunda
·
Metode-metode dan Algoritma untuk Menjamin Mutual Exclusion
·
Konsep Mutual Exclusion
·
Mutual
Exclusion secara
1.3 Tujuan Penulis
·
Setelah mahasiswa mengetahui mutual exclusion dan deadlock
diharapkan mereka bisa mengetahui tanda-tandanya.
·
Diharapkan juga setelah itu mahasiswa dapat mencari dan
memahami dengan baik cara-cara mengindarinya.
·
Diharapkan juga mahasiswa dapat memahami sinkronisasi sebagai solusi untuk mengatasi masalah- masalah pada
sistem operasi.
1.4 Manfaat Penulisan
Manfaat penulisan
makalah ini sangat besar sekali terutama buat penulis dan khususnya buat yang
membaca makalah ini, penulis biasa merasakan bahwa ternyata banyak sekali kekurangan
serta kesalahan dari diri penulis pribadi. Selain itu makalah ini juga bisa
memanfaat bagi pembaca karena didalam menjelaskan mengenai (Sistem Operasi),
sehingga bagi kita yang masih banyak kesalahan dalam menggunakan kata,bisa kita
perbaiki sedikit demi sedikit sehingga akhirnya kita bisa menggunakan kata yang
lebih baik dan benar. Amin
BAB II
PEMBAHASAN
2.1 DEFENISI
MUTUAL EXCLUSION
Mutual Exclusion adalah persoalan untuk menjamin hanya satu proses yang mengakses sumber
daya pada suatu interval waktu tertentu. Pentingnya mutual exclusion dapat
dilihat pada ilustrasi berikut :
·
Ilustrasi Aplikasi Tabungan
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 disbanding
skenario pertama tetapi masih di bawah
yang seharusnya yaitu Rp 10.000.000,-.
Tiga kondisi untuk menentukan Mutual Exclusion diantaranya :
·
Tidak ada
dua proses yang pada saat bersamaan berada di critical region.
·
Tidak ada
proses yang berjalan diluar critical region yang bisa menghambat proses lain.
·
Tidak ada
proses yang tidak bisa masuk ke critical region.
Sebuah
proses memiliki bagian dimana bagian ini akan melakukan akses dan manipulasi data. Bagian ini disebut dengan critical
section. Ketika sebuah proses sedang
dijalankan dalam critical section nya, tidak ada proses lain yang boleh dijalankan dalam critical section
nya. Karena hal ini dapat memungkinkan terjadinya
akses ke resources yang sama dalam waktu yang
sama. Keadaan seperti ini disebut proses mutually exclusive. Oleh karena itu, diperlukan suatu mekanisme atau
aturan agar proses sifat mutually exclusive dapat terpenuhi.
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. Beberapa proses terkadang membutuhkan sumber
daya yang sama pada saat bersamaan. Sumber daya seperti ini disebut sumber daya
kritis. Bagian program yang menggunakan sumber daya kritis disebut memasuki
critical region/section. Hanya satu program pada saat yang diijinkan masuk
critical region.
Kondisi yang tidak dapat diprediksi
hasilnya, bergantung pada proses-proses berjalan yang sedang bersaing disebut
Kondisi Pacu (Race Condition). Kondisi pacu harus dihilangkan agar hasil-hasil
proses dapat diprediksi dan tidak bergantung pada jalanya proses-proses tersebut.
Pemrogram harus menspesifikasikan bagian-bagian critical region sehingga sistem operasi akan menjaganya dengan suatu mekanisme untuk mencegah proses lain masuk critical region yang sedang dipakai proses lain. inilah yang dimaksud dengan mutual exclusion. Mutual Exclusion adalah suatu cara yang menjamin jika ada sebuah proses yang menggunakan variabel atau berkas yang sama (digunakan juga oleh proses lain), maka proses lain akan dikeluarkan dari pekerjaan yang sama. Mutual exclusion merupakan solusi bagi masalah pada critical region / section, mutual exclusion adalah persoalan untuk menjamin hanya satu proses saja yang berjalan dalam suatu critical region / section.
Beberapa proses
terkadang membutuhkan sumber daya yang sama pada saat bersamaan. Sumber daya seperti
ini disebut sumber daya kritis. Bagian program yang menggunakan sumber daya
kritis disebut memasuki critical region/section. Hanya satu program pada saat
yang diijinkan masuk critical region. Kondisi yang tidak dapat diprediksi
hasilnya, bergantung pada proses-proses berjalan yang sedang bersaing disebut
Kondisi Pacu (Race Condition). Kondisi pacu harus dihilangkan agar hasil-hasil
proses dapat diprediksi dan tidak bergantung pada jalannya proses-proses tersebut.
2.2 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.
2.3 METODE-METODE PENJAMINAN MUTUAL EXCLUSION
2.2.1 Metode
Variable Lock
Locking adalah salah satu
mekanisasi pengontrol konkuren. Konsep dasar : pada saat suatu transaksi
memerlukan jaminan jika record yang diinginkan tidak akan berubah secara
mendadak, maka diperlukan kunci untuk record tersebut. Fungsi kunci (lock)
adalah menjaga record tersebut agar tidak dimodifikasi transaksi lain.
Cara kerja dari
kunci :
1.
Pertama kita asumsikan terdapat 2 macam kunci :
·
Kunci X : kunci yang eksklusif.
·
Kunci S : kunci yang digunakan bersama-sama.
Jika
transaksi A menggunakan kunci X pada record R, maka permintaan dari transaksi B
untuk suatu kunci pada R ditunda, dan B harus menungggu sampai A melepaskan
kunci tersebut.
2.
Jika transaksi A menggunakan kunci S pada record R,
maka :\
Bila
transaksi B ingin menggunakan kunci X, maka B harus menunggu sampai A
melepaskan kunci tersebut.
Bila
transaksi B ingin menggunakan kunci S, maka B dapat menggunakan kunci S bersama
A.
3.
Bila suatu transaksi hanya melakukan pembacaan saja,
secara otomatis ia memerlukan kunci S baca (S).
Bila transaksi
tersebut ingin memodifikasi record maka secara otomatis ia memerlukan kunci X
memodifikasi (X).
Bila transaksi
tersebut sudah menggunakan kunci S, setelah itu ia akan memodifikasi record,
maka kunci S akan dinaikan ke level kunci X.
4.
Kunci X dan kunci S akan dilepaskan pada saat
synchpoint (synchronization point). Synchpoint menyatakan akhir dari suatu
transaksi dimana basis data berada pada state yang konsisten. Bila synchpoint
ditetapkan maka :
·
Semua modifikasi program menjalankan operasi commit atau
rollback.
·
Semua kunci dari record dilepaskan.
Metode
ini sederhana ketika proses masuk critical section lebih dahulu
memeriksa variable lock.
memeriksa variable lock.
·
Jika variable lock bernilai 0, proses men-set variable
locknya menjadi 1 kemudian masuk ke dalam critical section.
·
Jika variable lock bernilai 1, maka proses menunggu sampai
nilai variable lock nya menjadi 0.
Metode
ini mengasumsikan dapat mengalir masuk critical section secara bergantian
terus-menerus. Metode ini melakukan refleksi terhadap variabel yang berfungsi
untuk memenuhi critical section.
2.2.2 Metode Naif
Sebenarnya metode ini tidak menyelesaikan mutual
exclusion, karena masih terdapat
scenario proses yang membuat situasi kacau. Metode ini sering
disebut metode
variable lock sederhana.
Ketika proses hendak masuk critical section, proses lebih dulu
memeriksa variable
lock dengan ketentuan :
·
Jika variable lock bernilai 0,
proses mengeset variable lock menjadi 1 dan segeramasuk critical section.
·
Jika variable lock bernilai 1,
proses menunggu sampai nilai variabel lock menjadi0.(situasin ini berarti sedang terjadi proses lain
di critical section)
2.2.3 Metode untuk situasi tertentu
Metode ini sering disebut metode bergantian secara ketat
yang mengasumsikan
proses-proses yang hendak masuk critical section secara bergantian
terus menerus. Proses memeriksa terus menerus sehingga kondisi siap untuk
diproses. Kondisi ini
tidak dapat ditentukan lamanya waktu sehingga menyia-nyiakan waktu
pemroses.
Suatu saat kondisi akan crash ketika ada proses yang harus segera
masuk sementara
ada proses lain yang masih berjalan.
2.2.4 Metode dengan Busy Waiting
Metode secara perang kat Lunak
a.
Metode Penyelesaian Dekker
Algoritma Dekker mempunyai properti-properti berikut :
·
Tidak memerlukan instruksi-instruksi
perangkat keras khusus
·
Proses yang beroperasi di luar
critical section tidak dapat mencegah proses lain
memasuki critical section.
·
Proses yang ingin masuk critical section akan segera masuk bila
dimungkinkan.
Program sulit diikuti dan pembuktian
kebenarannya memerlukan kecerdikan. Peterson memberikan penyelesaian sederhana
dan elegan terhadap personal mutual
exclusion.
b.
Metode Penyelesaian Peterson
Sebelum masuk critical section, proses memanggil
enter_critical_section, namun
sebelumnya proses memeriksa sampai kondisi aman. Terjadi busy
waiting, setelah
selesai proses menandai pekerjaan dan mengijinkan proses lain masuk.
Keadaan awal tidak ada proses di critical section. Proses 0 akan
masuk critical
section. Proses menandai elemen arraynya dan mengeset turn ke 0.
Proses memeriksa kondisi, dan prosedur enter_critical_section dilaksanakan.
Jika kemudian, proses 1
akan masuk, proses akan menunggu sampai interest(0) menjadi FALSE.
Kondisi ini
hanya terjadi jika proses 0 mengeset elemen itu dan keluar dari
critical section.
Metode dengan dukungan perangkat keras
a.
Metode Pematian Interupsi
Proses mematikan interupsi ke pemroses dan segera masuk ke critical
section. Proses
kembali mengaktifkan interupsi segera
setelah meninggalkan critical section.
Metodeini mengakibatkan :
·
Pemroses tidak dapat beralih ke
proses lain karena interupsi clockü
dimatikan
sehingga penjadual pun tidak dieksekusi.
Karena penjadual tidak beroperasi maka
tidak terjadi alih proses.
·
Proses dapat memakai memori
bersama tanpa takut terinvensi proses lain karena
memang tidak ada proses lain yang dieksekusi
saat itu.
Kelemahan utama :
·
Bila proses yang mematikan
interupsi mengalami gangguan maka proses tidak
akan pernah menghidupkan interupsi kembali. Kejadian ini mengakibatkan
kematian
seluruh sistem.
·
Jika terdapat dua pemroses atau
lebih, mematikan interupsi hanya berpengaruh
pada pemroses yang sedang mengeksekusi intruksi itu. Proses lain
masih dapat
memasuki critical section.sistem ini tidak dapat diterapkan pada sistem multiprocessor.
Teknik memarikan interupsi dapat digunakan untuk
proses-proses kernel (di sistem uniprocessor ) yang sangat kritis yang
tidak boleh diintervensi proses lain seperrti saat memodifikasi PBC. Teknik
pematian interupsi ini tidak cocok untuk mekanisme mutual exclusion pada proses-proses pemakai.
b.
Metode Test and Set Lock (TSL)
Metode ini membaca isi memori ke register dan kemudian menyimpan
nilai bukan 0
ke alamat memori. Pemroses yang mengeksekusi instruksi tsl mengunci
bus memori,
mencegah pemroses lain mengkases memori.
c.
Metode dengan instruksi exchange (XCHG)
instruksi
exchange (xchg)
Metode ini menggunakan instruksi exchange (xchg). Instruksi xchg
menukarkan dua
isi memori.
d.
Metode intruksi
mesin
penggunaan intruksi mesin untuk
memaksakan mutual exclusion mempunyai
kelebihan
dan kelemahan.
Kelebihan :
Sederhana dan mudah diverifikasi
Dapat diterapkan ke sembarang jumlah proses
Dapat digunakan untuk mendukung banyak critical
region
Kelemahan :
Merupakan metode dengan busy waiting, sangat
tidak efisien.
Adanya busy waiting memungkinkan terjadi deadlock dan
starvation
2.2.5 Metode dengan semaphorea
Deskripsi
semaphore
Dua proses atau lebih dapat bekerja sama dengan menggunakan
penanda-penanda sederhana. Proses berhenti sampai proses memperoleh penanda
tertentu. Variabel khusus untuk penandaan ini disebut semaphore.
Semaphore mempunyai dua properti yaitu:
a)
Semaphore dapat diinisialisasi
dengan nilai bukan negative.
b)
Ada dua operasi terhadap
semaphore yaitu Operasi Up dan Operasi Down.
a. Operasi Down
Operasi
ini menurunkan nilai semaphore. Jika nilai semaphore menjadi bukan positif maka
proses
yang mengeksekusinya diblok. Operasi Down adalah atomic (atomic action), tidak
dapat
diinterupsi sebelum selesai. Menurunkan nilai, memeriksa nilai, menempatkan
proses
pada
antrian dan memblok sebagai instruksi tunggal. Tidak ada proses lain yang dapat
diakses sampai proses selesai.
b. Operasi Up
Operasi ini menaikkan nilai semaphore. Jika satu proses atau lebih telah diblok pada suatu semaphore tidak dapat menyelesaikan operasi down maka salah satu dipilih oleh system dan dibolehkan menyelesaikan operasi downnya. Operasi Up menaikan nilai semaphore, memindahkan dari antrian dan menempatkan satu proses ke senarai ready tidak dapat diinterupsi.
Sebelum
masuk critical section, proses melakukan down. Bila berhasil maka proses masuk
critical section. Bila tidak berhasil maka proses diblok pada semaphore. Proses
yang diblok dapat melanjutkan jika proses yang berada di critical section
keluar dan melakukan operasi up dan menjadikan proses yang diblok menjadi ready
dan berlanjut hingga operasi downnya berhasil.
2.2.6 Implementasi
Semaphore
1. Pematian Interupsi
Sistem operasi mematikan interupsi selagi memeriksa semaphore, memperbarui, dan menjadikan proses diblok. Karena semua aksi hanya memerlukan beberapa instruksi, pematian interupsi tidak merugikan.
2. Instruksi tsl
Pada banyak pemroses, tiap semaphore dilindungi variable lock dan instruksi tsl agar menjamin hanya satu pemroses yang saat itu memanipulasi semaphore
Sistem operasi mematikan interupsi selagi memeriksa semaphore, memperbarui, dan menjadikan proses diblok. Karena semua aksi hanya memerlukan beberapa instruksi, pematian interupsi tidak merugikan.
2. Instruksi tsl
Pada banyak pemroses, tiap semaphore dilindungi variable lock dan instruksi tsl agar menjamin hanya satu pemroses yang saat itu memanipulasi semaphore
BAB III
PENUTUP
Demikianlah
makalah tentang konkurensi ini kami buat dengan sebaik-baiknya. Kami berharap
mahsisawa/I dapat mengerti tentang sinkronisasi ini. Selain itu, kami berharap
dapat membantu teman-teman untuk memecahkan masalah yang sering terjadi dalam
sistem operasi.
Demikianlah
makalah ini kami buat dengan segala kekurangannya, untuk menyelesaikan makalah
yang telah diberikan dosen kepada kami. Harapan kami dengan tersusunnya makalah
ini, pembaca dapat mengambil hikmahnya, serta sebagai bahan pemikiran dan
pembelajaran lebih lanjut terhadap masalah-maslah yang sering terjadi di dalam
suatu sistem operasi.
Akhirnya
kami ucapkan terima kasih kepada semua pihak yang telah membantu tersusunnya
makalah ini. Dan sekali lagi kami harap saran dan kritik dari para pembaca
apabila ada sesuatu yang kurang dalam tugas ini, demi kesempurnaannya.
3.1 Kesimpulan
Mutual
exclusion adalah jaminan hanya satu proses yang mengakses sumber daya pada satu
interval waktu tertentu. Sumber daya yang tidak dapat dipakai bersama pada saat
bersamaan.
Sering
terjadi pada peralatan pencetakan (printer). Daemon printer adalah
proses yang melakukan penjadwalan dan pengendalian pencetakan berkas-berkas di
printer. Ruang disk ini disebut direktori spooler. Direktori spooler membagi
disk menjadi sejumlah slot. Slot-slot diisi berkas yang akan dicetak. Terdapat
variabel in yang menunjuk slot bebas pada ruang disk yang akan dipakai
untuk menyimpan berkas yang ingin dijadwalkan untuk dicetak. Bagian program
yang sedang mengakses memory atau sumber daya yang dipakai bersama
disebut critical section. Jika proses pada critical section memblokir
proses-proses lain dalam antrian, maka akan terjadi startvation dan deadlock.
3.2 Saran
Penulis menyadari
berbagai kekurangan dalam penulis makalah ini yang dikarenkan berbagai faktor,
salah satunya keterbatasan pengetahuan penulis. Karena itu diharapkan kritik
dan saran untuk membanguni demi kesempurnaan makalah yang dibuat ini.
Contoh Makalah MUTUAL EXCLUSION
4/
5
Oleh
herrgappon
1 comments:
Play Bally Slots Games in Asia bk8 bk8 메리트카지노 메리트카지노 3148Best Casinos of 2021 - Rummy tips fixed matches
Reply