Operációs rendszerek. A mai program. Az NTFS fájlrendszer. Eset-tanulmányok fájlrendszerekről. Az NTFS fájlrendszer

Hasonló dokumentumok
Operációs rendszerek. A mai program. Az NTFS fájlrendszer. Eset-tanulmányok fájlrendszerekről. Az NTFS fájlrendszer Unix fájlrendszerekről adalékok

OPERÁCIÓS RENDSZEREK I. HÁTTÉRTÁRAK

Fájl rendszer. Fájl koncepció Elérési módok Könyvtár szerkezet Védelem Konzisztencia szemantika

Operációs rendszerek. A Windows NT file-rendszere (NTFS) NTFS: Windows NT File System

Operációs rendszerek. Elvárások az NTFS-sel szemben

Operációs rendszerek. UNIX fájlrendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Nyíregyházi Egyetem Matematika és Informatika Intézete. Fájl rendszer

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Előadás_#13. Egy lemez írási művelet kiszolgálása

UNIX: fájlrendszerek

Operációs rendszerek. UNIX/Linux fájlrendszerek

Nagyteljesítményű mikrovezérlők

Lemezkezelés, állományrendszerek

Linux fájlrendszerek. Papp Zsolt. Rendszermérnök, Novell PSH.

Fábián Zoltán Hálózatok elmélet

Széchenyi István Egyetem

INDEXSTRUKTÚRÁK III.

Using the CW-Net in a user defined IP network

12. tétel. Lemezkezelés

UNIX fájlrendszerek alapismeretei

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

EN United in diversity EN A8-0206/419. Amendment

Az Oracle rendszer komponensei

Operációs Rendszerek II. Első verzió: 2009/2010. I. szemeszter Ez a verzió: 2009/2010. II. szemeszter

Fájl rendszer (implementáció) Fájl rendszer struktúra Allokációs módszerek Szabad hely kezelése Directory implementáció Helyreállítás

Operációs rendszerek

4. Gyakorlat: Csoportházirend beállítások

IDE64 dokumentáció. A merevlemez előkészítése az első használatra. 1. Előkészítés. 2. Csatlakoztatás. 3. Segédprogram másolás

(NGB_TA024_1) MÉRÉSI JEGYZŐKÖNYV

PromoCoder_7031/Lx3 rendszer használati utsítás v1.1

Operációs rendszerek. A mai program. Az I/O alrendszer feladatai. I/O és fájlkezelő alrendszer

SJ5000+ MENÜBEÁLLÍTÁSOK. E l e c t r o p o i n t K f t., B u d a p e s t, M e g y e r i ú t F s z. 1. Oldal 1

Lemezkezelés, RAID, partícionálás, formázás, defragmentálás.

Operációs rendszerek III.

Operációs rendszerek Memóriakezelés 1.1

Adatbázis-kezelés ODBC driverrel

Linux alapismeretek. Felhasználó Felhasználói programok (folyamatok) Rendszerkönyvtárak (rendszerhívások) Segédprogramok (utility)

Útmutató a Computer Setup (F10) segédprogram használatához dx2300 minitorony

Laborgyakorlat Windows 7 upgrade-je, felhasználói adatok költöztetése

ANGOL NYELV KÖZÉPSZINT SZÓBELI VIZSGA I. VIZSGÁZTATÓI PÉLDÁNY

6. Háttértárak. Mágneses elvű háttértárak. Ezek az eszközök ki-, bemeneti perifériák, az adatok mozgása kétirányú.

Formula Sound árlista

Utolsó módosítás:

Operációs rendszerek. A mai program

Computer Architecture

Máté: Számítógép architektúrák

Néhány kihagyhatatlan Linux tipp és trükk. Ezeket a tippeket olvasóink osztották meg velünk

12. Másodlagos tár szerkezet

PIACI HIRDETMÉNY / MARKET NOTICE

Hálózati operációs rendszerek II. Novell Netware 5.1 Szerver

TI TMDSEVM6472 rövid bemutatása

Supplementary Table 1. Cystometric parameters in sham-operated wild type and Trpv4 -/- rats during saline infusion and

USER MANUAL Guest user

