Programlamada Multitasking ve Thread (1)

Temel Kavramlar

  • Program = Sabit diskte çalışmadan duran yapıdır.
  • Proses = Program dosyasının çalıştırıldıktan sonra RAM’e yüklendiği halidir.
  • CPU = Prosesi çalıştırmayı sağlayan yapıdır.
  • Single Processing ( Tek işlemli çalışma ) = Herhangi bir T anında yalnızca bir işlem çalıştırılması işlemidir.
  • Zaman Paylaşımlı Çalışma = Mikroişlemcinin prosesleri belirli aralıklarla sırayla çalıştırma işlemidir.
  • Quanta Süresi = Belirli aralıklara verilen isimdir.
  • Prosesin Çizelgeye Girmesi = Sırası gelen prosesin çalışması işlemidir. CPU’nun prosesleri sırasıyla çalıştırabilmesi için döngüsel çizelgeleme algoritması kullanılır.
  • Task Switch ( Görevler arası geçiş ) = Bir prosesin durdurulup diğerinin çalıştırılması işlemidir. Sıralı bir şekilde çalıştırılacak olan proseslerin öncelik sırası bu algoritmada önemlidir. Örneğin 1-30 a kadar öncelik değerleri verilir ve ona göre çalıştırılabilir. Öncelik sırası farklı olan sistemler çalışırken bu sefer döngüsel çizelgeleme değil öncelikli döngüsel çizelgeleme algoritması kullanılır.
  • Multi Processing = Çok işlemli çalışma.
  • Multitasking = Çok görevli çalışma.
  • Thread = Proses içerisinde ki alt prosesler olarak ifade edilebilir. CPU’lar programları proses olarak işler demiştik. Aslında CPU’lar işlemlerini proseslerin alt tabakası olan threadlar bazında gerçekleştirir.
  • Primary Thread = Processlerin içerisinde ki varsayılan ilk thread yapıdır. Processin çalışmaya başladığı ilk noktadır.
  • Threadların Bloke Olması = Bazen kullanılmayan threadların döngüsel çizelgelemeden çıkarılması işlemine denir.
  • Worker Thread = Primary thread dışında yaratılan threadlara verilen isimdir.

Multithread ile çalışmanın avantajları ve dezavantajları

Öncelikle paralel çalışan bir sistem olduğu için sırayla çalışan sistemlere göre daha hızlıdır ve daha işlevseldir. Asenkron bir yapıda çalıştığı için herhangi bir thread üzerinde problem olduğu zaman bir diğerini etkilemez.

Kullanılan threadların sayısı artıkça threadların çalıştırılma süresi arasında ters bir ilişki olduğundan dolayı. Tek işlemcili sistemlerde bu durum problem yaratır. Performans kaybına neden olur.

Bu yazıyı nasıl buldunuz?

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.