UNIX fájlrendszerek alapismeretei

Hasonló dokumentumok
UNIX: fájlrendszerek

UNIX fájlrendszerek alapismeretei

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

Operációs rendszerek 1.

UNIX: folyamatok kommunikációja

OPERÁCIÓS RENDSZEREK I. BEVEZETÉS Koczka Ferenc -

Operációs rendszerek. UNIX fájlrendszer

(kernel3d vizualizáció: kernel245_graph.mpg)

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

A L I N U X f e l é p í t é s e

UNIX operációs rendszer bemutatása. A UNIX története, fejlesztésének céljai.

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

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

Operációs rendszerek I. IIII. gyakorlat

Operációs rendszerek gyakorlat

Operációs rendszerek gyak.

1_Linux_bevezeto_bash

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

Operációs rendszerek gyakorlat

Legfontosabb tulajdonságai. UNIX rendszer felhasználói és fejlesztői felülete (1-4. ea.) Unix hagymahéj struktúrája. Legfontosabb tulajdonságai

Linux alapok gyakorlat

A Linux operációs rendszer 2017.

Virtualizációs Technológiák Operációs rendszer szintű virtualizáció Konténerek Forrás, BME-VIK Virtualizációs technológiák

Unix/Linux alapok 2. Operációs rendszerek I. készítette: Kozlovszky Miklós, Bringye Zsolt Póserné Oláh Valéria, Windisch Gergely

9. Állományok kezelése. Operációs rendszerek. Állomány (file) Könyvtár. Az állománykezelő feladatai. Az állományrendszer réteges implementációja

Fájlrendszerek. A Windows operációs rendszerek fájlrendszere

11. Elosztott állománykezelés. Operációs rendszerek. Elosztott állománykezelés. Teljesítmény növelése. Az állományokra hivatkozás. Az állományok nevei

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. Az NT folyamatok kezelése

NIIF Központi Elosztott Szolgáltatói Platform

Alkalmazások típusai Szoftverismeretek

Operációs rendszerek gyakorlat

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

I. Felzárkoztató Mérés SZÉCHENYI ISTVÁN EGYETEM GYŐR TÁVKÖZLÉSI TANSZÉK

LINUX PMB LINUXOS PARANCSOK ÉS HASZNÁLATUK - GRUB

FUSE, SSHFS és társaik - bármit láthatunk lokális fájlként!

12. Másodlagos tár szerkezet

Operációs rendszerek. 1. gyakorlat. Bevezetés, követelmények UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Operációs rendszerek gyakorlat

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

ZFS - Zettabyte File System

Unix-Linux alapok I. gyakorlatvezető: Lutár Patrícia

NIS + NFS+Automount. Összeállította: Sallai András

Szalai Ferenc

Bevezetés az informatikába, második gyakorlat. Bevezetés Környezetváltozók és néhány egyszerű utasítás Jogosultságok Fájlkezelés

Programozás alapjai 2 UNIX dióhéjban. Legfontosabb tulajdonságai. Legfontosabb tulajdonságai/2

Párhuzamos és Grid rendszerek

Párhuzamos és Grid rendszerek. Elosztott fájlrendszerek. AFS (Andrew File System) Nagyméretű klaszterekhez. Elosztott fájlrendszerek

Legfontosabb tulajdonságai. Programozás alapjai 2 UNIX dióhéjban. Legfontosabb tulajdonságai/2. A UNIX rövid története.

Utolsó módosítás:

Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra

Elosztott fájlrendszerek. Párhuzamos és Grid rendszerek. AFS (Andrew File System) AFS történelem Carnegie Mellon Egyetemen 1984-ben.

Operációs rendszerek. A mai program

Számítógépes munkakörnyezet II. Szoftver

Operációs rendszerek III.

Operációs rendszerek. A védelem célja. A fenyegetés forrásai. Védelmi tartományok. Belső biztonság. Tartalom

Mérési jegyzőkönyv Háttértár rendszerek vizsgálata

1.2. NFS kliens telepítése és beállítása

Kommunikációs rendszerek teljesítőképesség-vizsgálata

UNIX bevezető. kiegészítő fóliák az előadáshoz. Mészáros Tamás

