Notice: Trying to access array offset on value of type null in /home/tsstfrm/public_html/Sources/Load.php on line 2074

Notice: Trying to access array offset on value of type null in /home/tsstfrm/public_html/Sources/Load.php on line 2074

Notice: Undefined index: googletagged in /home/tsstfrm/public_html/Sources/GoogleTagged-Integrate.php on line 35
Semaphore,Swapping ?

Gönderen Konu: Semaphore,Swapping ?  (Okunma sayısı 6949 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı musalli

  • Yeni Üye
  • *
  • İleti: 4058
Semaphore,Swapping ?
« : Temmuz 24, 2008, 08:10:36 ÖS »
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.

Çevrimdışı YOLCU

  • ÜST YÖNETİCİ
  • *
  • İleti: 6397
Semaphore,Swapping ?
« Yanıtla #1 : Nisan 19, 2010, 03:18:23 ÖS »
çok faydalı bir bilgi
 
teşekkürler

Çevrimdışı musalli

  • Yeni Üye
  • *
  • İleti: 4058
Semaphore,Swapping ?
« Yanıtla #2 : Mayıs 04, 2010, 05:49:05 ÖS »


Degerlendırmen için ben teşekkür ederim.. 
« Son Düzenleme: Mayıs 04, 2010, 05:49:49 ÖS Gönderen: musalli »

 

Seo4Smf 2.0 © SmfMod.Com | Smf Destek