Gardırobunuzun karmaşa içinde olduğunu düşünün. İçinde onlarca kıyafet var ama alanınız sınırlı. Sonunda, düzenlemeye karar veriyorsunuz. Ancak bunu çözmenin en verimli yolu ne?
Cevap, bilgisayarların bellek yönetiminde kullandığı yöntemlerde saklı.

Belki de iki yıl önce aldığınız ama neredeyse hiç giymediğiniz siyah kazağı elden çıkarmanın zamanı gelmiştir. Ya da birkaç yazlık kıyafeti azaltarak yer açarsınız, yaz geldiğinde ise bu kez birkaç kışlık kıyafeti ayıklayarak dengeyi sağlarsınız. İnternette küçük bir arama yaptığınızda, size “derle, topla, rahatla” şeklinde öneriler sunan uzmanlara rastlarsınız. Ama bir bilgisayar gibi düşünmeyi de deneyebilirsiniz.
Çünkü aslında bilgisayarlar da sizinle aynı sorunu yaşar. Bilgisayarlar da sınırlı depolama alanına sahiptir. Bu nedenle hangi verilerin saklanacağı, nasıl düzenleneceği konusunda optimize edilmiş stratejiler kullanır. Bu stratejiler, dolabınızı en verimli şekilde düzenlemeniz için de uygun olacaktır.

Bilgisayar bilimcileri, bilgisayarların ortaya çıktığı ilk günden beri bu sorunu çözmek için yöntemler geliştiriyor. Şimdi gelin, onların bu problemi nasıl ele aldığına bakalım.
Önbellekleme Nedir?
Önbellekleme, bellek mimarisinin temel bir parçasıdır. İşlemci çiplerinin milimetre ölçeğindeki tasarımından, küresel internetin coğrafi yapısına kadar her yerde rol oynar. Bu kavram, yalnızca bilgisayarlarımızdaki değil, ofislerimizde, kütüphanelerimizde ve hatta dolaplarımızdaki depolama sistemlerini anlamak için de yeni bir bakış açısı sunar.
1946’da, Arthur Burks, Herman Goldstine ve John von Neumann, Princeton’daki İleri Araştırmalar Enstitüsü’nde bir tasarım önerisi sundular. Bu öneride, “elektriksel bellek organı” adını verdikleri bir sistem vardı. Teoride, ideal bir bilgisayar sonsuz miktarda, ışık hızında çalışan bir belleğe sahip olmalıydı. Ancak pratikte, bu olamazdı.
Bunun yerine, üçlü “bir bellek hiyerarşisi” önerdi. Bu sistemde, her seviye öncekinden daha fazla kapasiteye sahip belleklerden oluşuyordu. Bilgisayar biliminde bu bellek hiyerarşisi fikri, uzun süre sadece bir teori olarak kaldı. Ancak 1962’de geliştirilen Atlas süper bilgisayarı ile gerçeğe dönüştü.
Atlas’ın geliştirilmesinden kısa bir süre sonra, Cambridge matematikçisi Maurice Wilkes, bu küçük ve hızlı belleğin sadece geçici bir çalışma alanı olmadığını fark etti.
Verileri yalnızca işleyip kaydetmek için değil, gelecekte tekrar ihtiyaç duyulacak bilgileri önceden saklamak için de kullanılabilirdi. Bu sayede, sistem kullanıcının ihtiyaç duyduğu verileri tahmin eder ve bu makinenin hızını büyük ölçüde artırırdı.
Wilkes’in önerisi, 1960’ların sonlarında IBM 360/85 süper bilgisayarı ile gerçekleşti. Bu sistem, “önbellek” (cache) adını aldı. O zamandan beri önbellekler, bilgisayar biliminin her alanında kullanılmaya başlandı.

Kıyafet almak, kıyafet koymak, kıyafet aramak gibi eylemler ise bu verilerle yapılan işlemler gibidir.
Bilgisayarlar Bellek Yönetimini Nasıl Yapar?
Dolabınızı en verimli şekilde düzenlemek için bilgisayarların bellek yönetiminde kullandığı yöntemleri uygulayabilirsiniz. Öncelikle, neyin saklanacağına karar verirken bilgisayarların kullandığı LRU (Least Recently Used – En Az Kullanılan İlk Çıkar) prensibini benimseyebilirsiniz. Son bir yılda hiç giymediğiniz kıyafetleri elden çıkararak dolabınızda yer açabilir, ara sıra giydiğiniz parçaları erişilebilir bir yerde tutabilir ve sık kullandığınız kıyafetleri en kolay ulaşılabilir konuma yerleştirebilirsiniz. Bu, gereksiz yükü azaltırken, dolabınızı daha işlevsel hale getirir.
Daha sonra, konumu optimize etmek için bilgisayarların önbellekleme (caching) sisteminden ilham alabilirsiniz. Günlük kıyafetlerinizi göz hizasında ve kolay erişilebilir bir rafta bulundurmak, mevsim dışı kıyafetleri dolabın üst raflarına veya daha az erişilen bölümlere taşımak ve nadiren kullandığınız kıyafetleri saklama kutularında veya dolap dışında muhafaza etmek, ihtiyaçlarınıza hızla ulaşmanızı sağlar.
Bunun yanında, çok katmanlı bellek hiyerarşisini dolabınıza uygulayabilirsiniz. Bilgisayarların hızlı ama küçük bellekleri ile yavaş ama geniş depolama alanları arasında kurduğu denge gibi, siz de en sık giydiğiniz kıyafetleri kolay erişilebilir çekmecelerde ve askılarda tutabilirsiniz.
Daha az kullandığınız kıyafetleri üst raflara veya kutulara koyarak orta erişim alanında saklayabilir, nadiren giydiğiniz kıyafetleri ise bodrum, çatı katı veya ek depolama alanlarına kaldırabilirsiniz. Bu yöntem, sık kullandığınız şeyleri her zaman elinizin altında tutarken, uzun süre ihtiyaç duymadıklarınızı yer kaplamadan saklamanızı sağlar.
Bilgisayarlar Düzenlemeyi Nasıl Yapar?

