Disk sürücüleri ve disk sürücüsü benzeri cihazlar "aptal" dır. Bir LBA istersiniz, içerdiği 512, 2048 veya 4096 baytı geri verir; tam tersi yazmak için.
Bir dosya sistemi katmanı "c: \ users \ public \ document \ whatever.doc" demenizi ve bu konuda akış işlemleri gerçekleştirmenizi sağlar (açma, okuma, yazma, arama, kapatma) - ad-adreslenebilir konumlardan bir diziye dönüşür LBA'ları okuma / yazma istekleri.
Bu nedenle dosya sistemi katmanının iki tarafı vardır, bir tarafı disk sürücüsü benzeri (veya blok) aygıtla iletişim kuran diğer taraf ve işletim sistemiyle konuşan. Burada işletim sistemine özgülük devreye giriyor. Genellikle dosya sisteminin blok aygıt tarafı bir aygıt sürücüsüdür ve işletim sistemi tarafı uygulamalar tarafından kullanılabilen bir API'dir. Ancak bunlar sadece arabirimlerdir ve dosya sistemi katmanının altında yatan işlemi gerçekten etkilemek zorunda değildir.
Tüm dosya sistemleri, dosyalar hakkındaki bilgileri izlemek, yani izinleri, öznitelikleri vb. Kaydetmek için ek verilerin yazılmasına ve dış dosya verilerinin okunmasına neden olur.
İşletim sistemi dosyaları dosya sisteminde depolandığından, önyüklemede biraz tavuk ve yumurta sorunu var, ancak dosya sistemi katmanı henüz etkin değilse nasıl yüklenir? Linux bu sorunu ya ilk ram diskiyle ya da çekirdeğin bir parçası olarak dosya sistemi kodunu oluşturarak çözer. Windows, Windows önyükleyicisine FAT ve NTFS bölümlerini okuma olanağı vererek bu sorunu çözer. Önyükleyiciler, yalnızca LBA 0'ı yükleyen ve yürüten ve bu kodun daha sonra alınmasını bekleyen veya UEFI, U-önyükleme gibi kendi dosya dosyalarının oldukça akıllı ve küçük dosya sistemi katmanlarıyla beklediği çoğu klasik BIOS önyükleyici gibi aptal olabilir.
LVM bir dosya sistemi değildir. Bir veya daha fazla blok cihazı alır ve başka bir "sanal" blok cihazına alır (içindeki /dev/mapper
herhangi /dev/mapper
bir şey sanal bir blok cihazdır). Bir dosya sistemini bir bölümün üzerine "yaptığınız gibi" bir LVM'nin üzerine "koyarsınız". LVM, bir veya daha fazla aygıt sürücüsü ile dosya sistemi arasındaki, sanal blok aygıtındaki okuma ve yazma işlemlerini bir veya daha fazla diğer blok aygıta LBA'lara dönüştüren başka bir katmandır. Evet, bir LVM sanal bir blok cihaz olabilir ve bunlardan bir kaskad olabilir.