İçeriğe atla

Sayfa yer değiştirme algoritması

Bilgisayar işletim sistemlerinde sayfa yer değiştirme algoritması, bellek yöneticisinin yeni bir sayfaya yer açmak için, hangi sayfayı dışarı alacağına karar veren algoritmadır.

Geçmiş

Sayfa yer değiştirme algoritmaları 1960 ve 70'lerde sıcak bir konuydu ve LRU algoritmasına yaklaşan algoritmalar ve çalışma kümesi tipi algoritmaların geliştirilmesiyle konuya ilgi azaldı.

Yerel ve küresel yer değiştirme

Bir proseste sayfa hatası oldu diyelim. Eğer o prosesten bir sayfa aranıp bellekten çıkarılırsa buna yerel, eğer tüm prosesler arasından uygun bir sayfa aranıp çıkarılırsa buna küresel yer değiştirme denir.

Sayfa yer değiştirme algoritmaları

  • Kuramsal sayfa yer değiştirme algoritması
  • Son zamanlarda kullanılmayan sayfa yer değiştirme algoritması (NRU)
  • İlk giren ilk çıkar sayfa yer değiştirme algoritması
  • İkinci şans sayfa yer değiştirme algoritması
  • Saat sayfa yer değiştirme algoritması
  • En az kullanılan sayfa yer değiştirme algoritması (LRU)
  • Sık kullanılmayan sayfa yer değiştirme algoritması (NFU)
  • Çalışma kümesi sayfa yer değiştirme algoritması
  • WSClock sayfa yer değiştirme algoritması

Kaynakça

Dış bağlantılar

İlgili Araştırma Makaleleri

<span class="mw-page-title-main">Bellek yönetimi</span>

Ana belleğin işlemler arasında paylaştırılmasına ana bellek yönetimi ya da bellek yönetimi adı verilir. İşletim sisteminin bu amaçla oluşturulan kesimine de bellek yöneticisi adı verilir.

<span class="mw-page-title-main">PageRank</span>

PageRank, Google tarafından geliştirilen ve web sayfalarının önemini belirlemek için kullanılan bir algoritmadır. İnternet üzerindeki bağlantıların analiz edilmesiyle hesaplanan Pagerank değeri Google Arama sonuçlarında sayfaların sıralanması için kullanılan faktörlerden biridir.

Ön bellek algoritmaları, bilgisayarda saklanan ön bellek bilgilerini optimize eden komutlardır. Ön bellek büyüklüğü sınırlıdır ve ön bellek doluysa, bilgisayar (kullanıcı) hangi parçaların tutulacağı ve yeni parçalara yer açmak için hangi parçaların atılacağına karar vermek zorundadır.

<span class="mw-page-title-main">Sıralama algoritması</span>

Sıralama algoritması, bilgisayar bilimlerinde ya da matematikte kullanılan, verilen bir listenin elemanlarını belirli bir sıraya sokan algoritmadır. En çok kullanılan sıralama türleri, sayı büyüklüğüne göre sıralama ve alfabetik sıralamadır. Sıralama işleminin verimli yapılması, arama ve birleştirme algoritmaları gibi çalışması için sıralanmış dizilere gereksinim duyan algoritmaların başarımının yüksek olması için önemlidir. Sıralama algoritmaları bilgisayarlarda tutulan verilerin düzenlenmesini ve insan kullanıcı tarafından daha rahat algılanmasını da sağlar.

<span class="mw-page-title-main">Seçmeli sıralama</span>

Seçmeli Sıralama, bilgisayar bilimlerinde kullanılan bir sıralama algoritmasıdır. Karmaşıklığı olduğu için büyük listeler üzerinde kullanıldığında verim sağlamaz ve genel olarak benzeri olan eklemeli sıralamadan daha başarısızdır. Seçmeli sıralama yalın olduğu ve bazı durumlarda daha karmaşık olan algoritmalardan daha iyi sonuç verdiği için tercih edilebilir.

Sanal bellek, fiziksel belleğin görünürdeki miktarını arttırarak uygulama programına (izlence) fiziksel belleğin boyutundan bağımsız ve sürekli bellek alanı sağlayan bilgisayar tekniğidir. Ana belleğin, diskin (ikincil saklama) önbelleği (cache) gibi davranmasıyla; yani disk yüzeyini belleğin bir uzantısıymış gibi kullanmasıyla gerçekleştirilir. Ancak gerçekte, yalnızca o anda ihtiyaç duyulan veri tekerden ana belleğe aktarılıyor olabilir. Günümüzde genel amaçlı bilgisayarların işletim sistemleri çoklu ortam uygulamaları, kelime işlemcileri, tablolama uygulamaları gibi sıradan uygulamalar için sanal bellek yöntemi kullanılmaktadır.

