Kisaca ;
*Semaphore ilk olarak 1965 yilinda Unix sistemlerine Dijkstra diye birbey tarafindan ilave edilmis bir yapi. Temel olarak isler arasinda
sekronizasyon saglamak icin kullanilmakta. Bunu da geçici bir süre için belirli bir kod veya veri alanina belirli bir isten baska bir isin erisim saglayamamasini gercekleyerek ve/veya bu erisimin yontemlerini belirleyerek yapmakta.
Aynı anda çalışan kanallar (senkron threadler) ise birbirlerinin metotlarının işlemlerinin bitmesini bekler. Bir kanal diğer bir kanaldaki işlem bitmeden harekete geçmez. Bu sayede üç kanal senkron bir şekilde çalışır. .NET’te thread senkronizasyonu için dört yöntem kullanılabilir.
Bunlardan Semaphore sınıfı .NET 2.0 framework ile gelen yeni bir sınıftır. Bu sınıf da System.Threading.WaitHandle sınıfından türetilmiştir. Semaphore sınıfının Mutex sınıfından farkı, farklı kanalların birbirlerinin Semaphore’larının kilitlerini Release metodu ile açabilmeleridir. Bir kanal semaphore’un WaitOne metodunu birçok kez çağırabilir. Bu kilitleri açmak için art arda Release metodunu çağırabileceği gibi, Release(int) overload’unu da kullanabilir. Semaphore kendisini kullanan kanalın identity’sine bakmaz. Bu yüzden farklı kanallar birbirlerinin semaphore’larının WaitOne ve Release metodlarını çağırabilir. Herbir WaitOne metodu çağırıldığında semaphore’un sayacı bir azaltılır. Herbir release metodu çağırıldığında ise sayaç bir arttırılır. Semaphore’un yapılandırıcısında (constructor) sayacın minimum ve maksimum değerleri belirlenebilir.
* Swapping (değiş tokuş) nedir?
Temel olarak iki amaci var bunlardan birincisi bir process in kullanabileceği
adress space i arttirmak ikincisi ise process leri yuklemek icin dinamik
RAM(*) miktarini arttirmak.
Programlar ram ile çalışır.Genelde programın kodu veya kodun
bir kısmı ram e alınıp oradan execute edilir. Bu arada programın veya diğer
programların da çalışabilmesi için sınırlı olan ram e sürekli ihtiyaç
duyulur.Ram ihtiyacına karşılık daha az kullanılan kodlar veya ram ın bir kısmı, işletim sistemi
tarafından kontrol edilen disk üzerinde belli bir dosya veya partition
sanki ram gibi kullamak üzere yazılır. Bu alan (swap) ihtiyaca göre artıp
azalacaktır.
Dolayısıyla bilgisayarınız hangi programları çalıştırıp kullanıyorsa ona
göre swap kullanacaktır. Bunu programlarınızı tam faal çalıştırdığınız da
free ile de kontrol edebilir ona göre pratik bir karar verebilirsiniz.Bu
rakam teorik olarak ise ram x 2 olarak bildirilmiştir.