Process Synchronization
PENGERTIAN Sinkronisasi
Sinkornisasi di perlukan untuk menghindari terjadinya ketidak konsistenan data akibat adanya akses secara konkuren.
Proses-Proses tersebut disebut konkukuren jika Proses itu ada dan berjalan pada waktu yang bersamaan.
perangkat Sinkronisasi adalah:
Intruksi Test-and-set adalah Intuksi atomik yang dapat dihunakan untuk menangani masalah Critical Section.
test send set dapat dianalogikan dengan kode dibawah ini:
function test-and-set (var target; boolean) boolean;
begin
test-and-set ; = target:
target : = true ;
end
Semafor merupakan sebuah variabel yang hanya dapat di akses oleh dua buah operasi standar yaitu increment dan decrement.
Monitor digunakan untuk menangani masalah yang akan muncul karna pemakai semafor.
JVM iyalah mengimplementasikan monitor. monitor JVM dapat digunakan menggunakan keyword synchronization
manfaat Sinkronisasi iyalah:
sebagai penyimpanan data sementara dan non sementara agar dapat mempermudah pekerjaan.
Masalah pada Sinkronisasi terdapat dari masalah lainnya, seperti Masalah
Race Condition dan Critical Section.
Race Condition
Race Condition merupakan suatu kondisi dimana dua atau lebih proses mengakses sumber daya secara bersama sama.
Cara Menghindari Race Condition
Jika suatu proses sedang menjalankan Critical Section, maka proses lain tidak bisa masuk kedalam Critical Section tersebut.
Pengertian Critical Section
Critical Section merupakan suatu kode segmen dari proses-proses yang memungkinkan terjadinya Race Condition.
beberapa kode dalam Critical Section , kode tersebut iyalah :
Entry Section : kode yang difungsikan untuk masuk ke dalam critical section
Critical Section : di mana kode ini hanya ada dalam satu proses yang dapat dieksekusi pada satu waktu.
Exit Section: akhir dari critical section, dan mengizinkan proses lain.
Remainder Section : kode istirahat setelah masuk ke proses critical section.
Solusi Critical Section adalah:
Mutual Exclusion : Jika proses pi sedang mengeksekusi critical section-nya maka tidak ada proses lain yang dapat mengeksekusi dalam critical section mereka.)
terjadinya Kemajuan (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 bias ditunda.
Adanya batas waktu tunggu (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.
Critical Section dalam kernel adalah:
Interupsi :
Interupsi merupakan pusat pada sistem operasi, yang menyediakan cara efisien bagi sistem operasi untuk berinteraksi terhadap lingkungannya. Pemrograman berbasis interupsi secara langsung didukung hampir dengan seluruh CPU modern.
Page Fault:
Page fault merupakan exception untuk permintaan alokasi page ke memori. Dalam konteks memori maya, page fault sering disingkat fault.
Kernel code memanggil fungsi penjadwalan sendiri.
Critical Section mempunyai beberapa kode :
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.
Alamat Blog Dosen : https://syaifulahdan.wordpress.com
Alamat web Program studi, Fakultas, Universitas : http://ti.ftik.teknokrat.ac.id, http://ftik.teknokrat.ac.id, www.teknokrat.ac.id
Nama Mahasiswa : Dandi Aldion Hartanto
Alamat artikel : https://www.gurupendidikan.co.id/pengertian-sinkronisasi-sistem-operasi-lengkap/
Komentar
Posting Komentar