Sayfa boyutunu ve küme boyutunu ne belirler?


2

Bellek sayfasının boyutu RAM'in kendisi tarafından mı, yoksa işletim sistemi tarafından mı? Yani, RAM’in sayfa boyutu RAM’i kullanan tüm işletim sistemlerinde aynı mıdır?

Bir dosya sistemi kümesinin boyutu, dosya sistemi tarafından mı yoksa dosya sistemini kullanan işletim sistemi tarafından mı belirlenir? Örneğin, bir ntfs bölümünün küme boyutu, bölüm Linux altında ve Windows altında kullanıldığında aynı mıdır?

Teşekkürler.



@ psusi - Muhtemelen bu yazıyı bu yazı yerine işaretlemek istemiştiniz .
talaşlı

@ sawdust, neden evet, haklısın.
psusi

Yanıtlar:


5

Bellek sayfa boyutu Bellek sayfa boyutundaki
kısıtlamalar öncelikle MMU (Bellek yönetim Birimi) donanımı ve performans kriterleridir. Açıkçası, seçilen sayfa boyutunun MMU tarafından desteklenmesi gerekir (yani sanal bellek çevirileri sağlayan sayfa haritalama donanımı). Sayfa boyutu, bir sayfa hatası meydana geldiğinde içeri veya dışarı kaydırılması gereken kod veya veri miktarı için seçilir (küçük bir işlev bellekte değil, bu yüzden verileri değiştirip sadece 1K kodunda okuruz ya da 8K değerine gideriz. kod?) ve bu miktarda kod / veri aktarma maliyeti (örneğin iki sektörde okuma, 16 sektör okumaktan daha hızlıdır).
Tarihsel olarak 4KiB birçok sistem için uygun bir denge olmuştur. Kullanılan gerçek boyut, işletim sisteminin sanal bellek kodunda belirtilmiştir.

Küme boyutu Küme boyutu
yalnızca bir dosya sistemi birimidir ve "küme" terimi öncelikle Microsoft terminolojisidir. Genel terim, bir dosya sistemi içindeki tahsisat birimidir. Tahsis birimi, dosya sisteminin belirli kurulumuna özgüdür (yani, bir NTFS bölümü 4 KB'lik bir küme boyutuna sahip olabilir ve aynı disk sürücüsündeki başka bir NTFS bölümü 64KiB kümelerine sahip olabilir).

Dosya sistemi tahsisi birimi, kullanımdaki (yani dosyalara ve dizinlere tahsis edilmiş) disk sektörlerinin (bölümdeki) karşı esas olarak ücretsiz (yani ayrılmamış) tutulması içindir. Her dosya sıralı bir tahsisat listesinden (yani kümeler) oluşur.

Tahsis büyüklüğü, dosya sistemi yaratılırken (yani biçimlendirme sırasında) seçilir / belirlenir ve sektör büyüklüğü erişim ve fiziksel diskin temel birimi olduğundan bazı sektörlere (ancak tercihen 2 gücüne) dayandırılmalıdır. G / Ç. Küçük bir tahsis büyüklüğü (sadece 1 sektör gibi), daha büyük bir tahsisat tablosu, daha fazla defter tutma gibi dosya sistemi (ve disk) performansı üzerinde daha olumsuz (olumlu, yani daha az boş alan) etkisi yaratma eğilimindedir. Küçük bir tahsisat boyutu da tahsisat adreslemesini ve toplam dosya sistemi kapasitesini kısıtlar. Büyük bir ayırma boyutu, dosya sisteminin büyük bir bölüme yayılması gerektiğinde ve / veya tipik dosya boyutu büyük olduğunda (büyük küme boyutu parçalanmayı azaltabilir) ancak daha fazla boşa harcanan boşluğun pahasına faydalıdır.

Disk G / Ç'nin ayırma boyutundaki birimlerde gerçekleştirilmesi gerekmediğine dikkat edin (örneğin, dosya 512 bayt sektörden daha uzunsa, işletim sistemi tüm küme yerine yalnızca ilk sektörü okumayı seçebilir). Ancak bir dosya sistemine erişen herhangi bir işletim sistemi kendi kendine tahsis boyutuna uymalıdır (yani tahsis boyutu değiştirilemez).

Ayrıca bkz. Disk sektörleri ne içindir? ve Küçük tahsis birim büyüklüğünün dezavantajları


1
İşletim sistemi tipik olarak, daha yüksek verimliliklerden yararlanmak için bir seferde epeyce sayfalar okur. Bu nedenle, sayfa boyutu seçiminin IO performansı ile ilgisi yoktur, bunun yerine sayfa tablosunun boyutu vardır. Sayfa boyutu ne kadar küçük olursa, sayfa tablosunun sanal belleği tanımlamak için o kadar fazla giriş olması gerekir; bu nedenle sayfa tablolarına daha fazla bellek harcarsınız. Ancak daha büyük sayfalar, bu belleği farklı dosyalar veya farklı izinlere sahip bölümler arasında bölme konusunda daha az esnekliğe sahip olduğunuz anlamına gelir.
psusi,

1
Ayrıca modern cpus, aynı izinlere ve yedek dosyalara sahip büyük miktarda sanal bellek için sayfa tablosu girişlerini kaydetmek için kullanılabilecek büyük bileşik sayfaları (4 MiB veya 2 MiB) destekler. Linux bunları uygun yerlerde otomatik olarak kullanma yeteneğine sahiptir veya programlar bellek ayırırken açıkça talep edebilir. Daha az sayıda sayfa tablosu girişi, çeviri görünüm tamponuna daha kolay uyduğundan performans artışı sağlar, böylece cpu'nun RAM'leri almak için zaman harcamasına gerek kalmaz.
psusi

@ sawdust Teşekkürler. (1) Wikipedia , "Sayfa boyutu genellikle işlemci mimarisi tarafından belirlenir" diyor. Peki, bir belleğin sayfa boyutu CPU tarafından belirlenir mi? Bir bellek, farklı CPU'lar tarafından kullanıldığında farklı sayfa boyutlarına sahip olabilir mi? (2) MMU’nun sayfa boyutuna sınırlamalar koyduğunu ve eğer doğru düştüğümde MMU bir CPU’nun parçası olduğunu söylediniz, bu yüzden cevabınız Wikipedia ile tutarlı mı? (3) İşletim sistemi sayfa boyutunu belirlemede yer almıyor mu?
Tim

(1) Yalnızca sayfa boyutu HW olarak sabitlenmişse. Aksi halde, işletim sistemi sayfa boyutunu kontrol edebilir (HW tarafından getirilen kısıtlamalar dahilinde). "Hafıza" ile ne kastettiğinizi bilmiyorum DIMM gibi mi? Bu durumda, evet. (2) Evet, MMU genellikle CPU ile entegredir. (3) İşletim sistemi paragrafımın son satırında belirtildiği gibi sayfa boyutunu belirlemeye katılmaktadır.
talaş
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.