Senkronizasyon: Proseslerin çalışmasının belli bir uyum içerisinde çalışmasıdır. Bazı prosesler I/O işlemi yaparken proses CPU’yu kullanabilir. Paralel çalışan prosesler birbiriyle etkileşebilirler. İki ya da daha çok prosesin paylaşılan kaynakları ortaklaşa kullanmalarından dolayı senkronizasyon problemleri ortaya çıkmaktadır.

Paylaşılır ve Paylaşılmaz Kaynak

Kaynağın paylaşılabilir olması, bir prosesin işletimi tamamlanmadan diğer proseslerin de bu kaynağı bir aksaklık oluşturmayacak şekilde kullanabilmesidir. CPU, birincil ve ikincil bellekler paylaşılan kaynaklar grubundandır.  Fakat yazıcı bu gruptan değildir. Değişken, dosya ya da tampon bölgelerin paylaşımı söz konusu olduğunda, bunlar üzerinde yapılan işlemin türüne (okuma, yazma) göre paylaşılır ya da paylaşılmaz olurlar.

Arkaplan Bilgisi

Paylaşılan veriye aynı anda erişim veride tutarsızlıklara neden olabilir.

Üretici-Tüketici Durumu

Üretici üretmeden tüketici kullanamayacak, tüketici tüketmeden üretici üretmeye başlayamayacaktır. Başlangıçta count sıfıra eşitlenecektir—>Üretici yeni bir tampon bellek hücresini doldurduğunda count bir artacaktır—>Tüketici bir tampon bellek hücresindeki veriyi tükettiğinde ise count bir azalacaktır.

Yarışma Durumu

Pek çok işlemin aynı anda bir veriye erişmek ve onu değiştirmek istediği durumlarda işlemlerin çalışması sonucu elde edilen sonucun işlemlerin veriye eriştiği sıraya bağlı olduğu durumlara yarışma durumlarıdır. Yarışma durumunda tutarlı sonuç elde etmek için, count değişkenine aynı anda sadece bir işlemin erişmesini sağlamalıyız. Bu da işlemlerin senkronizasyonu ile mümkündür.

Kritik-kısım Problemi

Proseslerin kritik kısım ile hangi sırayla işleme alınmasını sağlayarak senkronizasyonun yapılmasıdır. Ortak bir değişkenin değerini değiştiren, ortak bir tabloyu güncelleyen, ortak kullanılan bir dosyayı güncelleyen durumlara kritik kısım denir.

Kritik-kısım Problemine Çözüm

-Karşılıklı Dışlama (mutual exclusion): Eğer işlem Pi kritik kısımda çalışıyorsa, diğer işlemler kritik kısımda çalışamaz.

-İlerleme (progress): Eğer kritik kısımda çalışan bir işlem yoksa ve bazı işlemler kritik kısımda çalışmak istiyorsa, bu işlemlerden birini seçip çalıştırmak sonsuza kadar ertelenmemelidir.

-Sınırlı Bekleme (bounded waiting): Kritik kısma girmek isteyen bir işlemin bekleme süresi sınırlandırılmalıdır. O işlem beklerken, diğer işlemlerden en fazla belirlenen sayıda işlem kritik kısıma girmelidir. Ardından bekleyen işlemin kritik kısma girmesine izin verilmelidir.

Kritik Bölge Problemlerinin Çözümü 

  1. Kesmeler Aktif ve Pasif Yapılarak: Bir proses kritik kesiminegirince sistem kesilmelere  karşı kapatılarak diğer proseslerin ilgilikritik kesimine girmesi engellenebilir ve kritik kesim tamamlanınca da tekrar kesilmelere açılabilir.
  2. Ortak Değişken Kullanımı: Başka bir paylaşılır değişken kullanılarak prosesler arasında koordinasyon sağlanır. Bu değişkenin ismi ‘lock’ olsun. Prosesler kritik kesimlerine girerken bu değişkeni ‘True’, kritik kesimlerinden çıkarken de ‘False’ yapmak suretiyle birlikte çalışırlar.

Semaforlar

Senkronizasyonda kullanılan araçlardan birisidir.

  • Sayaç semaforu (counting semaphore) – Tam sayı değeri sınırsız bir değer aralığına sahiptir.
  • İkili semafor (binary semaphore) – Tam sayı değeri sadece 0 ya da 1 değerlerini alabilir; gerçekleştirimi daha basit olabilir.