Sayfalama ya da bellek adresleme, durgun sanal bellek sayfalarının ikincil bellekte (teker) saklanarak daha sonra ihtiyaç duyulduğunda ana belleğe yüklenmesi işlemini içerir. Bir diğer anlamı, adres uzayının belli oranlarda bloklara ayrılmasıdır. Sayfalama, bellek mahallerine ulaşımı ve adreslemeyi kolaylaştırır. 6502 mikroişlemcili bir sistemde 65536'lık adres uzayı 256 adet 256 Baytlık hayalı sayfalara ayrılır. Genelde 6502 işlemcili sitemlerde 1. sayfa yığın olarak ayrılırken 0. sayfaya bakış tabloları veya veri blokları yerleştirilir.

Ana bellekteki tüm sayfalar kullanımdayken sayfa hatası oluşması durumunda, işletim sistemi bir sayfayı değiştirmek üzere seçmelidir. Sayfa hatalarının en aza indirilmesi amaçlandığından çoğu işletim sistemi yakın bir zamanda kullanılmayacağını varsaydığı bir sayfayı seçer. İşletim sistemlerin bu varsayımları geçmiş durum değerlendirmelerine dayanarak gelecek durumun tahmin edilmesine dayanır. Bu tahminlerde kullanılan algoritmaların başında en uzun zamandır kullanılmayanla değiştirme gelir. İşletim sistemi en uzun zamandır kullanılmayan sayfanın daha yakın bir zamanda kullanılan sayfadan daha az gerekli olduğu varsayımı yaparak uzun zamandır kullanılmayan sayfayı istenen sayfayla değiştirmek üzere seçer.

<span class="mw-page-title-main">Eklemeli sıralama</span> sıralama algoritma

Eklemeli Sıralama, bilgisayar bilimlerinde kullanılan ve sıralı diziyi her adımda öğe öğe oluşturan bir sıralama algoritmasıdır. Büyük dizilerle çalışıldığında hızlı sıralama, birleştirmeli sıralama ve yığın sıralaması gibi daha gelişmiş sıralama algoritmalarından daha verimsiz çalışır. Ancak buna karşın bazı artıları da vardır:

Kütüphane Sıralaması ya da diğer bir deyişle aralıklı eklemeli sıralama, eklemeli sıralama algoritmasını art arda yapılan eklemeleri dizideki boşlukları kullanıp hızlandırarak kullanan bir sıralama algoritmasıdır. Adının kütüphane sıralaması olması bir benzetmeden gelmektedir:

Bir kütüphane görevlisinin bir raftaki bütün kitapları A harfiyle başlayanlar sol tarafta kalarak sağa doğru kitapların arasında boşluk kalmayacak biçimde alfabetik sıraya dizmek istediğini varsayalım. Eğer görevli B bölümüne ait yeni bir kitabı yerleştirmek isterse kitabın yerini B alanında bulduktan sonra yeni kitaba yer açmak için ilgili kitaptan sonraki bütün kitapları sağa kaydırması gerekir. Bu bir eklemeli sıralamadır. Ancak, eğer görvli daha önce her bir harften sonra belirli bir boşluk bırakmış olsaydı, yalnızca B harfindeki kitapların yarısını hareket ettirerek bu sıralamayı sağlayabilirdi. Kütüphane sıralamasının ana ilkesi budur.

Dekker algoritması, karşılıklı dışlamayı sağlamak için kullanılan bir eşzamanlı programlama algoritmasıdır. 1964'te T. J. Dekker tarafından geliştirilen ve adını da buradan alan algoritma, iki threadin çakışma yaratmaksızın paylaşılamayacak bir kaynağı, sadece iletişim için paylaşılan bir bellek yardımıyla, kullanmalarına olanak tanır. Basit bir vardiya algoritmasındaki dikkatli değiştirmeden kaçınır. Dekker algoritması karşılıklı dışlama için icat edilmiş ilk algoritmalardandır.

Tanrının algoritması, Rubik Küpü ile benzeri bulmaca ve matematiksel oyunların çözüm yöntemlerini konu alan bir kavram. Sözü edilen bulmacaları olabilecek en az adımda çözmeyi başaran algoritmayı tanımlamak için kullanılan bu terim, herhangi bir anda çözüme giden en kısa yolu bulabilen bir bilgenin var olduğu düşüncesine dayanmaktadır.

<span class="mw-page-title-main">Hesaplamalı fizik</span>

Hesaplamalı fizik, fizik sorunlarını çözebilmek için sayısal algoritmaların üretilmesi ve gerçeklenmesini içerir. Genelde kuramsal fizikin bir alt dalı olarak değerlendirilir ancak bazen de kuramsal ve deneysel fizik arasında orta bir dal olarak da düşünülür.

<span class="mw-page-title-main">Evrimsel algoritma</span>

Evrimsel algoritma (EA), yapay zeka oluşturmada evrimsel bilgisayımın bir alt kümesi olup meta bulucu optimizasyon algoritması tabanında jenere edilmiş popülasyondur. Evrimsel algoritma, biyolojik evrimden esinlenerek üreme, mutasyon, rekombinasyon ve doğal seçilime benzer mekanizmalar kullanır. Optimizasyon problemlerinin aday çözümleri bir popülasyondaki bireyleri temsil eder ve seçilim değeri fonksiyonları çözümlerin içinde "yaşadığı" çevreyi belirler. Popülasyonun evrimi yukarıdaki operatörlerin tekrarlanan uygulaması sonrasında gerçekleşir. Yapay evrim (YE), başlı başına farklı evrimsel algoritmalar içeren bir süreci anlatmaktadır; EA'ların her biri, YE'e katılım yapan ayrı bir bileşendir.

Matematikte, özellikle soyut cebir ve uygulamalarında, ayrık logaritma, genel logaritmanın grup kuramındaki karşılığıdır. Genel olarak bakıldığında, loga(b) ifadesi, ax = b ifadesinin gerçel sayılar kümesi içindeki çözümlerine karşılık gelir. Benzer olarak, g ve h sonlu devirli grup G'nin elemanları olduğunda, gx = h ifadesinin çözümü olan x sonuçlarına h'nin g tabanındaki ayrık logaritması denir.

<span class="mw-page-title-main">Google Panda</span>

Google Panda, Google'ın internet sitelerini belirli kriterlere göre sınıflandıran uygulaması. Bu sınıflandırma neticesinde çıkan sonuçlara göre de sitelere arama sonuçlarında yer verir.

zram, RAM'de, diğer bir deyişle bir RAM sürücüsünde sıkıştırılmış bir blok aygıtı oluşturmak ve anında "disk" sıkıştırması için bir Linux çekirdek modülü - yüklenebilir çekirdek modülüdür. Zram ile oluşturulan blok aygıtı daha sonra takas veya genel amaçlı RAM diski olarak kullanılabilir. Zram için en yaygın kullanılan iki dosya, geçici dosyaları depolamak ve takas "disk" olarak kullanmaktır. Başlangıçta, zram yalnızca ikinci fonksiyona sahipti, bu nedenle orijinal adı "compcache" idi.

Kriptografide, scrypt, Colin Percival tarafından Tarsnap çevrimiçi yedekleme hizmeti için oluşturulan bir parola tabanlı anahtar türetme fonksiyonudur. Bu algoritma, büyük miktarda bellek gerektirerek büyük ölçekli özel donanım saldırılarını gerçekleştirmeyi pahalı hale getirmek için özel olarak tasarlanmıştır. 2016 yılında, scrypt algoritması IETF tarafından RFC 7914 olarak yayınlandı. Scrypt algoritmasının, ArtForz kullanıcı adına sahip ve gerçek adı bilinmeyen bir programcı tarafından implemente edilmiş, basitleştirilmiş bir sürümü, önce Tenebrix'te ve ardından Fairbrix ve Litecoin olmak üzere bir dizi kripto para birimi tarafından iş kanıtı şeması olarak kullanıldı.

<span class="mw-page-title-main">Önbellek</span>

Hesaplamada, önbellek ; veri depolayan bir donanım veya yazılım bileşenidir, böylece bu veriler için gelecekteki talepler daha hızlı bir şekilde yerine getirilebilir; Bir önbellekte depolanan veriler daha önceki bir hesaplamanın sonucu veya başka bir yerde depolanan verilerin bir kopyası olabilir. İstenen veriler bir önbellekte bulunduğunda, önbellek kaçması, yapamadığında önbellek kaçırma şeklinde göründüğünde önbellek isabet oluşur. Önbellek isabetleri, bir sonucu yeniden hesaplamadan veya daha yavaş bir veri deposundan okumadan daha hızlı olan önbellekten veri okuyarak yapılır; bu nedenle, önbellekten ne kadar fazla istek yapılabiliyorsa, sistem o kadar hızlı çalışır.

<span class="mw-page-title-main">FIFO algoritması</span>

FIFO algoritmasının mantığı basittir. Bellek yöneticisinin yeni bir sayfaya yer açmak için, hangi sayfayı dışarıda bırakacağını karar veren algoritmalardan biridir. Yönlendiriciye gelen ilk paket, iletilecek ilk pakettir.