Depolama aygıtlarıyla çalışmak için bir dosya sistemine ihtiyacımız var, takas alanı ne olacak?
Eğer bir dosya sistemine sahip değilse, işletim sistemi onunla nasıl çalışır? Veriler (RAM'den) diske nasıl yazılır ve tekrar erişilir mi?
Depolama aygıtlarıyla çalışmak için bir dosya sistemine ihtiyacımız var, takas alanı ne olacak?
Eğer bir dosya sistemine sahip değilse, işletim sistemi onunla nasıl çalışır? Veriler (RAM'den) diske nasıl yazılır ve tekrar erişilir mi?
Yanıtlar:
Teknik olarak değiştirmek belirli bir dosya sistemine sahip değildir. Dosya sisteminin tüm amacı, verileri belirli bir şekilde yapılandırmaktır. Özellikle takas bölümünün yapısı yoktur, ancak mkswap
program tarafından oluşturulan belirli bir başlığa sahiptir . Özellikle, bu ( kernel.org sitesinden alınmıştır. ):
25 union swap_header {
26 struct
27 {
28 char reserved[PAGE_SIZE - 10];
29 char magic[10];
30 } magic;
31 struct
32 {
33 char bootbits[1024];
34 unsigned int version;
35 unsigned int last_page;
36 unsigned int nr_badpages;
37 unsigned int padding[125];
38 unsigned int badpages[1];
39 } info;
40 };
Her bölüm, kendisiyle ilişkilendirilmiş ve TLDP'ye :
ext2 kodu 0x83 ve linux takas değeri 0x82
Ne zaman takas dosyası katılır, yani biraz farklı bir hikaye. Çekirdek, dosya sisteminin kendi yapılandırma yöntemine sahip olabileceği gerçeğine saygı göstermelidir. Aynı kernel.org linkinden:
Dosya sistemlerinin kendi dosyalarını ve disklerini saklama yöntemleri olabileceğini ve bilgilerin doğrudan diske yazılabileceği takas bölümleri kadar basit olmadığını unutmayın. Yedek depolama bir bölümse, yalnızca bir sayfa boyutlu blok GÇ gerektirir ve dahil olan bir dosya sistemi olmadığından, bmap () gerekli değildir.
Sonuç olarak, teknik olarak takas alanını kendi türünde bir dosya sistemi olarak adlandırabilirsiniz, ancak NTFS veya ext4 gibi dosya sistemleriyle tam olarak karşılaştırılamaz.
Ayrıca sordun
Dosya sistemi olmadan bir depolama alanına nasıl yazılabileceğini bilmek istiyorum
Açıkçası, RAM'in yapılandırılmasına gerek yok. Ancak, RAM bölümleri Unix benzeri işletim sistemleri altında tmpfs olarak yapılandırılabilir . Ayrıca önyükleme işlemi sırasında yüklenen ramfs ve initramfs var. Ancak, RAM verilerinin teknik olarak sadece ham 1s ve 0s olması gerekiyordu, bu yüzden onları zaten yapılandırmaya gerek yok.
Yer değiştirme alanı çekirdek tarafından, sistem belleği sayfalarını (RAM) doldukça geçici olarak depolamak için kullanılır. Çekirdek, takas diskinin tam olarak sayfayı koyduğu yeri "hatırlamak" için kendi iç tablolarını kullanır. Sonuç olarak, takas diskleri uygun bir dosya sistemi içermez ve genellikle diskteki boş bölümlerdir.
İlginizi çekebilecek şey, sistemin belleğinde depolanan küçük bir dosya sistemi olan bir RAM disktir. Daha fazla belleğe ihtiyaç duyulursa, çekirdek onu (ve diğer içerikleri) takas alanına doğru iter. Birini ayarlamak için talimatlar için buraya bakınız .
Yer değiştirme alanı, bellek sayfalarıyla aynı boyutta bloklara (genellikle 4kB) bölünür ve bu sayfaların uygulama belleğine eşleştirilmesi kaydı, CPU ve İşletim Sistemindeki sanal bellek alt sisteminin bir uzantısını oluşturur.
Yani, uygulama belleği alanları ile gerçek fiziksel bellek adresi arasında zaten bir eşleme sistemi var. Bir uygulamaya, kullanabildikleri kadar veya az kullanabilecekleri geniş bir bellek adres alanı verilir. Bu hafıza adres alanının daha fazlası gerçekte kullanıldığından, fiziksel bellek, bu uygulama ile depolama ortamı olarak kullanılmak üzere eşlenir.
Bellek diske değiştirildiğinde, ilgili bir sistem bir uygulamanın bellek alanının diskteki bloğa eşlenmesini sağlar.
Eşleştirme tablosunun kendisi diskte depolanmaz ve diskte kalan veriler yeniden başlatmanın ardından yararsızdır.