Kilitlenme (Deadlock): 

  • Kilitlenme için Gerekli Koşullar
  •  Kilitlenme Durumunda Kullanılan Yaklaşımlar
    • Sistemin kilitlenme durumuna girmemesini sağlamak.
      •  Kilitlenmeyi önlemek
      • Kilitlenmeden kaçınmak
    • Sistem kilitlenme durumuna girdiyse bu durumdan kurtulmasını sağlamak.

Kilitlenme (Deadlock) Nedir?

Sistem kaynaklarını ortak olarak kullanan veya birbiri ile haberleşen bir grup prosesin kalıcı olarak bloke olması durumuna kilitlenme adı veriler.

Kilitlenme (Deadlock) : İki veya daha fazla işlem, sadece bekleyen bir işlemin neden olabileceği bir olayı sonsuza kadar bekliyor.

Açlık (Starvation): Sınırsız bloklanma.

Kilitlenmeler Ne Tip Kaynaklar Üzerinde Olur?

Kilitlenmeler tekrar kullanılabilir kaynaklar (birincil ve ikincil bellekler, I/O cihazları, dosyalar, semaforlar) ya da tüketilir kaynaklar (kesmeler, mesajlar, I/O cihazlarının tamponları) üzerinde oluşabilir.

Kilitlenme Durumları

  • Bir proseste yer alan thread’ler arasında
  • Farklı proseslerdeki thread’ler arasında

Ayrıca uygulama programları ve işletim sistemi fonksiyonları arasında da kilitlenme meydana gelebilir.

Kilitlenme için Gerekli Koşullar

  1. Karşılıklı dışlama (mutual exclusion): En azından bir kaynağın, diğer prosesler tarafından kullanılamadığı bir durumda kilitlenmeden söz etmek mümkündür.
  2. Sahiplenme ve bekleme (hold and wait): Bir proses en azından bir kaynağı elinde tutmalı ve diğer prosesler tarafından tutulan ek bir kaynağa gereksinim duymalıdır.
  3. Geri alınamaz kaynak(no preemption): Bir prosese atanan kaynaklar, işletim sistemi tarafından prosesin kendi isteği dışında elinden alınamıyorsa.
  4. Döngüsel bekleme (circular waiting): Proseslerin gereksinim duyduğu kaynakları, karşılıklı olarak birbirlerinden beklemesi durumudur.

Beğendiniz mi? Arkadaşlarınızla Paylaşın!

Sizin Tepkiniz Nedir?

komik komik
1
komik
beğendim beğendim
17
beğendim
iğrenç iğrenç
10
iğrenç
Başarısız Başarısız
13
Başarısız
Sinirlendim Sinirlendim
10
Sinirlendim
Korkutucu Korkutucu
8
Korkutucu
Sevgi Sevgi
5
Sevgi
Zekice Zekice
11
Zekice
hate hate
6
hate
confused confused
15
confused
fail fail
10
fail
fun fun
8
fun
lol lol
5
lol
omg omg
1
omg
win win
15
win
Kadir

Legend

Merhaba, Ben Abdulkadir PALANCI. Atatürk Üniversitesi, Bilgisayar ve Öğretim Teknolojileri Eğitimi Öğretmenliği Bölümü Yüksek Lisans öğrencisiyim. Araştırarak yeni şeyleri öğrenmeyi seviyorum. Araştırırken çoğu bilgilerin eksikliği,yetersizliği vb. durumlarla çokca karşılaştım. Bundan dolayı öğrendiğim ve öğrenecek olduğum bilgileri düzenli ve kaliteli bir şekilde sizlerle de paylaşmak istediğim için bu siteyi hazırladım. Her geçen gün yazar kadrosu genişleyen takımımızın arasına sizleri de bekleriz.

0 Yorum

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

İşlem Senronizasyonu

 
Bir format seçin
Kişisel Test
Kişiliğe dair bir şey ortaya çıkarmayı amaçlayan sorular dizisi
Basit Test
Bilgiyi kontrol etmek isteyen doğru ve yanlış cevaplı sorular dizisi
Anket
Karar vermek veya görüş belirlemek için oylama yapmak
Serbest Yazı
Yazılarınıza Görseller Bağlantılar Ekleyebilirsiniz
Liste
Klasik İnternet Listeleri
Geri Sayım Listesi
Klasik İnternet Geri Sayım Listeleri
Açık Liste
Kendi öğenizi gönderin ve en iyi sunum için oy verin
Oylanabilir Liste
En iyi liste öğesine karar vermek için yukarı veya aşağı basın
Fotoyla Anlatım
Kendi resimlerinizi yükleyin ve birşeyler anlatın
Video
Youtube and Vimeo Embeds
Ses
Soundcloud veya Mixcloud İçerikleri
Görsel
Fotoğraf veya GIF
GIF
GIF Formatı