Você está na página 1de 12

İş Parçacıkları

İşlem Dizileri
Threads

Halil Ersoy
Threads
• Nedir?
• Multithreading Modeller
• Thread'lerin Özellikleri
ThreadNedir?
• Thread, işlemlerin alt işlemleridir. Bir işlem içinde aynı kodu,
verileri ve dosyaları paylaşan, ancak kendi register'ları ve
yığınları (stack) olan işlemciklerdir
Yararları

• Dayanıklılık – Hatalı kod durur, diğer kısımlar çalışır

• Kaynak Paylaşımı – Aynı hafıza ve kaynaklar kullanılır

• Ekonomik – Hem kaynak hem de zaman kazanımı

• Çoklu Programlama Tekniklerinin Uygulanması


User Threads
(Kullanıcı İşlem Parçacıkları)

• Kullanıcı thread'leri, kullanıcı programları tarafından


yaratılır ve yönetilir. İşletim sisteminin çekirdeğinden yardım
yada hizmet alınmaz
• Çekirdek daha hızlı çalışır
• Ancak çerkirdek single-thread özellikteyse, o zaman kullanıcı
threadlerinin bir özelliği kalmaz.
• Bu thread'ler "user-level threads library" tarafından
yönetilirler.
o Her işletim sisteminin kendine özgü thread yönetim kütüphanerli vardır
o POSIX Pthreads
o Win32 threads
o Java threads
Kernel Threads
Çekirdek İşlem Parçaçıkları
• Kernel – çekirdek tarafından yönetilirler
• User thread'lerine göre daha yavaş yönetilirler
• Ancak kernel seviyesinde threading yapıldığı için daha
güvenlidirler
• Destek veren işlerim sistemleri
o Windows 7,vista
o Windows XP/2000
o Solaris
o Linux
o Tru64 UNIX
o Mac OS X
Multithreading Modelleri
Çoklu Threading
• Çoktan - bire

• Bire - Bir

• Çoktan - çoğa
Çoktan Bire
• Birçok kullanıcı thread'leri bir tek çekirdek thread'ine
yönlendirilir.
• Yönetim kullanıcı tarafında yapılır
• Thread'lerden birisi blok haline geçerse, çekirdekteki thread de
blok hale geçer, diğer tread'ler de alışamaz
• Örnekler:
o Solaris Green Threads
o GNU Portable Threads
Bire Bir Model
• Her bir user thread, çekirdekte bir tane kernel thread'e
yönlendirilir
• Bir thread tıkanırsa diğerleri devam edebilir
• Ancak kernel thread yaratmak sisteme yük getirebilir
• Örnekler
o Windows NT/XP/2000
o Linux
o Solaris 9 and later
Çoktan Çoğa Modeli
• Birçok user thread, birçok ve farklı sayıda kernel
thread'e yönlendirilir.
• Bazen işletim sistemi bazen de donanım kernel
thread'lerinin kaç tane olacağına karar verir
• Tam esneklik sağlar
• Örnekler
o Solaris prior to version 9
o Windows NT/2000 with the
ThreadFiber package
Özetle Threads...
• Thread – işlem parçacığı – iş dizisi
o işlemlerin alt işlemleridir

• Yararları
o Dayanıklılık
o Kaynak Paylaşımı
o Ekonomi
o Çoklu Programlama
• User Threads ile Kernel Threads
o Thread'in yönetiminden kim sorumlu?

• Çoklu Thread Modelleri


o Çoktan bire (many to one)
o Bire bir (one to one)
o Çoktan çoğa (many yo many)
Kaynakça
• Resim ve bilgiler
Silberschatz, Galvin, Gagne: Operating System Concepts, 6th Edition

Chapter 5 Threading

Você também pode gostar