Elosztott rendszer architektúrák

Operációs rendszerek. Bemutatkozás

Operációs rendszerek 2 1. óra: Linux alapok Ismétlés. Windisch Gergely félév

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

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

MMK-Informatikai projekt ellenőr képzés 4

Számítógépes alapismeretek

Operációs rendszerek. 2. gyakorlat. Munka állományokkal UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Alapismeretek. Tanmenet

Linux alapok. Parancsok általános alakja parancs kapcsolók paraméterek

Utolsó módosítás:

fájlrendszer A /proc A /proc fájlrendszer A /proc fájlrendszer

Adatbázis rendszerek. dr. Siki Zoltán

Alapismeretek. Tanmenet

Adatbázis-kezelő rendszerek. dr. Siki Zoltán

BASH script programozás II. Vezérlési szerkezetek

SZÓBELI ÉRETTSÉGI TÉMAKÖRÖK

ÚTMUTATÓ Operációs rendszerek tárgyból 2015/2016. tanév 1. félév. Tantárgyi program

Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015

Kommunikáció. 3. előadás

Számítógépes alapismeretek

Debreceni Egyetem Matematikai és Informatikai Intézet. 13. Védelem

Optimalizáció ESX-től View-ig. Pintér Kornél ügyfélszolgála3 mérnök

Synology NAS integrálása inels IMM szerverhez

Az állományok kezelésére használt fontosabb parancsok

Jelenleg több mint 250 féle disztribúció létezik ( ) Kenneth Lane Thompson Dennis M. Ritchie Linus Torvalds

Digitális írástudás március 13. TÁMOP C-09/ Trambulin

UNIX folyamatok kommunikációja

Oktatási cloud használata

SQUID. Forrás:

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

Alapismeretek. Tanmenet

Linux rendszergazda tanfolyamok

4. Laborgyakorlat. A fájlokról ezeket az adatokat, a fájlrendszer tárolja. Számunkra az 1, 3, 4. oszlopok lesznek az érdekesek.

Hardver összetevők ellenőrzése Linux alatt. Hardverguruk előnyben...

Kommunikáció. Távoli eljáráshívás. RPC kommunikáció menete DCE RPC (1) RPC - paraméterátadás. 3. előadás Protokollok. 2. rész

(jegyzet) szeptember i óra anyaga. 1. Bevezetés

Az operációs rendszer. Az operációs rendszer feladatai, részei, fajtái Az operációs rendszer beállítása

GENERÁCIÓS ADATBÁZISOK A BIG DATA KÜLÖNBÖZŐ TERÜLETEIN

Felhő alapú hálózatok (VITMMA02) OpenStack Neutron Networking

Átírás:

UNIX fájlrendszerek alapismeretei kiegészítő fóliák az előadásokhoz Mészáros Tamás http://home.mit.bme.hu/~meszaros/ Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék UNIX fájlkezelés 1 / 20

Az előző részekben történt... A folyamatok a felhasználói programok futás alatt álló példányai a programokat permanens tárból töltjük be A permanens tárak nem felejtő, nagyságrendekkel nagyobb és lassabb a memóriánál blokkos fizikai tárolás és fájl-alapú logikai szervezés többféle megoldás egyedi jellemzőkkel (HDD, flash, usb, RAID, SAN,...) A kernel kezeli a hardver erőforrásokat (köztük a permanens tárakat) a hardverkezelő réteg felett többszintű fájlrendszer réteg található háttértár kezelés, fájlrendszer szervezés, logikai felépítés (fájl, könyvtár) adminisztrálja a fájlok blokkjait és az üres helyeket a permanens tárban elvégzi a fizikai és logikai szervezés közötti leképezést programozói interfészt nyújt az alkalmazásfejlesztők számára UNIX fájlkezelés 2 / 20

Alapfogalmak Fájl (más néven állomány, de biztosan nem file magyarul) adattárolási hely Fájlrendszer (állományrendszer) fájlok tárolásának szervezése, hozzáférés biztosítása Fájlrendszerek felhasználói felülete programozói (API, rendszerhívások) parancssori (illetve grafikus) Fájlrendszerek szervezési felülete diszk szervezés UNIX fájlkezelés 3 / 20