Sonuç olarak, dolabınızı organize etmenin en iyi yolu, bilgisayarların bellek yönetimini taklit etmektir. Ancak ne saklayacağınıza ve nereye koyacağınıza karar verdikten sonra, son sorun eşyalarınızı nasıl düzenleyeceğiniz sorusudur. Çoğu ev düzenleme tavsiyesinde “benzerleri bir arada gruplamak” önerilir. Ancak bu fikre doğrudan karşı çıkan biri var
Yukio Noguchi “Belgeleri içeriğe göre gruplamamak çok temel bir ilkedir” diyerek klasik düzenleme yöntemlerine meydan okuyor. Ona göre, belgeleri veya eşyaları türlerine göre gruplamak yerine, kullanım sıklığına göre düzenlemek çok daha etkili bir yöntemdir. Bu bakış açısı, bilgisayarların bellek yönetiminde kullandığı stratejilere oldukça benzerdir.

Noguchi’nin “Süper” Dosyalama Sistemi
Ekonomi kariyerinin başlarında, Yukio Noguchi sürekli olarak bilgi bombardımanına uğruyordu. Harcadığı zaman, gününün önemli bir kısmını tüketiyordu. Bu yüzden alternatif bir yöntem aramaya başladı. İlk olarak, her belgeyi başlığı ve tarihiyle etiketleyerek tek bir dosya kutusuna koydu. Ancak bu sistem, sonuçta düzensiz bir yığın olmaktan öteye gitmedi.
Noguchi, 1990’ların başında çığır açan bir keşif yaptı Belgeleri kutunun sol tarafına eklemeye başladı. Böylece “süper” dosyalama sistemi doğdu. Bu sistemin temel kuralı oldukça basitti. Yeni ya da eski fark etmeksizin tüm belgeler kutunun soluna konmalıdır. Bir dosya kullanıldığında, geri koyarken yine sol tarafa yerleştirilir. Dosya ararken ise her zaman soldan başlanır. Bu sayede, sistem kendiliğinden organize olur ve en sık kullanılan belgeler, en erişilebilir konumda kalır..

1970’ler ve 80’lerde bilgisayar bilimcileri, “self-organizing lists” (kendini düzenleyen listeler) adı verilen bir problem üzerinde çalışıyordu. Noguchi’nin dosyalama sistemine neredeyse birebir benzeyen bir sorunla karşı karşıyaydılar. Belirli bir sırayla dizilmiş öğeleri içeren bir liste vardı ve zaman zaman belirli bir öğeyi aramak gerekiyordu. Ancak öğeler sırayla aranmalıydı, yani doğrusal bir arama yapılmalıydı. Bulunan öğe listeye geri yerleştirilirken herhangi bir noktaya konabilirdi.
Peki, bu listeyi aramayı en verimli hale getirecek şekilde nasıl düzenlemeliydiler? 1985 yılında Daniel Sleator ve Robert Tarjan, en kötü senaryoda bile en iyi performansı sağlayacak düzenleme yöntemlerini araştırdı. Sonuç olarak, listede en sık aranan öğelerin başa alınmasının en iyi yöntem olduğu ortaya çıktı. Bu, Noguchi’nin sisteminin yalnızca pratik değil, aynı zamanda bilgisayar biliminde kanıtlanmış en verimli yöntemlerden biri olduğunu gösterir.
Noguchi sistemini yataydan dikeye çevirirsek ne olur?
Bir dosya kutusunu yan çevirirsek, bu bir yığına dönüşür. Yığınların doğası gereği, aramalar her zaman üstten başlar. Bir belge çıkarıldığında, yerine değil, en üste geri konur. Bu, masaüstünüzde biriken kağıt yığınının aslında sanıldığı kadar düzensiz olmadığını gösterir. Aksine, bu sistem kendiliğinden organize olan bir yapıdır. Sürekli kullanılan belgeler en üstte kalırken, nadiren kullanılanlar zamanla alta kayar.
Aynı prensibi bilgisayarlarda da uygulamak mümkündür. Dosyaları alfabetik olarak sıralamak yerine, “Son Açılanlar” sırasına göre görüntülemek, sık kullanılan dosyalara daha hızlı ulaşmanızı sağlar. Böylece ihtiyacınız olan dosya her zaman en üstte yer alır ve gereksiz zaman kaybı yaşanmaz.
Bu bilgiler radikal bir gerçeği ortaya çıkarıyor: Masanızdaki kağıt yığını aslında düzensiz bir kaos değil, kendi kendini organize eden, verimli bir sistemdir. Eğer eşyalarınızı olabildiğince hızlı bulmak istiyorsanız, onları yerleştirmek için fazladan çaba harcamanıza gerek yoktur. Aslında, farkında olmadan zaten organize ettiniz.
Kaynaklar ve ileri okumalar:
- How Should You Organize Your Closet? Exactly Like a Computer Organizes Its Memory; yayınlanma tarihi: 20 Nisan 2016; Bağlantı: https://www.wired.com/
- How I Use Data Structures and Algorithms to Help My Wife Organize the Closet;. Yayınlanma tarihi: 15 Temmuz 2020; Bağlantı: https://medium.com/
Matematiksel