Sinkronisasi
Sistem Operasi
A. Definisi Singkronisasi
Abraham
Silberschatz, Peter Baer Galvin, Greg Gagne (dari buku "Operating System
Concepts")
Menurut
mereka, singkronisasi adalah mekanisme yang digunakan untuk mengoordinasikan
akses ke sumber daya bersama atau untuk mengatur urutan eksekusi antara tugas atau
proses.
Andrew S.
Tanenbaum (dari buku "Modern Operating Systems")
Tanenbaum
mendefinisikan singkronisasi sebagai teknik yang digunakan untuk memastikan
bahwa dua atau lebih proses bekerja dengan benar satu sama lain, terutama dalam
hal akses ke data bersama.
William
Stallings (dari buku "Operating Systems: Internals and Design
Principles"):
Stallings
menggambarkan singkronisasi sebagai teknik untuk mengoordinasikan akses ke
sumber daya yang bersamaan sehingga mencegah terjadinya situasi yang dapat merusak
integritas data.
Secara
umum, tujuan dari singkronisasi dalam sistem operasi adalah mencegah konflik
akses terhadap sumber daya bersama, memastikan konsistensi data, dan menjaga
urutan eksekusi proses sehingga sistem dapat beroperasi dengan benar dan efisien.
Dalam lingkup yang lebih luas, singkronisasi juga membantu menghindari deadlock
dan race condition yang dapat terjadi dalam lingkungan multiproses.
Manfaat
sikronisasi pada sistem operasi adalah:
1. Adanya
akses data yang sama dan di lakukan
secara
bersamaan bisa saja menyebabkan data
menjadi
tidak konsisten
2. Agar
semua data yang ada tetap konsisten
membutuhkan
mekanisme-mekanisme agar bisa di
pastikan
proses eksekusi berjalan.
3. Adanya
Race Condition yaitu kondisi
dimana
beberapa proses mengakses
dan
memanipulasi data secara bersamaan akan
membuat
nilai terkhirnya nanti bergantung dari
proses
mana yang duluan diakhiri.
B. Race Condition
Race
Condition merupakan situasi dimana beberapa
proses
mengakses dan memanipulasi data secara
bersamaan.
Nilai terakhir dari data bergantung dari proses
mana yang
selesai terakhir. Untuk menghindari Race
Condition,
proses-proses secara bersamaan harus disinkronisasikan.
Dalam
beberapa sistem operasi, proses-proses yang
berjalan
bersamaan mungkin untuk membagi beberapa
penyimpanan
umum, masing-masing dapat melakukan
proses
baca (read) dan proses tulis (write). Penyimpanan
bersama
(shared storage) mungkin berada di memori utama
atau
berupa sebuah berkas bersama, lokasi dari memori
bersama
tidak merubah kealamian dari komunikasi atau
masalah
yang muncul.
C. Critical Section Critical
Section
merupakan sebuah segmen kode dimana sebuah proses memiliki sumber daya bersama
yang diakses terdiri dari:
Entry
Section, kode yang digunakan untuk masuk ke dalam critical section
Critical
Section, kode dimana hanya ada satu proses yang dapat dieksekusi pada satu
waktu
Exit
Section, akhir dari critical section, mengizinkan proses lain
Remainder
Section, merupakan kode istirahat setelah masuk ke critical section.
D.Semaphore
Semaphore
adalah pendekatan yang diajukan oleh Djikstra, dengan prinsip bahwa dua proses
atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana.
Seperti proses dapat dipaksa berhenti pada suatu saat, sampai proses
mendapatkan penanda tertentu itu. Sembarang kebutuhan koordinasi kompleks dapat
dipenuhi dengan struktur penanda yang cocok untuk kebutuhan itu. Variabel
khusus untuk penanda ini disebut semaphore. Sifat semaphore, yaitu:
Semaphore
dapat diinisialisasi dengan nilai nonnegatif.
Terdapat
dua operasi terhadap semaphore, yaitu Down dan Up. Usulan asli yang
disampaikanDjikstra adalah operasi P dan V.
إرسال تعليق