1. Gyakorlat: Telepítés: Windows Server 2008 R2 Enterprise, Core, Windows 7

Informatikai Rendszerek Intézete Gábor Dénes Foiskola. Operációs rendszerek oldal LINUX

PIACI HIRDETMÉNY / MARKET NOTICE

Angol Középfokú Nyelvvizsgázók Bibliája: Nyelvtani összefoglalás, 30 kidolgozott szóbeli tétel, esszé és minta levelek + rendhagyó igék jelentéssel

Operációs rendszerek MINB240 V2+2+0

1 Copyright 2012, Oracle and/or its affiliates. All rights reserved. Insert Information Protection Policy Classification from Slide 13

Operációs rendszerek MINB240 V kredit KF Nagyváradi Anett 0. előadás Bevezetés

Bevitel-Kivitel. Eddig a számítógép agyáról volt szó. Szükség van eszközökre. Processzusok, memória, stb

Programozás I gyakorlat

Proxer 7 Manager szoftver felhasználói leírás

Fájlrendszer-címkézés a SELinuxban

PIACI HIRDETMÉNY / MARKET NOTICE

Operációs rendszerek. A Windows NT felépítése

Cloud computing. Cloud computing. Dr. Bakonyi Péter.

Create & validate a signature

- 1 - FUB-26 Használait útmutató

A program SZÁMÍTÓGÉP ARCHITEKTÚRÁK. Legáltalánosabb architektúra. Eszközök szerepe. A vezérlők programozása. A vezérlők (adapterek, kontrollerek)

Csatlakozás a BME eduroam hálózatához Setting up the BUTE eduroam network

DB2 Connect Personal Edition telepítése és beállítása

STUDENT LOGBOOK. 1 week general practice course for the 6 th year medical students SEMMELWEIS EGYETEM. Name of the student:

UNIX operációs rendszer rövid története és jellemzői

Operációs rendszerek 1.

Riak. Pronounced REE-ahk. Elosztott adattároló eszköz. Molnár Péter

Mapping Sequencing Reads to a Reference Genome

386 processzor címzés

A CAN mint ipari kommunikációs protokoll CAN as industrial communication protocol

Adatbázisok* tulajdonságai

Nyíregyházi Egyetem Matematika és Informatika Intézete. Input/Output

Elemi adatszerkezetek

Üzleti kritikus alkalmazások Novell Open Enterprise Serveren

15. tétel Fájlrendszerek

DNS hamisítás szerepe, működése, védekezés. Benda Szabolcs G-5S5A Peller Nándor G-5i10 Sőregi Gábor G-5S5A

EMTP, EGY ÚJ LEVELEZÕ PROTOKOLL ÉS IMPLEMENTÁCIÓJA

ARM processzorok felépítése

S z á m í t ó g é p e s a l a p i s m e r e t e k

Laborgyakorlat: A Windows XP haladó telepítése

BKI13ATEX0030/1 EK-Típus Vizsgálati Tanúsítvány/ EC-Type Examination Certificate 1. kiegészítés / Amendment 1 MSZ EN :2014

OPERÁCIÓS RENDSZEREK 1. ÁTIRÁNYÍTÁSOK, SZŰRŐK

Operációs Rendszerek II. labor alkalom

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

Lexington Public Schools 146 Maple Street Lexington, Massachusetts 02420

Adattípusok. Max. 2GByte

INTELLIGENT ENERGY EUROPE PROGRAMME BUILD UP SKILLS TRAINBUD. Quality label system

Adattípusok. Max. 2GByte

II. év. Adatbázisok és számítógépek programozása

Operációs rendszerek MINB240. Bevitel-Kivitel. 6. előadás Input és Output. Perifériák csoportosításá, használat szerint

Átírás:

Operációs rendszerek Eset-tanulmányok fájlrendszerekről Az NTFS fájlrendszer A mai program Vadász 2 Az NTFS fájlrendszer Célok a fejlesztésében Korábbi fs-ek korlátainak meghaladása (FAT és HPFS max 4 GB) A védelem javítása (kiterjesztett ACL) Tömörítés (átlátszóan) Titkosítás (átlátszóan) Szétszabdaltság (fragmentation) megszüntetése Diszk tranzakció naplózás és visszaállítás beépítése Kötet (Volume Set, Strip Set, Mirror Set: utóbbi hibatűrés) koncepció Vadász 3 1

