Multitasking Tekniğini Hakkında!

brain   Multitasking hakkında birçok makale ile karşılaşmamız mümkün. Çünkü Multitasking denildiği zaman yelpaze bir hayli geniş olmaktadır. Bu yazıda, Multitasking tekniğini kullanarak,  algoritma geliştirebilmek ve program yazabilmek adına tecrübelerimden bahsetmeyi ve örnekler ile pekiştirmeyi hedeflemekteyim.

  Multitasking, algoritmik bir tekniktir. Donanım desteklemesi koşulu aranmaksızın her kod yazılan yerde, her plan yapılan yerde kullanılması mümkündür. Her  programlama dilinde kullanılabilinir.

  • Multitasking ile karşılaşabileceğimiz birkaç  örnek verelim:

  • Akıllı telefonumuz ile müzik dinlerken aynı anda internette dolaşabiliriz.  

          

  • Bilgisayarlarımıza, yoğun bir şekilde multitasking yaptırmaktayız. İşletim sistemlerinin en göze çarpan özelliği, çoklu işlem yapabilmek. 

 

 

 

  • Multitasking hakkında yaşantımızdan basit bir örnek verelim: 

   Düşünün ki, iş günü sabahı kalktınız ve evde yalnızsınız. Kahvaltı hazırlanacak, gömlek ütülenecek, önceki günden kalma dosyalar düzenlenecek çantanız toparlanacak.

Tüm bu işleri sırayla yapmak anlamsız olacaktır. Çay hazırlamak için suyun kaynamasını, hiç bir şey yapmadan beklemeyi, multitaska aykırı bir davranış gibi görebiliriz.

Not: Alt tarafı yeşil renkle işaretlenen kısımlar, hizalandığı süre boyunca anlık olarak işlenen kısımları ifade etmekte.

   Üstteki resimde görüldüğü sırada bu işleri yapmak, mantıklı tercihlerimizden olacaktır. Çay suyu koyulur ısınmaya bırakılır, tost makinesine ekmekler koyulur, ütüleme işlemi yapılır, tamamlanan tost işlemi sonlandırılır, çay gözden geçirilir, dosya düzenleme işlemi tamamlanır, çay işlemi sonlandırılır.

  • Bu örneği ise daha ayrıntılı inceler isek;

multitask_minibus

   Resmi kabaca özetler isek, müşteriler dinleniyor, telefondaki kişi dinleniyor, etraftaki sesler dinleniyor,  hisler kontrol ediliyor, yol kontrol ediliyor. Bunların yanı sıra, araç kullanılıyor, müşteriye para veriliyor, telefonla konuşma yapılıyor. Bu kadarını yorumlamak bizim için yeterli olacaktır.

 

 

 Multitasking tekniğinin faydalarını anlamamız için bir kaç kıyaslama yapabiliriz. Şoför sadece telefonla konuşursa araç zamanında hareket etmemiş olacak veya sadece araç kullansa müşterilerle ilgilenmemiş olacak veya sadece müşterilerle ilgilense telefondaki kişiyle haberleşemeyecek. Bu örnek için kombinasyonlar bir hayli fazla.

   Peki nasıl oluyor da tüm bu işleri, kısıtlı zamana sığdırabiliyor? Haberleşme veri yolları yeterli sıklıkta kontrol ediliyor. Çevre ara birimleri yeterli sıklıkta yönetiliyor. Aynı zamanda, haberleşme veri yollarından gelecek olan veriler beklenmeyip, bu zaman aralıkları da değerlendiriliyor. Bu yöntemler ile, işlemciden maksimum verim alınmaya çalışılınır. Yeterli sıklık noktaları da yine işlemci tarafından hesaplanır.

   Bir işlemi bütün olarak düşünüp parçalara ayıralım. Müşterilerin dinlenmesi işlemini bir bütün gibi düşünüp M diye adlandıralım. M1) müşterilerden ses geliyor mu? M2) ses hangi taraftan geliyor? M3) hangi müşteriden ses geliyor? M4) müşteriden gelen ses ne anlama geliyor? M5)…   Şeklinde bir çok parçaya ayrılabilir.

   Telefonun dinlenmesini T işlemi, hislerin kontrolünü de H işlemi diye adlandırırsak, işlemcinin multitask çalışmasına; M1_T1_H1_M2_T2_H2_M3_T3_H3_ sıralayarak kabaca bir örnek vermiş olabiliriz.

   Örnek üzerinde görüldüğü gibi tüm işlemler aynı_zaman_aralığında yapılıyor. Ancak aynı_anda yapılmıyor.

   Çıkarılacak sonuçlardan bizim için en önemlisi: 

   T işleminden başka işleme geçiş yaparken, işlemci o an bulunduğu konumu ve işlem hakkında ki verileri hafızanın belirli bir bölgesine kayıt edip başka işleme gider. T işlemine geri dönerken, T işlemi için ayrılan hafıza okunup kalınan yerden devam edilir.

Devamı niteliğindeki yazım: “Multitask Temel Algoritma”

“Multitasking Tekniğini Hakkında!” için 2 cevap

Bir cevap yazın

Or

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir