logo

İşletim Sisteminde Çoklu İş Parçacığı Modelleri

Bu yazımızda İşletim sistemindeki multithreading modelini anlayacağız.

Çoklu İş Parçacığı Modeli:

Çoklu iş parçacığı, uygulamanın görevini ayrı iş parçacıklarına bölmesine olanak tanır. Multi-threading'lerde thread sayısına göre aynı işlem veya görev yapılabilir veya multithreading'de görevi gerçekleştirmek için birden fazla thread'in olduğunu söyleyebiliriz. Çoklu iş parçacığı kullanımıyla çoklu görev gerçekleştirilebilir.

lateks matrisi
İşletim Sisteminde Çoklu İş Parçacığı Modelleri

Tek iş parçacıklı sistemlerin ana dezavantajı, aynı anda yalnızca bir görevin gerçekleştirilebilmesidir, dolayısıyla bu tek iş parçacıklı işlemenin dezavantajının üstesinden gelmek için, birden fazla görevin gerçekleştirilmesine izin veren çoklu iş parçacıklı sistem mevcuttur.

Örneğin:

İşletim Sisteminde Çoklu İş Parçacığı Modelleri

Yukarıdaki örnekte istemci1, istemci2 ve istemci3 herhangi bir bekleme olmadan web sunucusuna erişmektedir. Çoklu iş parçacığında birden fazla görev aynı anda yürütülebilir.

Bir işletim sisteminde, iş parçacıkları kullanıcı düzeyi iş parçacığına ve Çekirdek düzeyi iş parçacığına bölünür. Kullanıcı düzeyindeki iş parçacıkları çekirdeğin üzerinde bağımsız biçimde işlenir ve dolayısıyla herhangi bir çekirdek desteği olmadan yönetilir. Diğer yandan, işletim sistemi çekirdek düzeyindeki iş parçacıklarını doğrudan yönetir. Bununla birlikte, kullanıcı seviyesi ve çekirdek seviyesi iş parçacıkları arasında bir tür ilişki olmalıdır.

Bu ilişkileri sınıflandıran üç yerleşik çoklu iş parçacığı modeli vardır:

  • Çoktan bire çoklu iş parçacığı modeli
  • Bire bir çoklu iş parçacığı modeli
  • Çoktan Çoğa çok iş parçacıklı modeller

Çoktan bire çoklu iş parçacığı modeli:

Çoktan bire modeli, birçok kullanıcı düzeyi iş parçacığını bir çekirdek iş parçacığına eşler. Bu tür bir ilişki, iş parçacığı desteği olmayan basit çekirdekte bile kolayca uygulanan, etkili bir bağlam değiştirme ortamını kolaylaştırır.

ağ topolojileri

Bu modelin dezavantajı, herhangi bir zamanda yalnızca bir çekirdek düzeyinde iş parçacığı programı olduğundan, bu modelin çok iş parçacıklı işlemler veya çok işlemcili sistemler tarafından sunulan donanım hızlandırmasından yararlanamamasıdır. Bunda, tüm iş parçacığı yönetimi kullanıcı alanında yapılır. Engelleme gelirse bu model tüm sistemi engeller.

np nokta
İşletim Sisteminde Çoklu İş Parçacığı Modelleri

Yukarıdaki şekilde, çoktan bire modeli, tüm kullanıcı düzeyindeki iş parçacıklarını tek çekirdek düzeyindeki iş parçacıklarıyla ilişkilendirir.

Bire bir çoklu iş parçacığı modeli

Bire-bir model, tek bir kullanıcı düzeyindeki iş parçacığını tek bir çekirdek düzeyindeki iş parçacığına eşler. Bu tür bir ilişki, birden fazla iş parçacığının paralel olarak çalıştırılmasını kolaylaştırır. Ancak bu faydanın dezavantajı da bulunmaktadır. Her yeni kullanıcı iş parçacığının oluşturulması, ana işlemin performansını engelleyebilecek bir ek yüke neden olan karşılık gelen bir çekirdek iş parçacığının oluşturulmasını içermelidir. Windows serisi ve Linux işletim sistemleri, iş parçacığı sayısının artışını sınırlayarak bu sorunu çözmeye çalışır.

İşletim Sisteminde Çoklu İş Parçacığı Modelleri

Yukarıdaki şekilde, bir model, kullanıcı düzeyindeki bir iş parçacığını tek bir çekirdek düzeyinde iş parçacığıyla ilişkilendirir.

Çoktan Çoğa Model Çok iş parçacıklı model

Bu tip modelde, birkaç kullanıcı düzeyinde iş parçacığı ve birkaç çekirdek düzeyinde iş parçacığı vardır. Oluşturulan çekirdek iş parçacıklarının sayısı belirli bir uygulamaya bağlıdır. Geliştirici her iki düzeyde de aynı sayıda iş parçacığı oluşturabilir ancak aynı olmayabilir. Çoktan çoğa modeli, diğer iki model arasında bir uzlaşmadır. Bu modelde, eğer herhangi bir iş parçacığı engelleyici bir sistem çağrısı yaparsa, çekirdek başka bir iş parçacığının yürütülmesini zamanlayabilir. Ayrıca birden fazla iş parçacığının devreye girmesiyle önceki modellerde olduğu gibi karmaşıklık da ortadan kalkıyor. Bu model birden fazla çekirdek iş parçacığının oluşturulmasına izin vermesine rağmen, bu modelle gerçek eşzamanlılık elde edilemez. Bunun nedeni çekirdeğin aynı anda yalnızca bir işlemi planlayabilmesidir.

İşletim Sisteminde Çoklu İş Parçacığı Modelleri

Çoklu iş parçacığı modelinin pek çok versiyonu, yukarıdaki şekildeki çeşitli kullanıcı seviyesi iş parçacıklarını aynı veya çok daha az çeşitlilikteki çekirdek seviyesi iş parçacıklarıyla ilişkilendirir.