NTFS koncepciók A diszk klaszter koncepció (cluster) A fizikai felépítéstől függetlenül, egy kötet klaszterek készlete. Egy klaszter 2 hatványa * 512 bájt. Ajánlott klaszter méretek a diszkekhez A Logical Cluster Number (LCN) fogalom: egy kötet 0 n LCN-ű klaszterekből áll Virtual Cluster Number (VCN) fogalom: egy (nem rezidens) adatfolyam klasztereinek is van sorszáma. Az adatfolyam klaszterei 0, 1, 2 stb. VCN sorszámokat vehetnek fel. Vadász 4 NTFS koncepciók 2 Az NTFS fájlrendszeren minden fájl. Vannak Normális fájlok (köztük jegyzékek és adatfájlok), és A fájlrendszerrel kapcsolatos információkat tartalmazó fájlok: metafájlok. A metafájlok közül legfontosabb a Master File Table (MFT) Minden fájlhoz tartozik (legalább) egy MFT rekord (bög) Az MFT rekordokban fájl-attribútumokat rögzítenek (Az MFT rekord az s5fs i-bögjének felel meg. Az MFT leginkább az i-lista megfelelője.) Vadász 5 NTFS koncepciók 3 Minden fájlhoz tartozik egy hivatkozási szám 64 bites szám alsó 48 bitje az MFT rekord pozíciója (indexe), a felső 16 bit egy sorozatszám, ami növekszik, mikor a megfelelő MFT rekordot újrafelhasználják. (A hivatkozási szám az s5fs i-bög i indexének felel meg.) A jegyzék (directory) szerkezetről elöljáróban annyit: B-fa rendezettségű, a név + a hivatkozási számot is tartalmazó szabványos attribútumok párok gyűjteménye. (Valójában a jegyzék is egy fájl: attribútumok együttese.) Vadász 6 2

NTFS koncepciók 4 Az NTFS a fájlokat attribútumok együtteseként látja. Egy attribútum: attr.fej + attr.adatok pár Attribútum fej tartalma az attribútum típusa (neve opcionálisan), flagek és Az attribútum adatai elhelyezkedésére vonatkozó információk. Attribútum adatok: a tényleges tulajdonságok Két fontos trükk Egy fájl adatfolyama (data stream) is attribútum! Amikor csak lehet, egy attribútumot az MFT rekordjában (a bögjében) tárolják! Vadász 7 NTFS koncepciók összefoglalás Egy kötet klaszterek sora. LCN fogalom. Minden fájl (metafájlok + fájlok), MFT rekord (bög) tartozik hozzájuk, index az MFT-ben Attribútumok együtteseként kezelhetők a fájlok (attr-fej+attr-adat) Az adatfolyam is attribútum! Amikor csak lehet, az attribútumot az MFT rekordban tárolják! Vadász 8 NTFS koncepciók 5 Rezidens attribútum: ami az MFT rekordban tárolódott A fájlnév, a szabványos információk, a biztonsági attribútumok mindig rezidensek Az adatok csak akkor rezidensek, ha rövid a fájl Nem rezidens attribútum: aminek MFT rekordon kívüli helyfoglalása van: kiterjedésekben (runs) tárolódnak az adatai Kiterjedés (run) valahány egymás utáni klaszter. Megadható kezdő LCN-jével és hosszával: ez a kiterjedés leírás (data runs) Vadász 9 3

