logo

İşletim Sisteminde Biriktirme

İşletim Sisteminde girişi CPU'ya vermek zorundaydık ve CPU talimatları yürütür ve sonunda çıktıyı verir. Ancak bu yaklaşımda bir sorun vardı. Normal bir durumda birçok süreçle uğraşmak zorundayız ve I/O işleminde geçen sürenin, CPU'nun talimatları yürütmek için harcadığı süreye kıyasla çok büyük olduğunu biliyoruz. Yani eski yaklaşımda, bir süreç bir giriş cihazı yardımıyla girişi verecektir ve bu süre zarfında CPU boşta durumdadır.

harita için Java yineleyici

Daha sonra CPU talimatı yürütür ve çıktı tekrar bazı çıkış aygıtlarına verilir ve bu sırada CPU da boş durumdadır. Çıktıyı gösterdikten sonra bir sonraki süreç yürütülmeye başlar. Yani çoğu zaman CPU boştadır ve bu, İşletim Sistemlerinde karşılaşabileceğimiz en kötü durumdur. Burada Spooling kavramı devreye giriyor.

Biriktirme Nedir?

Bekletme, verilerin bir cihaz, program veya sistem tarafından kullanılmak ve yürütülmek üzere geçici olarak tutulduğu bir işlemdir. Veriler, program veya bilgisayar yürütülmesini talep edene kadar belleğe veya diğer geçici depolama birimlerine gönderilir ve burada saklanır.

SPOOL, şunun kısaltmasıdır: eşzamanlı çevresel işlemler çevrimiçi . Genellikle biriktirme bilgisayarın fiziksel belleğinde, arabelleklerinde veya G/Ç cihazına özgü kesintilerde tutulur. Makara, FIFO (ilk giren ilk çıkar) algoritmasına dayalı olarak çalışarak artan sırada işlenir.

Biriktirme, çeşitli G/Ç işlerinin verilerinin bir ara belleğe yerleştirilmesi anlamına gelir. Bu arabellek, bellekte veya sabit diskte G/Ç aygıtlarının erişebildiği özel bir alandır. Bir işletim sistemi dağıtılmış ortamla ilgili olarak aşağıdaki etkinlikleri gerçekleştirir:

  • Cihazlar farklı veri erişim hızlarına sahip olduğundan, G/Ç cihaz verilerini biriktirmeyi yönetir.
  • Yavaş cihaz yetişirken verilerin dinlenebileceği bir bekleme istasyonu sağlayan bekletme arabelleğini korur.
  • Bir bilgisayar G/Ç'yi paralel sırada gerçekleştirebildiğinden, bekletme işlemi nedeniyle paralel hesaplamayı korur. Bilgisayarın bilgi işlem görevini yaparken banttan veri okuması, diske veri yazması ve bant yazıcıya yazması mümkün hale gelir.

İşletim Sisteminde Biriktirme Nasıl Çalışır?

Bir işletim sisteminde biriktirme aşağıdaki adımlarla çalışır:

  1. Biriktirme, SPOOL'un oluşturulduğu cihaz bu işi kullanmaya ve yürütmeye veya veriler üzerinde çalışmaya hazır olana kadar işleri ve verileri tutmak için kullanılan, SPOOL adı verilen bir arabellek oluşturmayı içerir.
  2. Daha hızlı bir aygıt, bir işlemi gerçekleştirmek için daha yavaş bir aygıta veri gönderdiğinde, SPOOL arabelleği olarak eklenen herhangi bir ikincil belleği kullanır. Bu veriler, daha yavaş olan cihaz bu veriler üzerinde çalışmaya hazır olana kadar SPOOL'da tutulur. Daha yavaş olan cihaz hazır olduğunda SPOOL'daki veriler gerekli işlemler için ana belleğe yüklenir.
    İşletim Sisteminde Biriktirme
  3. Biriktirme, ikincil belleğin tamamını, birçok işlem için birçok işi ve veriyi depolayabilen devasa bir arabellek olarak kabul eder. Biriktirmenin avantajı, işleri birer birer yürütmek için FIFO sırasına göre yürütülen bir iş kuyruğu oluşturabilmesidir.
  4. Bir cihaz, verileri üzerinde bazı işlemler gerektirebilecek birçok giriş cihazına bağlanabilir. Böylece, tüm bu giriş cihazları, verilerini daha sonra cihaz tarafından tek tek çalıştırılabilen ikincil belleğe (SPOOL) koyabilir. Bu, CPU'nun hiçbir zaman boşta kalmamasını sağlayacaktır. Yani Spooling'in tamponlama ve kuyruklamanın bir kombinasyonu olduğunu söyleyebiliriz.
  5. CPU bir miktar çıktı ürettikten sonra bu çıktı ilk olarak ana belleğe kaydedilir. Bu çıktı ana bellekten ikincil belleğe aktarılır ve oradan da çıktı ilgili çıkış cihazlarına gönderilir.

Biriktirme Örneği

Biriktirmenin en büyük örneği baskı . Yazdırılacak belgeler SPOOL'da saklanır ve ardından yazdırma kuyruğuna eklenir. Bu süre zarfında yazıcı, dokümanların üzerine tek tek yazdırma işlemini gerçekleştirirken birçok proses beklemeden işlemlerini gerçekleştirebilir ve CPU'yu kullanabilir.

İşletim Sisteminde Biriktirme

