Sistem Operasi
mempelajari tentang sistem operasi
Rabu, 19 Juni 2013
Rabu, 24 April 2013
Mutual Exclusion
Penjelasan tema 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 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. Jadi, Mutual Exclusive terjadi
ketika hanya ada satu proses yang boleh memakai sumber daya, dan proses lain
yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi
dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
Pengertian lain Mutual exclusion adalah jaminan hanya satu proses
yang mengakses sumber daya pada suatu interval waktu tertentu, sedangkan proses
lain dilarang mengerjakan hal yang sama -> contoh : sumberdaya printer hanya
bisa diakses 1 proses, tidak bisa bersamaan -> sumber daya ini disebut
sumber daya kritis.
Bagian program yang sedang mengakses memori atau sumberdaya yang
dipakai bersama disebut critical section / region. Kesuksesan
proses-proses kongkuren memerlukan pendefinisian critical section dan memaksakan
mutual exclusion diantara proses-proses kongkuren yang sedang berjalan.
Pemaksaan mutual exclusion merupakan landasan pemrosesan kongkuren, namun
pemaksaan mutual exclusion dapat menimbulkan 2 masalah yaitu :
- Deadlock
Adalah banyak proses yang saling menunggu hasil dari proses yang
lain untuk dapat melanjutkan atau menyelesaikan tugasnya.
- Startvation
Adalah suatu proses akan menunggu suatu kejadian atau hasil suatu
proses lain supaya dapat menyelesaikan tugasnya, tetapi kejadian yang ditunggu
tidak pernah terjadi karena selalu diambil lebih dulu oleh proses yang lain.
1.
Pengertian DeadLock
Deadlock secara
harfiah adalah kebuntuan. Sedangkan
dalam sistem operasi berarti suatu kondisi di mana sekumpulan proses tidak
dapat berjalan kembali atau tidak adanya komunikasi antar proses. Definisi
lainnya yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang
sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh
proses di dalam kumpulan tersebut.
2.
Penyebab utama terjadinya
deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses.
Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada. Jadi
deadlock berhubungan erat dengan tersedianya sumber daya dari komputer.
3.
Penyebab utama terjadinya
deadlock adalah terbatasnya sumber daya yang
akan digunakan oleh proses-proses. Tiap proses berkompetisi untuk memperebutkan
sumber daya yang ada. Jadideadlock berhubungan erat dengan tersedianya sumber
daya dari
komputer
2. Pengertian Startvation
Perkembangan sistem komputer mendatang adalah menuju ke sistem multi-processing,
multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal
demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan
terdapat lebih dari satu proses disebut dengan kongkurensi
(proses-proses yang kongkuren). Dan dalam kongruensi ini pasti ada masalah yang
salah satunya adalah STARVATION. Starvation adalah
kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource
(karena terjadi deadlock) tidak akan pernah mendapat resource yang
dibutuhkan sehingga mengalami starvation (kelaparan).
Mutual Exclusion
Penjelasan tema 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 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. Jadi, Mutual Exclusive terjadi
ketika hanya ada satu proses yang boleh memakai sumber daya, dan proses lain
yang ingin memakai sumber daya tersebut harus menunggu hingga sumber daya tadi
dilepaskan atau tidak ada proses yang memakai sumber daya tersebut.
Pengertian lain Mutual exclusion adalah jaminan hanya satu proses
yang mengakses sumber daya pada suatu interval waktu tertentu, sedangkan proses
lain dilarang mengerjakan hal yang sama -> contoh : sumberdaya printer hanya
bisa diakses 1 proses, tidak bisa bersamaan -> sumber daya ini disebut
sumber daya kritis.
Bagian program yang sedang mengakses memori atau sumberdaya yang
dipakai bersama disebut critical section / region. Kesuksesan
proses-proses kongkuren memerlukan pendefinisian critical section dan memaksakan
mutual exclusion diantara proses-proses kongkuren yang sedang berjalan.
Pemaksaan mutual exclusion merupakan landasan pemrosesan kongkuren, namun
pemaksaan mutual exclusion dapat menimbulkan 2 masalah yaitu :
- Deadlock
Adalah banyak proses yang saling menunggu hasil dari proses yang
lain untuk dapat melanjutkan atau menyelesaikan tugasnya.
- Startvation
Adalah suatu proses akan menunggu suatu kejadian atau hasil suatu
proses lain supaya dapat menyelesaikan tugasnya, tetapi kejadian yang ditunggu
tidak pernah terjadi karena selalu diambil lebih dulu oleh proses yang lain.
1.
Pengertian DeadLock
Deadlock secara
harfiah adalah kebuntuan. Sedangkan
dalam sistem operasi berarti suatu kondisi di mana sekumpulan proses tidak
dapat berjalan kembali atau tidak adanya komunikasi antar proses. Definisi
lainnya yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang
sumber daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh
proses di dalam kumpulan tersebut.
2.
Penyebab utama terjadinya
deadlock adalah terbatasnya sumber daya yang akan digunakan oleh proses-proses.
Tiap proses berkompetisi untuk memperebutkan sumber daya yang ada. Jadi
deadlock berhubungan erat dengan tersedianya sumber daya dari komputer.
3.
Penyebab utama terjadinya
deadlock adalah terbatasnya sumber daya yang
akan digunakan oleh proses-proses. Tiap proses berkompetisi untuk memperebutkan
sumber daya yang ada. Jadideadlock berhubungan erat dengan tersedianya sumber
daya dari
komputer
2. Pengertian Startvation
Perkembangan sistem komputer mendatang adalah menuju ke sistem multi-processing,
multiprogramming, terdistribusi dan paralel yang mengharuskan adanya proses-proses yang berjalan bersama dalam waktu yang bersamaan. Hal
demikian merupakan masalah yang perlu perhatian dari perancang sistem operasi. Kondisi dimana pada saat yang bersamaan
terdapat lebih dari satu proses disebut dengan kongkurensi
(proses-proses yang kongkuren). Dan dalam kongruensi ini pasti ada masalah yang
salah satunya adalah STARVATION. Starvation adalah
kondisi yang biasanya terjadi setelah deadlock. Proses yang kekurangan resource
(karena terjadi deadlock) tidak akan pernah mendapat resource yang
dibutuhkan sehingga mengalami starvation (kelaparan).
deadlock
Pengertian tentang DeadLock
Deadlock
secara harfiah adalah
kebuntuan. Sedangkan dalam
sistem operasi berarti suatu kondisi di mana sekumpulan proses tidak dapat
berjalan kembali atau tidak adanya komunikasi antar proses. Definisi lainnya
yaitu sekumpulan proses yang terblok yang tiap proses tersebut memegang sumber
daya dan menunggu untuk mendapatkan sumber daya yang dipegang oleh proses di
dalam kumpulan tersebut.
Penyebab utama terjadinya deadlock adalah terbatasnya
sumber daya yang akan digunakan oleh proses-proses. Tiap proses berkompetisi
untuk memperebutkan sumber daya yang ada. Jadi deadlock berhubungan erat dengan
tersedianya sumber daya dari komputer.
Penyebab utama terjadinya deadlock adalah
terbatasnya sumber daya yang akan digunakan oleh proses-proses. Tiap proses
berkompetisi untuk memperebutkan sumber daya yang ada. Jadideadlock berhubungan
erat dengan tersedianya sumber daya dari komputer.
KARAKTERISTIK DEADLOCK
Kondisi yang Diperlukan
Deadlock terjadi bila terdapat
empat kondisi berikut ini secara simultan.
a. Mutual Exclusion : hanya satu proses pada satu
waktu yang dapat menggunakan
sumber daya.
b. Genggam dan Tunggu (Hold and Wait) : suatu proses membawa sedikitnya
satu
sumber daya menunggu mendapatkan
tambahan sumber daya baru yang dibawa
oleh proses
c. Non-Preemption : sebuah sumber daya dapat
dibebaskan dengan sukarela oleh
proses yang memegangnya setelah
proses menyelesaikan task.
d. Menunggu Secara Sirkuler (Circular Wait) : Terdapat sekumpulan proses {P0,
P1, …, P0} yang menunggu sumber daya
dimana P0 menunggu sumber daya
yang dibawa P1, P1 menunggu sumber daya yang
dibawa P2, dan seterusnya,
Pn–1 menunggu sumber daya yang
dibawa oleh
Pn, dan Pn menunggu sumber daya yang
dibawa P0.
Ketiga syarat pertama merupakan
syarat perlu (necessary conditions) bagi
terjadinya deadlock. Keberadaan deadlock selalu berarti terpenuhi
kondisi-kondisi
diatas, tak mungkin terjadi deadlock bila tidak ada ketiga kondisi
itu. Deadlock terjadi
berarti terdapat ketiga kondisi
itu, tetapi adanya ketiga kondisi itu belum berarti terjadi
deadlock.
Deadlock baru benar-benar terjadi bila
syarat keempat terpenuhi. Kondisi
keempat merupakan keharusan bagi
terjadinya peristiwa deadlock.
Bila salah satu saja
dari kondisi tidak terpenuhi maka
deadlock tidak terjadi.
Method untuk
Menangani Deadlock
Pada prinsipnya
kita dapat menangani deadlock dengan beberapa cara:
1. Menggunakan
protokol untuk pencegahan atau penghindaran deadlock, memastikan bahwa sistem
tidak akan memasuki kondisi deadlock.
2. Kita bisa
mendeteksi terjadinya deadlock lalu memperbaiki.
3. Kita juga bisa mengabaikan deadlock, hal ini dilakukan pada sistem
operasi berbasis UNIX.
Untuk memastikan sistem tidak memasuki deadlock, sistem dapat menggunakan pencegahan deadlock atau penghindaran deadlock. Penghindaran deadlock membutuhkan informasi tentang sumber daya yang mana yang akan suatu proses meminta dan berapa lama akan digunakan. Dengan informasi tersebut dapat diputuskan apakah suatu proses harus menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya, apakah ia sedang digunakan oleh proses lain atau tidak. Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance system karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus direstart.
Untuk memastikan sistem tidak memasuki deadlock, sistem dapat menggunakan pencegahan deadlock atau penghindaran deadlock. Penghindaran deadlock membutuhkan informasi tentang sumber daya yang mana yang akan suatu proses meminta dan berapa lama akan digunakan. Dengan informasi tersebut dapat diputuskan apakah suatu proses harus menunggu atau tidak. Hal ini disebabkan oleh keberadaan sumber daya, apakah ia sedang digunakan oleh proses lain atau tidak. Jika sebuah sistem tidak memastikan deadlock akan terjadi, dan juga tidak didukung dengan pendeteksian deadlock serta pencegahannya, maka kita akan sampai pada kondisi deadlock yang dapat berpengaruh terhadap performance system karena sumber daya tidak dapat digunakan oleh proses sehingga proses-proses yang lain juga terganggu. Akhirnya sistem akan berhenti dan harus direstart.
MENCEGAH DEADLOCK
Metode ini berkaitan dengan
pengkondisian sistem agar menghilangkan kemungkinan terjadinya deadlock. Pencegahan merupakan solusi
yang bersih dipandang dari sudut tercegahnya deadlock. Metode ini sering menghasilkan utilisasi sumber daya yang buruk.
Pencegahan deadlock merupakan metode yang banyak dipakai.
Untuk mencegah deadlock dilakukan
dengan meniadakan salah satu dari syarat perlu sebagai berikut
1. Mencegah Mutual Exclusion
Mutual exclusion benar-benar tak dapat dihindari.
Hal ini dikarenakan tidak ada
sumber daya yang dapat digunakan
bersama-sama, jadi sistem harus membawa
sumber daya yang tidak dapat
digunakan bersama-sama.
2. Mencegah Hold and Wait
Untuk mencegah hold and wait,
sistem harus menjamin bila suatu proses meminta
sumber daya, maka proses tersebut
tidak sedang memegang sumber daya yang lain.
Proses harus meminta dan
dialokasikan semua sumber daya yang diperlukan
sebelum proses memulai eksekusi
atau mengijinkan proses meminta sumber daya
hanya jika proses tidak membawa
sumber daya lain. Model ini mempunyai utilitas
sumber daya yang rendah dan
kemungkinan terjadi starvation jika proses
membutuhkan sumber daya yang
popular sehingga terjadi keadaan menunggu yang
tidak terbatas karena setidaknya
satu dari sumber daya yang dibutuhkannya
dialokasikan untuk proses yang
lain.
3. Mencegah Non Preemption
Peniadaan non preemption mencegah proses-proses lain harus
menunggu. Seluruh
proses menjadi preemption, sehingga tidak ada tunggu
menunggu. Cara mencegah
kondisi non preemption :
o Jika
suatu proses yang membawa beberapa sumber daya meminta sumber daya
lain yang tidak dapat segera
dipenuhi untuk dialokasikan pada proses tersebut,
maka semua sumber daya yang
sedang dibawa proses tersebut harus
dibebaskan.
o Proses
yang sedang dalam keadaan menunggu, sumber daya yang dibawanya
ditunda dan ditambahkan pada
daftar sumber daya.
o Proses
akan di restart hanya jika dapat memperoleh sumber daya yang lama dan
sumber daya baru yang diminta.
4. Mencegah Kondisi Menunggu Sirkular
Sistem mempunyai total permintaan
global untuk semua tipe sumber daya. Proses
dapat meminta proses kapanpun
menginginkan, tapi permintaan harus dibuat terurut
secara numerik. Setiap proses
yang membutuhkan sumber daya dan memintanya
maka nomor urut akan dinaikkan.
Cara ini tidak akan menimbulkan siklus.
Masalah yang timbul adalah tidak
ada cara pengurutan nomor sumber daya yang
memuaskan semua pihak.
Langganan:
Postingan (Atom)