Metode & Algoritma | List Tutorials | Source Code | About | Sitemap
Konsultan Tesis
Bimbingan dan Konsultasi Tesis Informatika bersama team Project Graduate Indonesia. Konsultasi hanya untuk yang sudah me-Like FB kami (Silahkan LIKE tombol ini jika belum).
. Scroll kebawah untuk memasukan kode AntiSpam Protection. Hasil konsultasi akan kami kirimkan ke email Anda.

Pengertian Semaphore




.


Metode dan Algoritma | Pengertian Semaphore . Anda bisa melakukan konsultasi tentang Pengertian Semaphore melalui form di samping kanan !!!


Pada tahun 1967, Djikstra mengajukan suatu konsep dimana kita memakai suatu variable integer untuk menghitung banyaknya proses yang sedang aktif atau yang sedang tidur. Jenis variabel ini disebut 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.
Semaphore mempunyai dua sifat, yaitu:
1. Semaphore dapat diinisialisasi dengan nilai non-negatif.
2. Terdapat dua operasi terhadap semaphore, yaitu Wait dan Signal.
Semaphore S merupakan variabel bertipe integer yang diakses dengan 2 operasi yang bersifat atomic, yaitu wait dan signal. Operasi-operasi ini diwakili dengan P (wait) dan V(signal), sebagai berikut:
wait(S) : while S < 0 do no_op;
S:= S – 1;
signal(S) : S:= S + 1;
Misalkan ada 2 proses yang sedang berjalan secara simultan, yaitu proses P1 dengan pernyataan S1 dan proses P2 dengan S2. Andaikan kita mengharapkan S2 baru akan dijalankan hanya setelah S1 selesai. Hal ini dapat dilakukan dengan menggunakan bantuan sempahore synch (dengan nilai awal = 0) yang akan di-share oleh kedua proses.
Untuk Proses P1:
S1;
signal (synch);
Untuk Proses P2:
wait(synch);
S2;
Karena nilai awal untuk variabel ‘synch’ adalah nol, maka P2 akan mengeksekusi S2 hanya setelah P1 mengerjakan instruksi ‘signal(synch)’ setelah eksekusi S1.
Salah satu kerugian dari penggunaan sempahore di atas adalah adanya busy waiting. Apabila suatu proses menempati critical section, dan ada proses lain yang ingin masuk critical section, maka akan terjadi iterasi secara terus-menerus. Hal ini akan menimbulkan masalah pada sistem yang menggunakan konsep multiprogramming.
Untuk menghindari busy waiting, dilakukan modifikasi pada operasi wait dan signal. Jika suatu proses sedang mengeksekusi operasi wait, maka nilai semaphore menjadi tidak positif. Pada saat ini, proses akan memblok dirinya sendiri dan ditempatkan pada waiting queue. Proses yang sedang diblok akan menunggu hingga sempahore S di-restart, yaitu pada saat beberapa proses yang lain mengeksekusi operasi signal. Suatu proses akan di-restart dengan operasi wakeup, yang akan mengubah proses dari keadaan waiting ke ready. Untuk mengimplementasikan hal ini, semaphore dirancang dalam bentuk record:
type sempahore = record;
value: integer;
L: list of process;
end;
Var S: sempahore;



Semaphore mempunyai 2 jenis operasi, yaitu:
1. Operasi Down
Operasi ini menurunkan nilai semaphore, jika nilai semaphore menjadi non-positif atau negatif maka proses yang dicegah untuk mengeksekusi critical section.
Type Semaphore = Integer,
Procedure Down(Var: semaphore);
Begin
s := s-1;
if s <= 0 Then
Begin
Tempatkan antrian pada antrian untuk semaphores
Proses diblocked
End;
End;

Operasi Down adalah atomic, tidak dapat diinterupsi sebelum diselesaikan. Jika dimulai, tak ada proses lain yang dapat mengakses semaphore sampai operasi selesai atau di-blocked.
2. Operasi UP
Operasi Up berfungsi untuk menaikkan nilai semaphore. Jika satu proses atau lebih di-blocked pada semaphore itu tak dapat menyelesaikan operasi down, maka salah satu dipilih oleh sistem dan menyelesaikan operasi down-nya. Urutan proses yang dipilih tidak ditentukan oleh Djikstra, dapat dipilih secara acak.
Type Semaphore = Integer,
Procedure Down(Var: semaphore);
Begin
s := s + 1;
if s <= 0 Then
Begin
Pindahkan satu proses P dari antrian untuk semaphore s
Tempatkan proses P di senarai ready
End;
End;