UNIX fájlrendszerek történeti áttekintése System V első fájlrendszer s5fs 80-as évek, alap implementáció, egyszerű szervezés 4.2 BSD Fast File Sytems FFS (a Linux ext2 alapja is) megnövelt teljesítmény új szolgáltatások akkori diszk hardver felépítéshez optimalizált rendszer Virtuális fájlrendszerek vnode/vfs moduláris, objektum-orientált cserélhető szervezési modulok, akár hálózati is Elosztott fájlrendszerek NFS: transzparens hálózati fájlrendszer RPC megvalósítással Modern fájlrendszerek ext3, ext4, xfs, ReiserFS, Solaris ZFS felhasználói fájlrendszerek gnome-vfs, fuse: ftp, smb, dav, stb. célra Klaszter fájlrendszerek, pl. Red Hat GFS UNIX fájlkezelés 4 / 20

A fájlrendszer felhasználói szemmel Operációs rendszer felhasználó parancssori és grafikus felület könyvtárszervezés, speciális könyvtárak fájlok és könyvtárak kezelése, attribútumaik fájlrendszerek menedzselése (rendszergazda) Programozó (alkalmazás fejlesztő) programozói interfészek (rendszerhívások, rendszerkönyvtárak) fájlleírók, nyitott fájl objektumok és kezelésük zárolási módszerek: kötelező, ajánlott UNIX fájlkezelés 5 / 20

Felhasználói interfész Diszkek, partíciók, fájlrendszerek Tipikus UNIX könyvtárszerkezet Fájlrendszerek csatlakoztatása a könyvtárszerkezethez Fájl attribútumok típus (- d p l b c s) linkek (hard, szoft) eszköz, inode, méret, stb. időbélyegek (ctime, mtime, atime) azonosítási és hozzáférés-szabályozási adatok listázási parancs: ls -la -rw-r--r-- 2 root root 189 sze 8 2006 /etc/hosts -rwxr-xr-x 1 root root 616920 nov 17 01:29 /bin/bash srwxr-xr-x 1 clamilt clamilt 0 ápr 23 10:16 clamav.sock crw-rw---- 1 root tty 4, 0 ápr 20 2007 /dev/tty0 -r-s--x--- 1 root apache 10760 jan 14 14:22 suexec UNIX fájlkezelés 6 / 20

Demók (otthon is kipróbálható!) Csatolt fájlrendszerek: mount, umount, df Mi az a /dev/shm? A UNIX könyvtárstruktúra felépítése: cd, pwd, ls Milyen fájlok és könyvtárak neve kezdődik ponttal? Fájlok attribútumai: ls -la, ls -laz Miért van a hozzáférési jogok végén egy pont (v. plusz jel) Fedora alatt? Fájlműveletek: cp, mv Hogyan lehet átnevezni egy fájlt? A noatime opció hatása a teljesítményre (házi feladat) A /etc/fstab fájlban módosítsuk az attribútumokat (lásd man mount)! Nézzük meg a relatime opciót is! UNIX fájlkezelés 7 / 20

Programozói interfész Fájlok megnyitása (létrehozása) open() rendszerhívás és paraméterei a fájlleíró és a nyitott fájl objektum több folyamat által megnyitott fájl és a fork() Írás és olvasás: read(), write() Fájlok zárolása kötelező (mandatory): fcntl(), lockf() ajánlott (advisory): flock() Fájlok lezárása: close() UNIX fájlkezelés 8 / 20

Csatlakoztatás csatlakoztatási pont elfedés Szervezés a háttértáron blokkos tárolás fájlok leírói (diszk inode) szabad helyek kezelése Fájlrendszerek szervezése Szervezés a memóriában csatlakoztatás nyilvántartása fájlok leírói (memória inode) kapcsolat a nyitott fájl objektumokhoz UNIX fájlkezelés 9 / 20

A tárolás megvalósítása A diszken elhelyezett fájlrendszer részei szuperblokk (fájlrendszer metaadatok) inode lista (fájl metaadatok) tárolt adatok Szuperblokk a fájlrendszer mérete szabad blokkok jegyzéke zárolási információk módosítás jelzőbit UNIX fájlkezelés 10 / 20

