SINKRONISASI PROSES SISTEM OPERASI
Materi SISTEM OPERASI SEMESTER 3
SINKRONISASI PROSES
PENDAHULUAN
A. Definisi Sinkronisasi
Sinkronisasi diperlukan untuk menghindari terjadinya ketidak konsistenan data akibat adanya akses secara konkuren
(Proses perancangan sistem informasi).
Sinkronisasi adalah proses pengaturan jalannya beberapa proses pada saat yang bersamaan.Tujuan utama sinkronisasi adalah menghindari terjadinya inkonsistensi data karena pengaksesan oleh beberapa proses yang berbeda.
(mutual exclusion) serta untuk mengatur urutan jalannya proses-proses sehingga dapat berjalan dengan lancar dan terhindar dari deadlock atau starvation.Deadlock dan Starvation keduanya adalah kondisi di mana proses meminta sumber daya telah lama tertunda.
B. Proses sinkronisasi
Proses sinkronisasi ada 2 proses, yaitu:
1. Sinkronisasi proses
Yaitu mengacu pada gagasan bahwa banyak proses yang nantinya atau pada titik tertentu akan bergabung dalam rangka untuk mencapai suatu kesepakatan tertentu
2. Sinkronisasi data
Yaitu mengacu pada gagasan untuk menjadi beberapa Salinan data dari dataset di dalam konkurensi dengan satu sama lainnya untuk menjaga integritas data.
C. Manfaat Sinkronisasi
Yaitu sebagai penyimpanan data sementara dan non sementara agar dapat mempermudah pekerjaan.
Agenda
TOPIK UTAMA DALAM PRESENTASI INI
RACE CONDITION
CRITICAL SECTION
SEMAPHORE
1.RACE CONDITION
•Race condition adalah kondisi di mana beberapa proses mengakses dan memanipulasi data bersama pada saat bersamaan. Nilai akhir dari data bersama tersebut tergantung pada proses yang terakhir selesai. Untuk mencegah race condition, proses-proses yang berjalan bersamaan harus di sinkronisasi.
2.CRITICAL SECTION
Critical Section adalah sebuah segmen kode dari sebuah proses yang mana sumber daya diakses bersamaan. Terdiri dari:
Entry Section: kode yang digunakan untuk masuk ke dalam critical section
Critical Section: Kode di mana hanya ada satu proses yang dapat dieksekusi pada satu waktu
Exit Section: akhir dari critical section, mengizinkan proses lain
Remainder Section: kode istirahat setelah masuk ke critical section
SOLUSI UNTUK MENGATASI CRITICAL SECTION
MUTUAL SECTION
BOUNDED WAITING
PROGRESS
MUTUAL EXCLUTION
Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.
PROGRESS
Jika tidak ada proses yang sedang dieksekusi dalam critical section dan ada beberapa proses yang ingin masuk ke critical section mereka, maka pemilihan proses yang akan masuk ke critical section berikutnya tidak bisa ditunda.
BOUNDED WAITING
Suatu keterikatan harus ada pada sejumlah proses yang diijinkan masuk ke critical section mereka, setelah adanya proses yang meminta masuk ke critical section dan sebelum permintaan itu diterima.
3.SEMAPHORE
Semaphore adalah sebuah variabel bertipe integer yang selain saat inisialisasi.Dalam kehidupan nyata, semaphore adalah sistem sinyal yang digunakan untuk berkomunikasi secara visual. Dalam software, semaphore adalah sebuah variabel bertipe integer yang selain saat inisialisasi, hanya dapat diakses melalui dua operasi standar, yaitu increment dan decrement.
Semaphore digunakan untuk menyelesaikan masalah sinkronisasi secara umum. Berdasarkan jenisnya, semaphore hanya bisa memiliki nilai 1 atau 0, atau lebih dari sama dengan 0. Konsep semaphore pertama kali diajukan idenya oleh Edsger Dijkstra pada tahun 1967.
Operasi standar pada semaphore (dalam bahasa pemrograman C):
void kunci(int sem_value) {
while(sem_value <= 0);
sem_value–;
}
void buka(int sem_value) {
sem_value++;
}
1. Jenis-jenis Semaphore, yaitu:
a) Binary semaphore. Semaphore ini hanya memiliki nilai 1 atau 0. Sering juga disebut sebagai semaphore primitive
b) Counting semaphore. Semaphore ini memiliki nilai 0, 1, serta integer lainnya. Banyak sistem operasi yang tidak secara langsung mengimplementasikan semaphore ini, tetapi dengan memanfaatkan binary semaphore
2. Prinsip semaphore :
a) Dua proses atau lebih dapat bekerja sama dengan menggunakan penanda-penanda sederhana
b) Proses dipaksa berhenti sampai proses memperoleh penanda tertentu
c) Variabel khusus untuk penandaan ini disebut semaphore
Komentar
Posting Komentar