Adanya semaphore mempermudah persoalan mutual exclusion. Skema penelesaian mutual exclusion mempunyai bagan sebagai berikut:
Cons N = 2;
Var S:semaphore;
Procedure enter_critical_section;
{
mengerjakan kode-kode kritis
}
Procedure enter_noncritical_section;
{
mengerjakan kode-kode tak kritis
}
ProcedureProses(i: integer);
Begin
Repeat
Down(s);
Enter_critical_section;
Up(s);
Enter_noncritical_section;
Forever
End;
Begin
S:= 1;
Parbegin
Proses(0);
Proses(1);
ParEnd
End;

Sebelum masuk critical selection, proses melakukan down, bila berhasil maka proses masuk ke critical selection, bila tidak berhasil maka proses di-bolcked atas semaphore itu. Proses yang di-blocked akan dapat melanjutkan kembali bila proses yang ada di critical selection keluar dan melakukan operasi up sehingga menjadikan proses yang di-blocked ready dan melanjutkan sehingga operasi down-nya berhasil.





Source Code 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 :


Project-G
Judul: Pengertian Semaphore
Rating: 100% based on 99998 ratings. 5 user reviews.
Ditulis Oleh hank2

Anda sedang membaca artikel tentang Pengertian Semaphore, Semoga artikel tentang Pengertian Semaphore ini sangat bermanfaat bagi teman-teman semua, jangan lupa untuk mengunjungi lagi melalui link Pengertian Semaphore.


Posted by: Metode Algoritma Updated at: 07.15

Label