Az index node (inode) hitelesítési információk (UID, GID) típus hozzáférési jogosultságok időbélyegek méret adatblokkok elhelyezkedése (címtábla) 10-15 db direkt blokkcím 1x, 2x és 3x indirekt blokkcímek (számítási példa) UNIX fájlkezelés 11 / 20

Címzés és tipikus fájlméretek Andrew S. Tanenbaum, Jorrit N. Herder, Herbert Bos: File size distribution on UNIX systems: then and now. Operating Systems Review 40(1): 100-104 (2006) UNIX fájlkezelés 12 / 20

Az inode a memóriában a nyitott fájl objektumhoz kapcsolódik diszk inode tartalma bekerül a memóriába az aktív használat információival bővül státusz (zárolt, módosított, stb.) háttértár eszköz (fájlrendszer) azonosítója hivatkozás számláló (fájlleírók) csatlakoztatási pont adminisztrációja UNIX fájlkezelés 13 / 20

Allokáció a diszken Szempontok: teljesítmény, megbízhatóság Cilinder (blokk) csoport (FFS, ext2, ) Allokációs elvek szuperblokk másolása minden csoportba inode lista és szabad blokkok csoportonként kezelve egy könyvtár egy csoport kis fájlok egy csoportba nagy fájlok szétkenve több csoportba új könyvtárnak egy új, kevéssé foglalt csoportot keres UNIX fájlkezelés 14 / 20

A virtuális fájlrendszer Implementáció-független fájlrendszer absztrakció a modern unix fájlrendszerek alapja Célok: többféle fájlrendszer egységes egyidejű támogatása egységes kezelés a csatlakoztatás után (programozó IF) speciális fájlrendszerek (hálózati, processz, stb.) modulárisan bővíthető rendszer Absztrakció inode vnode fs vfs UNIX fájlkezelés 15 / 20

A vnode absztrakció adatmezők közös adatok (típus, csatlakoztatás, hivatkozás száml.) v_data: állományrendszertől függő adatok (inode) v_op: az állományrendszer metódusainak táblája virtuális függvények állományrendszertől független: vop_open, vop_read, a tényleges metódusokra helyettesítődnek be segédrutinok, makrók UNIX fájlkezelés 16 / 20

A vfs absztrakció adatmezők közös adatok (fájlrendszer típus, csatlakoztatás, hivatkozás, vfs_next) vfs_data: állományrendszertől függő adatok vfs_op: az állományrendszer metódusainak táblája virtuális függvények állományrendszertől független: vfs_mount, vfs_umount, vfs_sync, a tényleges metódusokra helyettesítődnek be segédrutinok, makrók UNIX fájlkezelés 17 / 20

A vfs és a vnode kapcsolata root vfs fájlrendszer1 vfs_next vfs_op vfs_nodecovered vfs_fstype fájlrendszer2 vfs_next vfs_op vfs_nodecovered vfs_fstype Vnode1: VROOT v_vfsp v_vfsmountedhere Vnode2: boot v_vfsp v_vfsmountedhere Vnode3: VROOT v_vfsp v_vfsmountedhere UNIX fájlkezelés 18 / 20

Alkalmazási példa: NFS egyszerűsített felépítés szgép 1 szgép 2 folyamat open() NFS szerver open() VFS (vfs_open) RPC VFS (vfs_open) NFS kliens nfs_open() ext2 ext2_open() UNIX fájlkezelés 19 / 20

Összefoglalás: UNIX fájlrendszerek alapismeretei Alapok Fájl (esetleg állomány, nem file!), fájlrendszer, API, diszk szervezés Az s5fs-től a ZFS-en át az elosztott és felhasználói fájlrendszerekig Felhasználói alapismeretek Könyvtárszervezés, speciális könyvtárak Fájlok és könyvtárak attribútumai Felhasználói eszközök (cd, pwd, ls, cp, mv, Adminisztrátori eszközök (mount, umount, df, ) Fájlrendszerek megvalósítása adatstruktúrák (inode), interfészek diszk szervezés, index címtábla, allokáció virtuális fájlrendszer felépítés, alkalmazási példa (NFS) UNIX fájlkezelés 20 / 20