NTFS koncepciók 6 Láttuk, ha egy fájlnak attribútum adata túl nagy, nem rezidens attribútumként tárolják. Nem rezidens attribútum az MFT rekordban attribútum adatok elhelyezkedésére vonatkozó információként (kiterjedés leírásként) tárolódik. Ha egy fájlnak túl sok attribútuma van és nem férnek el az MFT rekordban Akkor amit lehet, nem rezidenssé tesznek. Ha ekkor sem férnek el: további (additional) MFT rekordot allokálnak neki, ebbe tesznek attribútumokat; Az eredeti (base) MFT rekordba attribútum lista attribútum kerül. Vadász 10 MFT rekordok Egy MFT rekord Lehetséges attribútumokat később A mark.txt relatíve nagy és fregmentált fájl Base MFT rek, additív MFT rek; kiterjedések leírása itt is, ott is Egy jegyzék rekord 1 db root index Valahány Index allocation Valahány Bitmap (nem látszik az ábrán) Kiterjedés leírás attr Vadász 11 Attribútumok Attribute Type Standard Information Attribute List File Name Security Descriptor Data Description Includes information such as timestamp and link count. Lists the location of all attribute records that do not fit in the MFT record. A repeatable attribute for both long and short file names. The long name of the file can be up to 255 Unicode characters. The short name is the 8.3, case-insensitive name for the file. Additional names, or hard links, required by POSIX can be included as additional file name attributes. Describes who owns the file and who can access it. Contains file data. NTFS allows multiple data attributes per file. Each file typically has one unnamed data attribute. A file can also have one or more named data attributes, each using a particular syntax. Vadász 12 4

Attribute Type Object ID Logged Tool Stream Reparse Point Index Root Index Allocation Bitmap Volume Information Volume Name Attribútumok Description A volume-unique file identifier. Used by the distributed link tracking service. Not all files have object identifiers. Similar to a data stream, but operations are logged to the NTFS log file just like NTFS metadata changes. This is used by EFS. Used for volume mount points. They are also used by Installable File System (IFS) filter drivers to mark certain files as special to that driver. Used to implement folders and other indexes. Used to implement folders and other indexes. Used to implement folders and other indexes. Used only in the $Volume system file. Contains the volume version. Used only in the $Volume system file. Contains the volume label. Vadász 13 File Name $Mft $MftMirr $LogFile $Volume $AttrDef $ $Bitmap $Boot $BadClus $Secure $Upcase $Extend MFT Rec 0 1 2 3 4 5 6 7 8 9 10 11 12 15 Purpose of the File Contains one base file record for each file and folder on an NTFS volume. If the allocation information for a file or folder is too large to fit within a single record, other file records are allocated as well. A duplicate image of the first four records of the MFT. This file guarantees access to the MFT in case of a single-sector failure. Contains a list of transaction steps used for NTFS recoverability. Log file size depends on the volume size and can be as large as 4 MB. It is used by Windows NT/2000 to restore consistency to NTFS after a system failure. Contains information about the volume, such as the volume label and the volume version. A table of attribute names, numbers, and descriptions. The root folder. A representation of the volume showing which clusters are in use. Includes the BPB used to mount the volume and additional bootstrap loader code used if the volume is bootable. Contains bad clusters for the volume. Metafájlok Contains unique security descriptors for all files within a volume. Converts lowercase characters to matching Unicode uppercase characters. Used for various optional extensions such as quotas, reparse point data, and object identifiers. Vadász 14 Reserved for future use. Metafájlok: MFT Figyeljünk az MFT önhivatkozó jellegére! A 0-s rekordja saját magát írja le! A 0-s rekordban attribútumok: Standard Information File Name Data (Hol van az MFT) Bitmap (Az MFT mely bögei foglaltak) MFT rezervációs zóna A kötet foglaltságtól is függően lefoglalt terület az MFT körül, hogy az MFT nőhessen Vadász 15 5

Egy NTFS kötet $Boot $Mft szabad $MftMirr szabad $Boot Vadász 16 Kérdések az MFT-vel kapcsolatban Kérdés1: Lehet-e az MFT 0-s rekordban nem rezidens attribútum? Ha igen, valószínű ilyen? Melyik? Kérdés2: Hány kiterjesztése lehet az MFT-nek? Csak egy? Kérdés3: Lehet-e a 0-s rekordban Attributum-list attribútum? Ha igen, valószínű-e? Vadász 17 NTFS irodalom http://www.ntfs.com http://www.linux-ntfs.org/ Russinovich: Inside NTFS, http://www.windowsitpro.com/article/articleid/3455 /3455.html Harwel, Webb, Flynn, Whitehurst: Unix and Windows 2000 Handbook, Prentice Hall, 2000 Vadász 18 6