Bekletme yazdırma işlemine, önceliklerin belirlenmesi veya yazdırma işlemi tamamlandığında bildirimde bulunulması veya kullanıcının tercihine göre üzerine yazdırılacak farklı kağıt türlerinin seçilmesi gibi birçok özellik de eklenebilir.

Biriktirmenin Avantajları

Bir işletim sisteminde bekletmenin aşağıdaki avantajları şunlardır:

  • G/Ç cihazlarının veya işlemlerinin sayısı önemli değildir. Birçok I/O cihazı birbirine herhangi bir müdahale veya kesinti olmaksızın aynı anda birlikte çalışabilir.
  • Biriktirmede G/Ç aygıtları ile CPU arasında herhangi bir etkileşim yoktur. Bu, CPU'nun G/Ç işlemlerinin gerçekleşmesini beklemesine gerek olmadığı anlamına gelir. Bu tür işlemlerin yürütülmesinin tamamlanması uzun zaman alır, dolayısıyla CPU bunların bitmesini beklemez.
  • Boşta durumdaki CPU çok verimli sayılmaz. Çoğu protokol, CPU'yu minimum sürede verimli bir şekilde kullanmak için oluşturulmuştur. Biriktirmede CPU çoğu zaman meşgul tutulur ve yalnızca sıra tükendiğinde boşta durumuna geçer. Böylece tüm görevler kuyruğa eklenir ve CPU tüm bu görevleri bitirip boş duruma geçer.
  • G/Ç aygıtlarını ilgili tam hızlarında çalıştırırken uygulamaların CPU hızında çalışmasına olanak tanır.

Biriktirmenin Dezavantajları

Bir işletim sisteminde biriktirmenin aşağıdaki dezavantajları vardır:

  • Biriktirme, giriş tarafından yapılan isteklerin sayısına ve bağlı giriş cihazlarının sayısına bağlı olarak büyük miktarda depolama gerektirir.
  • SPOOL ikincil depolamada oluşturulduğundan, birçok giriş cihazının aynı anda çalışması, ikincil depolamada çok fazla yer kaplayabilir ve dolayısıyla disk trafiğini artırabilir. Bu, trafik arttıkça diskin giderek yavaşlamasına neden olur.
  • Biriktirme, verileri daha yavaş bir cihazdan daha hızlı bir cihaza kopyalamak ve yürütmek için kullanılır. Daha yavaş olan cihaz, üzerinde çalışılacak verileri bir kuyrukta depolamak için bir SPOOL oluşturur ve CPU bunun üzerinde çalışır. Bu süreç, CPU'dan gerçek zamanlı sonuçlara ihtiyaç duyduğumuz gerçek zamanlı ortamlarda Spooling'in kullanımını anlamsız kılmaktadır. Bunun nedeni, giriş cihazının daha yavaş olması ve dolayısıyla verilerini daha yavaş bir hızda üretmesi, CPU'nun ise daha hızlı çalışabilmesi ve böylece kuyruktaki bir sonraki işleme geçmesidir. Nihai sonucun veya çıktının gerçek zamanlı yerine daha sonraki bir zamanda üretilmesinin nedeni budur.

Biriktirme ve Arabelleğe Alma Arasındaki Fark

Bekletme ve ara belleğe alma, G/Ç alt sistemlerinin ana bellekteki veya diskteki bir depolama alanını kullanarak bilgisayarın performansını ve verimliliğini artırmasının iki yoludur.

yapıdaki c yapısı
İşletim Sisteminde Biriktirme

Biriktirme ve Arabelleğe Alma arasındaki temel fark, Biriktirmenin bir işin G/Ç'sini başka bir işin yürütülmesiyle örtüşmesidir. Buna karşılık, tamponlama, bir işin G/Ç'sini aynı işin yürütülmesiyle örtüştürür. Aşağıda, Bekletme ve Arabelleğe Alma arasındaki diğer bazı farklar verilmiştir:

Şartlar Biriktirme Tamponlama
Tanım Eşzamanlı Çevresel Operasyon Çevrimiçi'nin (SPOOL) kısaltması olan biriktirme, verileri başka bir program veya kaynak tarafından erişilecek ve işlenecek geçici bir çalışma alanına yerleştirir. Arabelleğe alma, verileri geçici olarak arabellekte saklama işlemidir. Gönderen ve alıcı arasındaki veri akışının hızının eşleştirilmesine yardımcı olur.
Kaynak gereksinimi Belirli işler için süreci farklı kaynaklar yönettiğinden, bekletme daha az kaynak yönetimi gerektirir. Aynı kaynak aynı bölünmüş işin sürecini yönettiği için arabelleğe alma daha fazla kaynak yönetimi gerektirir.
Dahili uygulama Biriktirme, bir işin girdi ve çıktısını başka bir işin hesaplamasıyla örtüştürür. Tamponlama, bir işin giriş ve çıkışını aynı işin hesaplanmasıyla örtüştürür.
Verimli Biriktirme, ara belleğe alma işleminden daha verimlidir. Ara belleğe alma, biriktirmeye göre daha az verimlidir.
İşlemci Biriktirme aynı zamanda uzak sitelerdeki verileri de işleyebilir. Biriktiricinin, bir sonraki işlemi uzak taraftaki cihaza biriktirmek için yalnızca uzak sitede bir işlem tamamlandığında bildirimde bulunması gerekir. Arabelleğe alma uzaktan işlemeyi desteklemez.
Bellekteki boyut Diski büyük bir makara veya arabellek olarak görür. Tampon, ana bellekte sınırlı bir alandır.