Varför? För att kunna lagra data mer permanent än i RAM Hur? Vettig organisation Vettiga namn Stora/små bokstäver 8-bitars tecken (teckenkodning) File extensions Längd
Struktur på filerna Byte efter byte, ingen struktur från OSets sida Record efter record, en struktur från OSet
Olika sorters filer vanliga filer Kataloger/mappar (character special/block special) Binär filer och text filer Innehållet i olika filer tolkas av programmen!!! Hints i vissa OS (ändelser, typkoder) Varje fil av samma typ har en liknande header Läsa en fil sekvensiellt eller hur som helst Attribut Minnesmappade filer
Kataloger För att få en vettig struktur så behöver man kunna organisera filerna Man skulle kunna organisera dem efter nyckelord, typ eller innehåll Man kan också gruppera filer som hör ihop Varför inte bland olika sätt Idag dominerade: hierarkisk organisation Sökvägar
Hur gör man då?? Partitions info Partition Partition Partition Partition Partition Master Boot Record Boot block Superblock Free space mgmt i-noder root användarfiler/kataloger
Flaggor och annan info
Kataloger Igentligen bara vanliga filer med hänvisningar till riktiga filer/kataloger längd Flaggor och info Namn
Gemensamma filer Peka på samma infoblock (i Unix i-node) Använda symboliska länkar
Filsystemet delar upp disken i block Hålla reda på lediga block Länkad lista Bitmap Quota Säkerhet Backup Är själva filsystemet OK?
Kolla filsystemet Principen: Kolla listan med i-noder mot listan med lediga block Problem i det fall ett block sägs tillhöra två filer Andra kontroller: Kolla hur filsystemet ser ut jämfört med innehållet i i-noderna
Prestanda Diskåtkomst är långsamt Buffra i minnet (en del filer ska kanske inte ens ut på disk!!) Problem: vissa block är viktiga Problem: vad händer om man inte sparar under en lång tid Läsa i förväg (jmf web) Minimera tiden för positionering Log filsystem (undviker små filer)
ISO 9660 16 odefinerade block som kan användas valfritt (tex för att boota från CD) Primary volume descriptor Diverse info Vart rootkatalogen finns Katalog Rock Rigde - för UNIX, Joliet - för Windows Level 3 - filerna kan ligga på olika ställen och ha delar som upprepar sig Level 2-31 tecken i filnamn Längden på filnamnet Längd Div attribut Vart hittar man data (både little och big endian) Level 1 Storlek På vilken CD filen finns Datum Filnamn (max 8+3+version) bara stora bokstäver, siffror och _
CPM Litet Kompakt Om man gör nåt inbyggt system så kan man göra nåt liknande User code (virtuellt filsystem!!) extension Extent Hur många sektorer Sektornummer 16*1K => 16K filer Filnamn
MS-DOS 8+3 som CPM Hierarkiskt Lagrar exakt storlek Tid ± 2 sec read-only hidden system file etc FAT Mellanslag som filler Filnamn Suffix Attribut Reserverat Tid Dag Block nr Storlek
FAT FAT-12, FAT-16 och FAT-32 Ligger i minnet => tar upp utrymme (FAT-16 => 128KB), inte realistiskt för större. Olika block size Block FAT-12 FAT-16 FAT-32 Max storlek på en disk är 4 st 2GB partitioner => 8GB 0.5 KB 1 KB 2 KB 4 KB 8 KB 16 KB 32 KB 2 MB 4 MB 8 MB 16 MB 128 MB 256 MB 512 MB 1024 MB 2048 MB 1 TB 2 TB 2 TB 2 TB pga interna begränsningar
Windows 98 Finns i Windows 95 (andra versionen), 98 och ME FAT-32 Långa filnamn Bakåtkompatibel, dvs en fil med ett långt filnamn skulle kunna läsas i äldre version av OSet. Filnamn Tid Dag Storlek
Windows 98 Lösning: två namn på en fil Mitt mycket långa filnamn som slutar nu Omöjligt attribut Checksumma 5 Unicode tecken 6 Unicode tecken 2 6 7 om sl utar n u 2 nga f ilnamn s 1 Mitt m ycket lå MITTMY~1 Tid Dag Storlek
UNIX Principen Använder i-noder Nummer på i-noden Namnet
Begrepp Absolut sökväg Relativ sökväg Arbetskatalog Fillås File descriptor
Boot Super Data Data Data Data i-noder
Berkley Fast File System Långa filnamn (255 tecken) Cylinder groups - för att hålla ihop i-noder och data
Linux Ext2 /proc
NFS Dela filsystem över nätverk Igentligen ett protokoll Skickar en referens till en fil Monteras i det lokala filträdet Servern håller inte reda på vilka filer som är öppna v-node, r-node Säkerheten Cache
Annat ReiserFS Bra när man har kataloger med ett stort antal filer/kataloger Kanske inte riktigt färdigt ännu Andrew File System Skalbart Relativt säkert Lokal admin (celler)
NTFS 64 bitars adress Inte bakåtkompatibelt 255 tecken (path 32K) Unicode Flera strömmar i samma fil Blockstorlek 512 bytes to 64K Varje fil/katalogbeskrivning är 1K Master File Table Filkomprimering Filkryptering