Ana içeriğe git

Haberler

Konu: FreeRTOS (1219 Kez okunmuş) önceki konu - sonraki konu

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.
Ynt: FreeRTOS
Yanıt #20
MUTEX de bir göreve erişimi komple sınırlıyoruz.

Alıntı
lock ve mutex'in aksine senkronize erişimi tamamen bekletmek için değil sınırlandırmak için kullanılabilir denilebilir...sınırlı bir resource a sahipsiniz,aynı anda 3 thread'in bu kaynağa erişmesini istiyorsunuz daha fazlası sizin için bir sorun oluşturuyor..kodun o kısmını bütün thread'lerin kullanımına açmıyorsunuz,orada sayaca sahip bir lock kullanıyorsunuz..işte semaphore bu..

Ynt: FreeRTOS
Yanıt #21
nedir bu Makarna Yiyen Düşünürler Problemi ?  ;D

Ynt: FreeRTOS
Yanıt #22
Semafor nedir  ?
Sagolsun @X-Fi anlattı (Hocam Hakkın Ödenmez) , ben anlayamadım.

Mutex, bir kaynağa erişmeye çalışan farklı taskları durumunu ayarlıyor, kaynağı kilitliyor yada açıyor. (bu açıdan bakarsak, bir programda açtığımız bir dosyaya başka bir program tarafından erişilememesi olarak görebiliriz, yada veritabanı çalışmalarında düzenlenen bir kaydın başka bir kullanıcı tarafından düzenlenememesi gibi.)

Semafor bunun daha gelişmiş hali olarak anlatılmış,
Alıntı
Semaforların amacı mutexlerin amacı ile aynıdır. Semaforlar mutexlerden farklı olarak birden fazla threadin aynı bölgeye girmesine izin verebilir. Mutexler semaforların iki durumlu özel halleri olarak düşünülebilir. Mutexler korudukları bölgeye sadece 1 threadin girmesine izin verirken, semaforlar korumalı bölgeye giren thread sayısını belli bir değerle sınırlamak için kullanılır... Semaforun korumalı alan için izin verdiği thread sayısına yazının geri kalan kısmında kontenjan diyelim
http://www.atasoyweb.net/Cok-Parcaciklilik-Multithreading-Mutexler-Ve-Semaforlar dan alıntıdır.

Alıntı
Semaforlar
Mutex Unix/Linux ve Win32 sistemlerinde thread tarafından ele geçirilen senkronizasyon
nesnesidir. Oysa bazı durumlarda bir kritik koda tek bir kişi değil, örneğin n değişik kişinin
girmesi istenebilir. Semaforlar bu bakımdan mutex nesnelerinin sayaçlı biçimleridir.

Semaforlar aşağı yukarı tüm işletim sistemlerinde benzer kullanıma sahiptir. Semafora girmek
ile çıkmak biçiminde iki kavram vardır. Semaforların bir sayacı bulunur. Bu sayaç başlangıçta
semaforu yaratan kişi tarafından set edilir. Bir kod semafora girdiğinde sayaç azaltılır,
çıktığında artırılır. Bir kod semafora girerken işletim sistemi semafor sayacına bakar. Sayaç
0'dan büyükse girme hakkını elde eder ve sayaç bir eksiltilir. Sayaç 0 ise semafora girmek
isteyen kod semafor içerisinde bloke edilir. Başka bir kod semafordan çıktığında sayaç
artırılır. Bekleyen kodlardan en yüksek öncelikli olan kod semafora giriş sağlar.Böylece
mutex'lerde olduğu gibi kritik koda sadece tek bir kişi değil, aynı anda n kişi girebilmektedir.
http://www.bilgisayardershanesi.com/Y5307-semaforlar.html dan alıntıdır