Pengetahuan skripsi Belajar Panduan Film Operasi Sistem Tutorial tesis Biologi Pendidikan Software Buku Psikologi Hukum Hardware Troubleshooting kesehatan Film Horor Perbankan RPP dan Silabus SMA judul Pengembangan Kepribadian Pertemanan Administrasi Keluarga manajemen Hadits Kebidanan RPP dan Silabus SD Metode Pembelajaran tugas akhir Film Drama Virus Linux PTK SD RPP dan Silabus SMP Komputer dan IT Private SEO Tasawuf islam Ekonomi PTK SMP Pengertian Produk contoh program c++ listing c++ Kecerdasan Komputer Tidak Dapat Start Makalah Olahraga Pembelajaran Printer Akuntansi Bahasa Indonesia Cara cari uang dari Internet Judul Skripsi Online Penawaran buah pemrograman c++ Biografi Kemukjizatan Alquran Kurikulum Manajemen Pemasaran Matematika PTK SMA Sejarah Peradaban Islam Teknologi ta tes Administrasi Negara Anak Cara Pakai Jilbab Film Religion Flashdisk Ilmu Komunikasi Internet News Pemrograman Ulumul Quran Unik contoh kkp bsi ebook java programming lingkungan profesi keguruan program cpp Blog CPP Contoh-Tugas-Akhir Film Komedi Hardware-Komputer Manajemen Sumber Daya Manusia Organisasi Pemrograman-Komputer Ramadhan Tugas Akhir BSI Tugas Kuliah blogspot editor vi review sistem informasi Alexa Aliran Khawarij Aneh BlackBerry DBMS Database-Management-System Filsafat Fisika Gmail JQuery Jaringan Kaligrafi Kewarganegaraan Linux System Administrator Modul Praktikum PTK PAUD Saham Shell UNIX Winrar bio contoh tugas akhir fungsi cpu fungsi monitor java materi cpp bsi tips menjadi programer tugas akhir d3 Adsense for domain Archive Auto Blog joomla1.5 Backlink Gratis Bagian Komputer Bimbingan Konseling Budaya CEPAT KAYA Cara pengambilan data yang akurat Contoh-KKP Corel Draw Distro Linux Easy Gif Animator Free Backlink Hjsplit Keperawatan Kriptografi Kumpulan Jurnal Linux CentOS Meningkatkan Page Rank Modul Ms Excel PMB BSI 2012 PMB Nusa Mandiri PTC Berkualitas PTK SMK Pajak Perhotelan Pertanian RPP dan Silabus SMK Sejarah Linux Sejarah UNIX TA BSI Tafsir Teknik Informatika UANG ONLINE Umum alertpay cara parkir domain di google adsense ebook gratis fungsi mouse fungsi printer fungsi ram di android fungsi ram pada android fungsi speaker jasa tugas akhir judul tugas akhir login bsi metode penelitian pengenalan editor vi pengertian dan fungsi keyboard programer ta informatika tipe file database yii framework .data Alexa.com memang misterius Android BOM Bina Sarana Informatika Blog Gratisan Kualitas Mahal CARA GANTI FAVICON BLOGSPOT CARA KILAT SUBMIT DIREKTORY CARA MERUBAH TITLE BLOGSPOT CARI UANG DIINTERNET CPU Cara Instal file .deb di Linux Ubuntu Cara Instal file .sh di Linux Ubuntu Cara Klik iklan ptcclick.com Cara Melakukan Payout di kumpulblogger Cara Memasang Keyword di blogspot Cara Memperbaiki Broken Link Cara Nyepetin Internet Three (3) Cara Upload file 4shared Cara melihat Postingan Terpopuler di Blogspot Chatting dibayar dolar Contoh Soal BSI Contoh soal linux centos Contoh-Skripsi Daftar Isi Blog Database Delphi Dennis Ritchie Desain Web Download E-book Filesystem Linux Flexi unlimited Free Ebook GA Gambar Bangunan Gayus HYIP How to Streamline Body Iklan yang dibayar per Tampil Industri Info CPNS Info Merapi Terkini Info Pendidikan Internet Flexi murah Internet Three (3) Internetan Murah JASA TUGAS AKHIR INFORMATIKA Jaringan Komputer Jurnal Ilmiah Jurnal-Ilmiah Kampus Kartu Nama Ken Thompson Kimia Koruptor Indonesia Kursor Lius Torvalds Logika Algoritma MENGETAHUI HALAMAN YANG TERINDEX MENGETAHUI TEMPAT DOMAIN DIBELI Manajemen Personalia Materi Linux BSI Mematiakan Pop Up Telkomsel Membuat Flowchart Dengan Visio Mengganti Templete bogspot Modul Audio Video Modul Otomotif Mudahnya Mencari Uang di usia Muda Negara Bohongan Office PHP PLN PPC PTC PTC 1 kali klik langsung dibayar PTC AVG 3 PTC LEGIT Pemerintahan Pendaftaran CPNS Pendaftaran PNS (Pegawai Negeri Sipil) Photoshop Populer Programmer RDBMS Remaja yang Sukses Rumus Luas Bangun RUang STMIK Nusa Mandiri Sejarah Semua Tentang Life Style Server Smart Soft Business Card Smartphone Soal Syntaxhighlighter Tahun Baru Tangan kanan bos berasal dari remaja sekitar kantor Target Awal Sebuah Blog Telkomsel Tips Memilih Templete Blog/Web Tips-Blogspot Trik Bermain PPC Trik Mendatangkan Traffic Trik Menstabilkan Koneksi Internet Tutorial Pribadi SEO UNIX Video Website Windows XP2 Windows XP2 bermasalah array artikel tugas akhir baju bsi baju ormik bsi balance alertpay bash Linux beli alertpay biography Linus Torvalds bisnis online cara buat blog cara memilih nama domain yang keren cara mempercepat opera 10 cara mengetahui dimana asal domain di registrasi cara merawat printer canon cara merawat printer infus chronoforms client server contoh contoh baju bsi contoh proposal contoh proposal penelitian copy paste editor vi densus 88 dikit-dikit facebook domain domain adalah domain keren domain murah easyshare printer dock ebook facebook fungsi keyboard pada komputer fungsi papan kekunci fungsi printer dot matrix fungsi printer inkjet fungsi printer komputer fungsi printer laserjet fungsi processor fungsi ram pada hp fungsi ram pada komputer fungsi ram pada laptop fungsi scanner fungsi vga fungsi-teks google adsense kampang google adsense menipu hak akses file linux hak akses pada linux harga printer dot matrix hlookup hosting adalah hosting dan domain murah iframe informasi domain informatika jasa jasa bimbingan tugas akhir jasa pembuatan tugas akhir jasa programmer ta jasa ta informatika jasa tugas akhir sistem informasi jenis file jihad jual alertpay jual beli balance alertpay jual printer dot matrix judul ta informatika judul ta teknik informatika judul tugas akhir informatika jurnal informatika kajian pustaka kaos bsi kaos ormik bsi kecewa dengan google adsense kelebihan open source kernel linux kkp bsi kkp ka kkp manajemen informatika kodak easyshare printer dock 6000 kodak easyshare printer dock series 3 kodak easyshare printer dock series 3 cartridge kodak easyshare printer dock series 3 compatible cameras kode sms di php komponen CPU konsultan konsultan tugas akhir laser printer dot matrix printer logika dan algoritma lower macam-macam distro linux makalah ta informatika makalah tugas akhir informatika masterweb testimoni matriks cpp mematikan pop up telkomsel mencari uang di internet mengedit editor vi menghapus editor vi multi user paket internet 35000 per bulan pdf Free pembuatan ta informatika pengertian alertpay pengertian torrent perbedaan inkjet dan deskjet perbedaan printer inkjet dan printer laser perintah dasar Linux pop up populasi printer dot matrix epson price printer dot matrix murah program proposal tugas akhir sampel shell linux sistem skala suhu skripsi sistem informasi skripsi. ta sms gratis di blog sms gratis online sms kalo pulsa lagi habis software open source statement If statistika struktur direktori linux switch di java switch_expression teror tipe file tips tips komputer traffic trik tugas akhir informatika tugas akhir sistem informasi tugasakhir tvs printer dot matrix price list upper vlookup website bsi xbosyuda