Milyen Unix-os fájlrendszereket ismerünk? A tradicionális s5fs 4.2BSD FFS (Fast, az előbbi alternatívájaként) AT&T RFS (Remote FS) Sun NFS Linux ext2 stb. DOS VFAT Érdekes a Sun vnode/vfs rendszere Sokféle fs, mégis egységes képet mutassanak Hálózaton át is lehessen fs-eket megosztani A gyártók a vfs alá modulárisan valósítsák meg saját fs-eiket Vadász 19 A Berkeley Fast FS Oldal (fej)-sáv-szektor fogalmakat ismerjük A cilinder fogalmat is. SCSI diszkeknél? Ott sávcsoportonként változó szektorszám van! A Unix lineáris (logikai) blokkcímeket lát a partíción A partíciók egymás utáni (consecutive) cilindereken LBN növekedésnél Először nő a szektorszám, Aztán az oldalszám, Végül a sáv (cil) szám Vadász 20 Az FFS-hez Új fogalom a cilinder csoport (cyl group) Cilinder csoporton belül kis fejmozgás A tradicionális su-blokk 2 struktúrára Információk az egész fájlrendszerről (cil-csop-szám, méret, hely; blokk méret, i-bög szám stb.), Információk a cil-csop-ról (szabad i-bögök, szabad blokk lista stb.) Cil-csoportonként másolat a su-blokkról! Biztonság is cél az elhelyezésénél. Vadász 21 7

Az FFS-hez Új fogalom a töredék (fragment) Növelt blokkméret, nagyobb lehetséges veszteség A blokkméret: 4096/8192 (s5fs: 512/1024) Ezzel 2 szintű indirekcióval már lehet 4GB-os fájl A fragment méret is fix (fs kreációnál beállítható: 1-2-4-8 fragment/blokk) Minden fragment önállóan címezhető, allokálható Vadász 22 Egy FFS fájl Állhat Valamennyi blokkból, + Az utolsó blokkban valamennyi egymás utáni (consecutive) fragmentből Emiatt néha fájl recopying kell! Pl. f1 fájl utolsó adatai egy blokk egy fragmentje. Lehet, e blokk további fragmentjei más fájlokéi. Ha f1 növekszik, utolsó blokkjának új blokkot kell allokálni (pl. ahol elegendő consecutive fragment van), oda azt a bizonyos fragmentet átmásolni, további fragmentek allokálhatók Ez veszteség. Vadász 23 FFS allokációs politika Egy dir-be tartozó fájlok i-bögjei lehetőleg egy cilinder csoportba kerüljenek (gyorsítás) Új dir kreáláskor azt a szülő dir cil-csop-jától különböző csoportba ( egyenletes elosztás) Fájl blokkjai lehetőleg ua. cil-csopból, mint ahol i-böge van (gyorsítás) Egy cil-csopot lehetőleg ne töltsön ki egy nagy fájl (nagyra növő fájlnál más csoportba allokálnak) Fájl egymás utáni blokkjai allokálásánál interleaving Ez a politika 90%-os telítettségig jó (Az FFS-nél vezették be a hosszú fájlneveket, a dir-beli chunkokat) Vadász 24 8

A Linux többrétegű fájlrendszere Process 1 Process 2... Process n VIRTUAL FILE SYSTEM User mode Kernel mode ext2 msdos minix... proc Buffer cache Device drivers File System Vadász 25 A Linux fájlrendszer A VFS a rendszerhívásokat átalakítja az adott fájlrendszerre nézve specifikus hívássá Van (lehet) Second Extent (ext2): a Linux sajátja MSDOS: VFAT Minix (mert Minixből fejlődött a Linux) AFF (Amiga Fast FS) ufs & s5fs (szokásos UNIX) HPFS (OS/2) NTFS (NT, béta verzióban) és a proc (ami egész különleges, de nem a Linux találta ki) Vadász 26 Tovább a fájlrendszeren Mindegyik implementált fájlrendszerhez a VFS-en keresztül juthatunk A VFS absztrakt felület minden fájl operációhoz A VFS szinten minden fájlhoz kernel i-bög tartozik. A kernel i feltétlenül egyedi. A köteteken lévő i-bög (már ha van) különbözhet a kernelbeli i-bögtől Egységes buffer cache-elés van (már ahol ennek van értelme) Vadász 27 9

