Uyuyan berber sorunu - Vikipedi
İçeriğe atla
Ana menü
Gezinti
  • Anasayfa
  • Hakkımızda
  • İçindekiler
  • Rastgele madde
  • Seçkin içerik
  • Yakınımdakiler
Katılım
  • Deneme tahtası
  • Köy çeşmesi
  • Son değişiklikler
  • Dosya yükle
  • Topluluk portalı
  • Wikimedia dükkânı
  • Yardım
  • Özel sayfalar
Vikipedi Özgür Ansiklopedi
Ara
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç
  • Bağış yapın
  • Hesap oluştur
  • Oturum aç

İçindekiler

  • Giriş
  • 1 Gerçekleme
  • 2 Kaynakça
  • 3 Ayrıca bakınız

Uyuyan berber sorunu

  • Čeština
  • English
  • Español
  • فارسی
  • 日本語
  • 한국어
  • Монгол
  • Polski
  • Русский
  • Slovenčina
Bağlantıları değiştir
  • Madde
  • Tartışma
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Araçlar
Eylemler
  • Oku
  • Değiştir
  • Kaynağı değiştir
  • Geçmişi gör
Genel
  • Sayfaya bağlantılar
  • İlgili değişiklikler
  • Kalıcı bağlantı
  • Sayfa bilgisi
  • Bu sayfayı kaynak göster
  • Kısaltılmış URL'yi al
  • Karekodu indir
Yazdır/dışa aktar
  • Bir kitap oluştur
  • PDF olarak indir
  • Basılmaya uygun görünüm
Diğer projelerde
  • Vikiveri ögesi
Görünüm
Vikipedi, özgür ansiklopedi

Bilgisayar mühendisliğinde, uyuyan berber sorunu işletim sistemleri konusunda klasik bir sorundur. Berber ve müşteriler prosesler olarak düşünülebilir.

Gerçekleme

[değiştir | kaynağı değiştir]
  • Aşağıdaki sözde kod berber ve müşteriler için ölümcül kilitlenme olmayan bir çözümdür ancak kaynak açlığına yol açabilir.
Semaphore Müşteriler = 0
Semaphore Berber = 0
Semaphore sandalyelereErişim = 1  # mutex
int BoşSandalyeSayısı = N  # toplam sandalye sayısı

def Berber():
  while true:                 # Bir sonsuz döngü içinde çalış.
    P(Müşteriler)             # Bir müşteri yakalamaya çalış. Eğer uygun bir müşteri yoksa uyu.
    P(sandalyelereErişim)     # Uyandım - uygun sandalye sayısını değiştir.
    BoşSandalyeSayısı++       # Bir sandalye boşa çıktı.
    V(Berber)                 # Tıraşa hazırım.
    V(sandalyelereErişim)     # Artık sandalyeler üzerinde kilide ihtiyaç yok.
    # (Tıraş)

def Müşteri():
  while true:                 # Bir sonsuz döngü içinde çalış.
    P(sandalyelereErişim)     # Sandalyelere ulaşmaya çalış.
    if BoşSandalyeSayısı > 0: # Eğer boşta sandalye varsa:
      BoşSandalyeSayısı--     #   bir sandalyeye otur
      V(Müşteriler)           #   müşteri bekleyen berberi uyar
      V(sandalyelereErişim)   #   artık sandalyeler üzerinde kilide ihtiyaç yok
      P(Berber)               #   sıra bu müşterinin, fakat berber meşgulse bekle.
      # (Tıraş)
    else:                     # boşta sandalye yok; şanssızlık...
      V(sandalyelereErişim)   #   sandalyeler üzerindeki kilidi bırakmayı unutma!
      # (Tıraş olmadan ayrıl)

Kaynakça

[değiştir | kaynağı değiştir]
  • Modern Operating Systems (3rd Edition) by Andrew S. Tanenbaum
  • The Little Book of Semaphores by Allen B. Downey, http://greenteapress.com/semaphores 11 Haziran 2011 tarihinde Wayback Machine sitesinde arşivlendi.

Ayrıca bakınız

[değiştir | kaynağı değiştir]
  • Makarna yiyen düşünürler sorunu
  • Randevu sorunu
Taslak simgesiBilgisayar ile ilgili bu madde taslak seviyesindedir. Madde içeriğini genişleterek Vikipedi'ye katkı sağlayabilirsiniz.
"https://tr.wikipedia.org/w/index.php?title=Uyuyan_berber_sorunu&oldid=36531374" sayfasından alınmıştır
Kategoriler:
  • Bilgisayar taslakları
  • Bilgisayar mühendisliği
  • İşletim sistemleri
Gizli kategoriler:
  • Webarşiv şablonu wayback bağlantıları
  • Tüm taslak maddeler
  • Sayfa en son 17.26, 16 Aralık 2025 tarihinde değiştirildi.
  • Metin Creative Commons Atıf-AynıLisanslaPaylaş Lisansı altındadır ve ek koşullar uygulanabilir. Bu siteyi kullanarak Kullanım Şartlarını ve Gizlilik Politikasını kabul etmiş olursunuz.
    Vikipedi® (ve Wikipedia®) kâr amacı gütmeyen kuruluş olan Wikimedia Foundation, Inc. tescilli markasıdır.
  • Gizlilik politikası
  • Vikipedi hakkında
  • Sorumluluk reddi
  • Davranış Kuralları
  • Geliştiriciler
  • İstatistikler
  • Çerez politikası
  • Mobil görünüm
  • Wikimedia Foundation
  • Powered by MediaWiki
Uyuyan berber sorunu
Konu ekle