|
Metode dan Algoritma | Readers and Writers Problem . Anda bisa melakukan konsultasi tentang Readers and Writers Problem melalui form di samping kanan !!!
Masalah pembaca dan penulis (readers and writers problem) memodelkan pengaksesan lebih dari satu proses ke basis data yang sama. Masalahnya dapat dideskripsikan sebagai berikut, diasumsikan terdapat basis data besar seperti sistem reservasi penerbangan dengan proses-proses yang berkompetisi untuk membaca dan menulis pada basis data tersebut. Diasumsikan bahwa sistem tersebut memiliki prosedur sebagai berikut:
1. Mengijinkan banyak proses membaca basis data pada saat yang sama.
2. Jika terdapat satu proses menulis (mengubah) basis data, proses lain tidak boleh mengakses basis data baik membaca atau menulis.
Pada masalah ini, writers memiliki prioritas yang lebih tinggi dari pada readers. Jika ada writer yang sedang menunggu, maka tidak boleh ada reader lain yang bekerja. Writer akan memblok semua proses reading oleh readers dan melakukan proses writing. Ketika proses writing selesai, maka proses reading dapat dilanjutkan kembali oleh readers.
wait(wrt);
...
menulis
...
signal(wrt);
====================================================================
wait(mutex);
readcount:= readcount + 1;
if readcount = 1 then wait(wrt);
signal(mutex);
...
membaca
...
wait(mutex);
readcount:= readcount – 1;
if readcount = 0 then signal(wrt);
signal(mutex);
Algoritma diatas menunjukkan masalah reader dan writer. Jika ada writer dalam critical section dan ada n reader yang menunggu, maka satu reader akan antri di wrt, dan n – 1 reader akan antri. Jika writer mengeksekusi signal (wrt), maka dapat disimpulkan bahwa eksekusi adalah menunggu reader atau menunggu satu writer.
Permasalahan readers and writers problem ini hampir sama dengan manajemen penggunaan basis data (Microsoft Access, SQL Server, dan database engine lainnya) dalam kehidupan sehari-hari, dimana record tidak akan dapat diakses oleh pengguna ketika record sedang dieksekusi oleh pengguna lain untuk proses insert, delete atau update. Ketika mengerjakan proses insert, delete atau update, database engine mengunci (lock) basisdata, sehingga semua aksi membaca dan aksi menulis lainnya pada tabel yang sama dan pada basis data yang sama diblok hingga proses selesai dikerjakan.
ActionScript AS3 ASP.NET AJAX C / C++ C# Clipper COBOL ColdFusion DataFlex Delphi Emacs Lisp Fortran FoxPro Java J2ME JavaScript JScript Lingo MATLAB Perl PHP PostScript Python SQL VBScript Visual Basic 6.0 Visual Basic .NET Flash MySQL Oracle Android
Related Post :
Judul: Readers and Writers Problem
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2
Anda sedang membaca artikel tentang
Readers and Writers Problem, Semoga artikel tentang Readers and Writers Problem ini sangat bermanfaat bagi teman-teman semua, jangan lupa untuk mengunjungi lagi melalui link
Readers and Writers Problem.