Proses merupakan suatu aktivitas pada
program yang sedang di eksekusi atau dijalnkan oleh sebuah sistem, namun banyak
pada implementasiannya kita sering menggunakan proses ini secara bersama dengan
proses lain dalam satu waktu yang di sebut juga dengan sinkronisasi. Dalam
menjalankan proses sinkronisai sering mengalami kendala pada sistem yang di
karenakan banyak data-data yang crash dalam prosesnya yang mengakibatkan data
tersebut menjadi tidak kongkruen.
Sinkronisasi proses
data secara bersamaan kemudian proses tersebut di bagi bersama yang dapat
mengakibatkan inkosistensi data. tujuan dari sinkronisasi itu sendiri yaitu
untuk menghindari terjadinya inkonsitensi data karena pengaksesan oleh beberapa
proses yang berbeda serta untuk mengatur urutan jalannya proses-proses tersebut
,sehingga dapat berjalan dengan baik dan sesuai apa yang di inginkan.
Adapun ada beberapa masalah atau
kendala yang terjadi ketika ketika mengeksekusi proses secara bersamaan pada
sistem operasi, seperti masalah Race
condition dan Critical section. Race
conditon sendiri adalah memproses kedua data pada directori yanng sama dan
hasil dari kedua proses tersenut bergantung pada proses yang terahir di
eksekusi oleh sistem. Critical section sendiri
yaitu sebuah segmen kode di mana sebuah
proses yang mana sumber daya bersama diakses.
(08-03-2017
, 22.30)
Semaphore
Semaphore adalah salah satu teknik sinyal sederhana, dan merupakan
konsep penting dalam OS desain, dimana sebuah nilai integer digunakan untuk
pensinyalan antara proses. Hanya tiga operasi yang mungkin dilakukan pada
semaphore, yang semuanya atom: inisialisasi, penurunan, dan penaikan. Operasi
pengurangan dapat mengakibatkan terhalangnya proses, dan kenaikan dari
pengoperasian yang sedang berlangsung dapat mengakibatkan terblokirnya suatu
proses. Hal ini juga dikenal sebagai sebuah perhitungan semaphore atau
semaphore umum.
(09-03-2017 , 22.20)
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. 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.
(09-03-2017 , 22.30)
Monitor dalam sistem operasi
Monitor adalah kumpulan prosedur, variabel dan struktur data di satu modul
atau paket khusus. Proses dapat memanggil prosedur-prosedur kapan pun
diinginkan. Tapi proses tak dapat mengakses struktur data internal dalam
monitor secara langsung. Hanya lewat prosedur-prosedur yang dideklarasikan
minitor untuk mengakses struktur internal.
(08-03-2017 , 22.00)
1.
Monitor : Mutual Exclusion dengan Semaphore
Monitor dibagi kedalam tiga jenis, berikut adalah contoh-contoh
monitor yaitu :
A. Monitor dengan
Signal (Monitor Hoare)
Monitor ini mempunyai prosedur didalam modul monitor dimana hanya
dapat diakses oleh prosedur lokal, jika suatu proses masuk kedalam monitor
yaitu dengan cara meminta salah satu prosedur yang terdapat pada monitor. Suatu
saat hanya terdapat satu proses yang dapat dieksekusi dalam monitor(proses
lainnya menunggu giliran dan tidak membutuhkan semaphore). Jika terdapat data
variabel global maka akan dapat dilindungi bila ditempatkan didalam monitor.
B. Monitor
dengan Notify (Monitor Lampson-Redell)
Adapun tujuan dari Monitor dengan Notify adalah untuk mengatasi
kelemahan yang terdapat di monitor. Pada cnotify berfungsi untuk memberitahu
kondisi dari proses di dalam antrian (misal : not empty, not full, dll). Proses
dalam antrian tersebut tidak harus segera dieksekusi, namun menunggu hingga
monitor dalam kondisi tidak sibuk, maka diperlukan pengecekan status monitor
(looping).
C. Monitor dengan Broadcast (Monitor Lampson-Redell)
Monitor dengan Broadcast merupakan pengembangan daripada monitor
sebelumnya yaitu Monitor dengan Notify. Cbroadcast digunakan pada kondisi
dimana jumlah proses yang harus diaktifkan tidak diketahui secara pasti,
cbroadcast(x) akan membuat seluruh proses didalam antrian akan diubah statusnya
menjadi ready ketika menunggu eksekusi kondisi x. (Afkarshad, 2014)
(09
Maret 2017 22.45)
Message Passing adalah proses komunikasi antar bagian sistem untuk
membagi variabel yang dibutuhkan. Proses ini menyediakan dua operasi yaitu
mengirim pesan dan menerima pesan. Kegunaan Message Passing :
- Shared-memory
pada multiprocessor
- Shared-memory
pada uniprocessor
- Sistem
terdistribusi
(08-03-2017 , 22.30)
Barrier
Dalam komputasi paralel , barrier adalah jenis metode sinkronisasi
. Sebuah penghalang untuk sekelompok rangkaian atau proses dalam kode sumber
(source code) yang berarti setiap thread / proses harus berhenti pada titik ini
dan tidak dapat melanjutkan sampai semua rangkaian lainnya / proses mencapai
penghalang ini.
Penghalang dasar memiliki terutama dua variabel, salah satunya
mencatat pass / stop keadaan penghalang, yang lain yang membuat jumlah total
rangkaian yang telah masuk dalam penghalang. Keadaan penghalang diinisialisasi
menjadi "berhenti" dengan rangkaian pertama datang ke penghalang.
Setiap kali thread memasuki, berdasarkan jumlah rangkaian yang sudah di
penghalang, hanya jika itu adalah yang terakhir, rangkaian mengatur keadaan penghalang
untuk menjadi "lulus" sehingga semua rangkaian bisa keluar dari
penghalang. Di sisi lain, ketika thread yang masuk tidak yang terakhir, itu
terjebak dalam penghalang dan terus menguji apakah keadaan penghalang berubah
dari "berhenti" untuk "lulus" dan itu akan keluar hanya
ketika perubahan keadaan penghalang untuk menjadi "lulus".
(Wikipedia)
(09-03-2017
22:37)
No comments:
Post a Comment