Az ext2 Története Kezdetben Minix FS: max 64 MB, 14 hosszú nevek 1992: ext: 2GB, 255-ös nevek (lassú, fregmentáló) 1993: xia: 2GB, 248-as nevek, bit-térképes 1993: ext2 BSD Fast FS hatása: a partíció blokk csoportokból áll. A block group-okon szuperblokk másolat van, a block group-oknak saját bit térképük van, a block group-oknak saját i-listjük van, a block group-oknak saját i-bög térképük is. Ezzel az adatblokkok közel vannak az i-bögjükhöz, továbbá a fájl i-bögök közel vannak a jegyzékük i-bögjéhez. Vadász 28 Az ext2 partíció szerkezete Itt a "fizikai szuperblokk" is: i-bög szám, blokk szám, szabad i-bög szám, státus stb. Boot blk Blok group 0 Blok group 1... Blok group n Super blokk Group descriptor Block bitmap I node bitmap I node table Data blocks Su-blokk másolat Block bitmap size I node table size No. of free inodes I node bitmap size No. of free blks No. of dirs Vadász 29 A blokk-csoport leíró Group descriptor: 32 byte Block bitmap: az blokk térkép mérete blokkokban Inode bitmap: az i-bög térkép mérete blokkokban Inode table: az i-lista mérete blokkokban No. of free blks: szabad blokkok száma No. of free inodes: szabad i-bögök száma No. of dirs: jegyzékek száma I-bög allokáció Fájl i-böge közel a jegyzékéhez (lehetőleg ugyanabban a blokk-csoportban) Jegyzék i-böge: olyan blokkcsoportban, ahol kicsi a jegyzékek száma (elszórtan a köteten) Vadász 30 10

I-bög szerkezet 0 1 2 3 4 5 6 7 0 Type/perm. User (uid) File size 8 Access time Time of creation 16 Time of modification Time of deletion 24 Group (gid) Link counter Number of blocks 32 File attributes Reserved 40 12 direct blocks pointer 88 One-stage indirect block Two-stage indirect block 96 Three-stage indirect block File version 104 File ACL Directory ACL 112 Fragment address 120 További fájl attribútumok lehetnek a standard Unix attribútumok mellett. Az ACL és a visszaállítási lehetőség csak tervezett. Vadász 31 A jegyzék szerkezet i-bög név hossz 1 12 1. 2 12 1.. 11 20 10 lost+found hossz név Nem "valódi" láncolt lista Törléskor az előző bejegyzés hosszát növelik Nincs "shift" és nincs "üres" bejegyzés Beíráskor egy bejegyzést "megoszthatnak" Vadász 32 A blokk allokáció Cél: a fregmentáció elkerülése Algoritmus (l: utoljára allokált a fájl (n-1)-edik blokkja) ha a "cél-blokk" szabad, azt allokálják, különben a "cél-blokk" 32 blokknyi "közelében" allokálnak, ha itt sincs szabad, a "cél-blokk" block-group-ján belül, és csak ezután más blokk csoportból. (Cél orientált allokáció) Ha allokálnak egy blokkot, az azt követő 8 blokkot prezerválják (más fájlok elől ideiglenesen "elzárják"). (Pre-allocation) A cél-blokk: az (l+1)-edik blokk, (itt egy heurisztikus alg.,) vagy annak a blokkcsoportnak első szabad blokkja, amelyiken a fájl i-böge van Vadász 33 11

Végül a proc fájlrendszerről Állapot információkat szolgáltat a kernelről és a processzekről Minden processzhez tartozik /proc/pid jegyzék ebben "fájlok", a pid-ű processz státusát adják A map fájl a processz virtuális címtérképe. További "fájlok" (pl.: loadavg, uptime, meminfo, kmsg, version, cpuinfo, mounts stb.) a kernel állapotról informálnak Nem tartozik hozzá eszköz! (nodev típus) Mégis, készíthetünk róla (és aljegyzékeiről) az ls paranccsal listát! Fájljait kiírathatjuk! Az on-line man-nal a tartalmuk értelmezéséről érdeklődhetünk. Vadász 34 12