Souborov e syst emy { koncepty a rozhran

Podobné dokumenty
Souborov e syst emy { koncepty a rozhran

Sekven cn soubory. PV 062 Organizace soubor u. Jan Staudek Verze : jaro 2018

Rzen informacn bezpecnosti v organizaci

Rzen informacn bezpecnosti v organizaci

Vl akna. PB 152 Operacn syst emy. Jan ÐStaudek Verze : jaro 2015

Podsyst em vstupu a v ystupu

Distribuovan e algoritmy

Prklad dokumentov e z akladny ISMS

Projekt implementace ISMS Dodatek 1, PDCA

Přednáška 2. Systémy souborů OS UNIX. Nástroje pro práci se souborovým systémem. Úvod do Operačních Systémů Přednáška 2

Obnova transakc po v ypadku

Vl akna. Proces a vl akna. PB 152 Operacn syst emy. Resen editoru pomoc vl aken. Koncept sekvencnho procesu m uze b yt neefektivn

Uvod, celkov y prehled problematiky

Uvod, celkov y prehled problematiky

Procesy. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

GPDR, General Data Protection Regulation

Hasov an (hashing) na vn ejsch pam etech

Spr ava hlavn pam eti

Spr ava hlavn pam eti

Projekt implementace ISMS

Obnova transakc po v ypadku

Operacn syst emy { prehled

Principy operačních systémů. Lekce 7: Souborový systém

Podsyst em vstupu a v ystupu

Operacn syst emy { prehled

Procesy. Uvodem k proces um. PB 152 Operacn syst emy. Program a proces. Uvodem k proces um

Typologie, funkcn skladby a architektury OS

Poctacov e syst emy { prehled

Soubor, souborov e organizace

Hierarchick e indexy, B / B+ stromy, tries

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Hierarchick e indexy, B / B+ stromy, tries

Typologie, funkcn skladby a architektury OS

Hierarchick e indexy, B / B+ stromy, tries

Soubor, souborov e organizace

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Politika informacn bezpecnosti

Politika informacn bezpecnosti, Dodatek

Soubor, souborov e organizace

Systém souborů (file system, FS)

Virtu aln pam et' PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Prepn an, switching. Propojovac probl em. PV 169 Z aklady prenosu dat. Prepnac, prepnan a st' Metody prepn an

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Politika informacn bezpecnosti, Dodatek

Audit (prezkoum av an) bezpecnostnch opatren, politik, syst em u,...

Úvod do programovacích jazyků (Java)

Projekt implementace ISMS

Projekt implementace ISMS, Dodatek 2, Pozn amky k projektov emu rzen

Bezs n urov a telefonie, DECT

Souborový systém (File System FS) Souborové systémy. Souborová fragmentace. Disková fragmentace. Organizace dat na pevném disku

Prklady opatren, zranitelnost a hrozeb

Operační systémy 1. Přednáška číslo Souborové systémy

Pl anov an. PB 152 Operacn syst emy. Jan Staudek Verze : jaro 2017

Principy počítačů a operačních systémů

12. Správa souborů. ZOS 2006, L. Pešička

Rzen reakc na bezpecnostn incidenty

Příklad aplikace Klient/Server s Boss/Worker modelem (informativní)

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

Aplikacn bezpecnost. PV 017 Bezpecnost informacnch technologi. Jan Staudek Verze : podzim 2017

Přednáška. Systémy souborů. FAT, NTFS, UFS, ZFS. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Java a XML. 10/26/09 1/7 Java a XML

Projekt implementace ISMS Dodatek 4, Prklad politiky ISMS

Aplikacn bezpecnost. Informacn bezpecnost z pohledu aplikacnch syst em u. PV 017 Bezpecnost informacnch technologi

Šablony, kontejnery a iterátory

Ošetřování chyb v programech

VISUAL BASIC. Práce se soubory

Autor. Potřeba aplikací sdílet a udržovat informace o službách, uživatelích nebo jiných objektech

Principy počítačů I Propojovací systémy

Webové služby a XML. Obsah přednášky. Co jsou to webové služby. Co jsou to webové služby. Webové služby a XML

Generické programování

Volba v udce, Leader Election

projektu implementace ISMS

8. přednáška: Soubory a proudy

NIO. Aplikační programování v Javě (BI-APJ) - 12 Ing. Jiří Daněček Katedra softwarového inženýrství Fakulta informačních technologií ČVUT Praha

Správa počítačové sítě Novell NetWare

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, MAC OSx

Základní příkazy OS UNIX

Teoretické minimum z PJV

4.3 Operace nad ordin ln mi datov mi typy Operace nad logick m datov m typem Operace nad celo seln mi datov mi typy

Semin aˇr Java V yjimky Radek Ko ˇc ı Fakulta informaˇcn ıch technologi ı VUT Unor 2008 Radek Koˇc ı Semin aˇr Java V yjimky 1/ 25

Jazyk C# (seminář 5)

Distribuovan e prostred, cas a stav v distribuovan em prostred

Typologie, funkcn skladba a architektury OS, prklady z Windows, Unix, Linux, Android

Šablony, kontejnery a iterátory

Úvod do Operačních Systémů

Základní příkazy pro práci se soubory

Volba v udce, Leader Election

Brno. 30. května 2014

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Distribuovan e prostred, cas a stav v distribuovan em prostred

INTEGRACE IS DO STÁVAJÍCÍ HW A SW ARCHITEKTURY

Unix je víceuživatelský a víceúlohový OS

PB161 Programování v jazyce C++ Přednáška 5

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Maturitní téma: Operační MS-DOS

Relační databáze a povaha dat

Wireless Sensor Networks, ZigBee

Krit eria hodnocen informacn bezpecnosti

Transkript:

Souborov e syst emy { koncepty a rozhran PV 062 Organizace soubor u Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : jaro 2018

Osnova predn asky pojem syst emu soubor u adres arov e struktury pripojov an syst em u soubor u sdlen soubor u ochrana prklady Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 1

Soubor, syst em soubor u { pojem, imaginace Z akladn sluzby pro generalizovan y prstup k vn ejs pam eti poskytuje operacn syst em funkcn komponentou zvanou syst em soubor u, File System, kter a umoz nuje vytv aret kolekce dat { soubory (files) soubory dlouhodob e uchov avat i po uzavren uzivatelovy relace soubory pojmenov avat a rdit k nim prstup soubory strukturovat tak, aby vyhovovaly konkr etn aplikaci a vztah um mezi soubory Syst em soubor u pro v etsinu uzivatel u nejviditeln ejs projev OS tvor jej dve b azov e komponenty { kolekce soubor u, z nich kazd y uchov av a kolekci souvisejcch dat { adres arov a struktura, kter a organizuje a poskytuje informace o souborech ve v ypocetnm syst emu Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 2

Syst em soubor u { cle { syst em soubor u m a... poskytovat sluzby spr avy dat pozadovan e uzivateli zajist'ovat validitu dat v souborech, minimalizovat, resp. odstra novat, riziko ztr aty ci poskozen dat optimalizovat v ykon z hlediska syst emu (propustnost) i z hlediska uzivatele (doba reakce) poskytovat jednotnou podporu IO pro r uzn e vnejs pameti poskytovat proces um standardizovan e API { standardizovanou sestavu postup u/program u na IO rozhran umoz novat soub eznost operac, poskytovat podporu IO a rzen prstupu vce uzivatel um soub ezn e poskytovat vhodn y syst em pojmenov av an soubor u podporovat podp urn y syst em spr avy (napr. archivaci) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 3

Minim aln pozadavky uzivatel u na syst em soubor u kazd y uzivatel: m a mt moznost vytv aret, rusit, cst a modikovat soubory m uze mt povolen y prstup k soubor um jin ych uzivatel u m uze rdit rdit prstup jin ych uzivatel u ke sv ym soubor um m a mt moznost restrukturalizovat sv e soubory do formy vyhovujc jeho probl emu m a mt moznost presouvat data mezi soubory m a mt moznost archivovat a obnovovat sv e soubory m a mt moznost identikovat sv e soubory sv ymi symbolick ymi jm eny Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 4

Syst em soubor u je souc ast OS res spr avu sdlen ych zdroj u na vnejsch pametech premost'uje nzko urov novou organizaci dat na disku (pole blok u dat) na uzivatelsk y pohled (proud/kolekce datov ych z aznam u) nemus b yt plne implementovan y v j adru OS form atovac funkce, defragmentujc programy, archivacn programy,... mohou vystupovat jako syst emov e programy typicky je odpovedn y za vytv aren a rusen soubor u a adres ar u (katalog u) soubor u podporu primitivnch operac pro manipulaci se soubory a s jejich adres ari zobrazov an soubor u do vnejs pameti archivov an soubor u, verzov an soubor u,... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 5

Syst em soubor u, architektura Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 6

Syst em soubor u, rozlozen funkcnosti Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 7

Vlastnosti (atributy) souboru udrzovan e syst emem soubor u jm eno jedin a informace clene udrzovan a ve forme citeln e clov ekem jm eno vol vytv arejc subjekt (clov ek, proces), mus b yt jedinecn e v dom ene vymezen e adres arem typ { pokud OS podporuje r uzn e typy soubor u; text, binary, load module,... organizace { pokud OS podporuje r uzn e vnitrn organizace soubor u (hasovan a, index-sekvencn,... ) umst en { ukazatel na umst en souboru v zarzen rozmer { velikost souboru (v B, KB, MB, GB), okamzit a, prid elen a Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 8

Vlastnosti (atributy) souboru udrzovan e syst emem soubor u ochrana { vesm es autorizacn rdic informace id vlastnka, id uzivatel u, kter sm soubor cst, modikovat, pouzt jako program pro rzen procesu, zajist en d uv ernosti a/nebo integrity heslem cas, datum, historie { data poslednho cten/modikace, id poslednho (aktu alnho) uzivatele, data posledn archivace,... Dals vlastnosti k odov an znak u u textov ych soubor u,... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 9

Vlastnosti (atributy) souboru udrzovan e syst emem soubor u Kde jsou uchov avan e atributy souboru (informace o souboru)? v zvl astn adres arov e strukture (na disku) { directory, v tzv. z aznamu o souboru (File Control Block ) adres ar (directory) { struktura podporujc spr avu soubor u, katalog Vlastnosti soubor u se uchov avaj v adres arov e c asti syst emu soubor u Vlastnosti souboru maj obv. rozsah cca v kilobytech Adres arov a c ast syst emu soubor u mus b yt ulozena v energeticky nez avisl e pameti { na disku Do vnitrn pam eti se obv. zprstup nuje po c astech podle potreby Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 10

Fyzick y soubor x logick y soubor Fyzick y soubor fyzicky existuje ve vn ejs pam eti je explicitn e pojmenovan y vn ejsm jm enem souboru manipuluje s nm OS jeho existence je zaznamenan a v adres ari soubor u Logick y soubor souborov a struktura jak ji vid proces roura, ze / do kter e proces zsk av a / dod av a data pro proces je jedinecn e pojmenovan y vnitrnm jm enem souboru logick y soubor svazuje s fyzick ym souborem OS sluzbou otevren souboru (open) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 11

Logick e x fyzick e soubory Za asociaci logick eho souboru v procesu s fyzick ym na disku odpovd a OS Pro vytvoren a rusen t eto asociace a pro cten a z apis z / do souboru proces pouzv a sluzby OS (open, close, read, write) Procesy zach azej s periferiemi jako se soubory Na disku b yv a spousta (fyzick ych) soubor u, procesy otevraj jen velmi omezen y pocet (logick ych) soubor u Jm ena fyzick ych soubor u maj vesmes jm eno vyj adren e textov ym ret ezcem Logick y soubor pojmenov av a logick e jm eno odkazujc na soubor v r amci procesu, typicky je obsahuje promenn a uvnitr programu Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 12

Operace se souborem OPEN a CLOSE, zprstupn en souboru f i = Open (F i ) sv az an logick eho souboru s fyzick ym souborem OS vyhled a z aznamu o souboru F i v adres ari a presune ho do operacn pam eti poctace do tabulky otevren ych soubor u F i { vnejs jm eno souboru f i { vnitrn jm eno souboru, file descriptor, file handle s otevrenm souboru lze druzit rzen prstupu v operacch proces u manipulujcch se z aznamy soubor u se pouzv a vnitrn jm eno souboru, procesy pracuj s logick ymi soubory Close (f i ) presunut z aznamu o souboru F i z tabulky otevren ych soubor u do adres arov e struktury na disku zrusen prstupov e vazby (logick eho souboru) na (fyzick y) soubor Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 13

Pojmenov av an soubor u vnejs jm ena (fyzick ych soubor u) jsou typicky textov a jm ena, jsou platn a trvale po dobu existence souboru pro vn ejs pojmenov an se zav ad mnoho omezen zak azan e znaky (napr. / ) horn mez d elky jm ena form aty rozlisov an / nerozlisov an verz alek a minusek omezen dan a konvencemi n astroj u, pro kter e jsou soubory vstupem vnitrn jm ena (logick ych soubor u) jsou typicky numerick a vnitrn jm ena prid eluje OS otevren ym soubor um v procesu dynamicky napr. unixovsk y fd, file descriptor n ekter a vnitrn jm ena maj standardizovanou s emantiku Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 14

0, stdin / cin (C / C++) Standardn logick e soubory Standard Input, implicitn e kl avesnice 1, stdout / cout (C / C++) Standard Output, implicitn e obrazovka 2, stderr / cerr (C / C++) Standard Error, implicitn e obrazovka Standardn logick e soubory se v procesu neotevraj / nezavraj, v procesu jsou denov any implicitn e, trvale Standardn logick e soubory lze v procesu presm erovat na jin y fyzick y soubor V etsina OS zprstup nuje periferie jako speci aln fyzick e soubory, logick e soubory lze na na ne presmerovat Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 15

Presm erov an logick eho souboru Prklad z Unixu prog je program rdic proces presm erov an standardnho vstupu na soubor in.txt prog < in.txt presm erov an standardnho v ystupu na soubor out.txt prog > out.txt presm erov an standardnho vstupu na soubor in.txt a standardnho v ystupu na soubor out.txt prog < in.txt > out.txt Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 16

Prklad, v C koprov an souboru na standardn v ystup hfile: logick y soubor, account.txt: fyzick y soubor include <stdio.h> int main(){ FILE *hfile=fopen(\account.txt","r"); char c; while (!feof(hfile)){ fread (&c,sizeof(char),1,hfile) ; fwrite(&c,sizeof(char),1,stdout) ; } fclose(hfile) ; return 0; } Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 17

Prklad, v C++ Funkcn e shodn y program jako predchoz prklad include <fstream> include <iostream> using namespace std ; int main(){ char c; fstream inle ; inle.open("account.txt",ios::in) ; inle.unsetf(ios::skipws) ; inle >> c ; while (! inle.fail()){ cout << c ; inle >> c ; } inle.close() ; return 0; } Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 18

Vce k operacm se soubory Otevren souboru m uze mt dv e varianty otveren existujcho souboru vytvoren nov eho souboru C: otevren souboru (v rezimu z apisu) FILE *outle; outle = fopen(\account.txt", \w") ; Parametry: jm eno fyzick eho souboru, rezim r - open for reading w - open for writing (le need not exist) a - open for appending (le need not exist) r+ - open for reading and writing, start at beginning w+ - open for reading and writing (overwrite le) a+ - open for reading and writing (append if le exists) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 19

Vce k operacm se soubory C++: otevren souboru (v rezimu z apisu) fstream outle; outle.open(\account.txt", ios::out) ; Parametry: jm eno fyzick eho souboru, rezim denovan y v trd e ios ios::in Open for input operations. ios::out Open for output operations. ios::binary Open in binary mode. ios::ate Set the initial position at the end of the le. If this ag is not set, the initial position is the beginning of the le. ios::app All output operations are performed at the end of the le, appending the content to the current content of the le. ios::trunc If the le is opened for output operations and it already existed, its previous content is deleted and replaced by the new one. Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 20

Vce k operacm se soubory Uzavren souboru (close) zrusen vazby mezi logick ym a fyzick ym souborem OS zajist vyps an vsech dosud do souboru nevypsan ych dat Implicitn operace pri ukoncen procesu C: fclose(outle) C++: outle.close() Cten / z apis dat z / do souboru Obvykl e parametry: C: adresa bueru, d elka prvku dat, mnozstv prvk u dat, logick y soubor C++: outle.write(&c,1) ; % v ypis 1 znaku do outle Vystaven v souboru na udan e msto Detekce konce souboru Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 21

Prklad, program pro koprov an souboru Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 22

Spr ava (otevren ych) soubor u Spr ava otevren ych soubor u vyzaduje udrzbu jist ych dat ukazatel na pr ave zprstup novan y z aznam { naposled cten y / modikovan y z aznam samostatn e pro kazd y proces, kter y soubor otevrel ctac otevren { kolikr at byl soubor otevren, aniz by se provedlo komplement arn zavren odstranit lze soubor, kter y nem a otevren y z adn y proces prstupov a pr ava samostatn e pro kazd y proces, kter y soubor otevrel Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 23

Z aznam o souboru, tabulky otevren ych soubor u Tabulky otevren ych soubor u...... procesu (1/proces) { co s kazd ym otevren ym souborem del a proces... syst emu (1/syst em) { co plat o kazd em otevren em souboru nez avisle na procesech, kter e ho maj otevren y Z aznam o souboru v tabulce otevren ych soubor u procesu ukazatel na pr ave zprstup novan y z aznam prstupov a pr ava ukazatel na tabulku otevren ych soubor u syst emu Z aznam o souboru v tabulce otevren ych soubor u syst emu umst en na disku udaje o case zprstupn en rozm er souboru ctac otevren, z amek sdlen eho zprstup nov an,... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 24

Zamyk an soubor u zamyk an podporuj nekter e OS a souborov e syst emy ovliv nov an prstupu k souboru m uze b yt podporovan e jako povinn e nebo poradn povinn e { zamcen y soubor je neprstupn y poradn { proces si m uze zjistit stav z amku a rozhodnout se co bude delat Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 25

Zamyk an soubor u, prklad Java API import java.io.*; import java.nio.channels.*; public class LockingExample { public static final boolean EXCLUSIVE = false; public static final boolean SHARED = true; public static void main(string arsg[ ]) throws IOException { FileLock sharedlock = null; FileLock exclusivelock = null; try { RandomAccessFile raf = new RandomAccessFile( file.txt, rw ); // získej kanál pro soubor FileChannel ch = raf.getchannel(); // zamyká se první polovina souboru exclusívně exclusivelock = ch.lock(0, raf.length()/2, EXCLUSIVE); /** Nyní modifikace dat... */ // release the lock exclusivelock.release();... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 26

Zamyk an soubor u, prklad Java API, 2 } } // zamyká se druhá polovina souboru - sdíleně sharedlock = ch.lock(raf.length()/2+1, raf.length(),shared); /** Nyní čtení dat... */ // uvolnění zámku exclusivelock.release(); } catch (java.io.ioexception ioe) { System.err.println(ioe); } finally { if (exclusivelock!= null) exclusivelock.release(); if (sharedlock!= null) sharedlock.release(); } Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 27

Katalogizace soubor u je budovan a na b azi adres ar u Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 28

Adres are Kolekce dat (adres arov ych z aznam u) obsahujc informace o souborech uchov avan ych na disku { adres ar s am je souborem Informace v polozk ach adres arov ych z aznam u (symbolick e, textov e) jm eno souboru typ souboru adresa umst en souboru na disku okamzit a d elka souboru maxim aln d elka souboru datum/cas poslednho prstupu datum/cas posledn korekce ID vlastnka ochrann e informace,... adres arov y z aznam vznik a pri vytvoren souboru, odstra nuje se pri odstran en souboru Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 29

Operace nad adres ari Adres are Vyhled an souboru Vytvoren souboru Zrusen souboru Poskytnut seznamu soubor u Prejmenov an souboru Proch azen souborov ym syst emem { hled an,... Adres are se (logicky) organizuj tak, aby se dos ahlo efektivnosti { soubor se rychle najde uzivatel um blzk eho, srozumiteln eho pojmenov av an { 2 uzivatel e mohou stejne pojmenovat r uzn e soubory 2 uzivatel e mohou r uzne pojmenovat stejn y, sdlen y soubor snadn e seskupov an { logicky podle n ejak e prbuznosti Java programy, hry,... pouzvan e struktury { acyklick e grafy, stromy, B stromy,... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 30

Adres are Prnos adres ar u Soubory lze organizovat a jasn e separovat na b azi vlastnictv, aplikac a prp. dalsch krit eri. To vylepsuje bezpecnost, integritu, koniktnost jmen apod. Adres ar je (specick y) soubor obsahujc informace o (ostatnch) souborech atributy souboru umst en souboru vlastnictv souboru Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 31

1- urov nov y adres ar Jedin y adres ar v cel em syst emu neres se probl em unik atnosti pojmenov av an soubor u neres se probl em sekupov an soubor u (po uzivatelch, typech,... ) v soucasnosti pouze v telefonech, kamer ach, prehr avacch,... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 32

2-urov nov y adresa r X X X X X X separace adresa ru u zivatelu soubor lze pojmenovat p r stupovou cestu, path name (user3/test) 2 u zivatele mohou stejn e pojmenovat ruzn e soubory efektivn hledan ne re s se problem seskupovan nelze sd let { sd len se dosahuje z r zen m u zivatele system Jan Staudek, FI MU Brno PV 062, PB 152 { Souborove systemy { rozhran 33

Adres ar se strukturou stromu, hierarchick y adres ar Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 34

Adresa r se strukturou stromu, hierarchicky adresa r Jan Staudek, FI MU Brno PV 062, PB 152 { Souborove systemy { rozhran 35

Adres ar se strukturou stromu, hierarchick y adres ar strom { grafov a struktura efektivn hled an hodnoty v uzlu { logaritmicky um ern e poctu soubor u res nez avisl e pojmenov av an i seskupov an pojem pracovn adres ar >cd /spell/mail/prog >lp list dynamicky urcovan y v ychoz bod v adres ari pojem absolutn / relativn prstupov e cesty { prstupov a cesta zacnajc v korenu stomu nebo v pracovnm adres ari... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 36

Adres ar se strukturou stromu, hierarchick y adres ar soubor lze vytvorit / zrusit v pracovnm adres ari ud anm new file-name / rm file-name nebo kdekoliv (kde se sm) dopln enm prstupov e cesty pred file-name vytvoren nov eho podadres are v pracovnm adres ari mkdir dir-name je-li pracovn adres ar /mail, pak mkdir count vytvor v podstromu s korenem /mail adres ar count s prstupovou cestou /mail/count zrusen /mail odstran cel y podadres ar /mail/... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 37

Acyklick y adres ar umoz nuje sdlet adres are a soubory, nen strom aliasing { jeden objekt m a 2 r uzn a jm ena jestlize se odstran list z dict/all, z ustanou ukazatel e,,do pr azdna\ resen: zp etn e ukazatele, aby bylo mozn e odstranit vsechny ukazatele probl em { z aznamy budou promenn e d elky ctace ukazatel u u objekt u objekt se rus pri vynulov an ctace Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 38

Adres ar s obecnou strukturou Jak zarucit, ze nedojde k zacyklen pri proch azen adres arem? povol se delat vazby (link) jen na soubory, ne na adres are Kdykoliv se prid a nov a hrana, pouzije se algoritmus detekce cyklu a ten sdel, zda je vse O.K. Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 39

Pripojov an adres arov ych struktur File System Mounting souborov y syst em (na v ymen em m ediu, dosud nedostupn em disku) se mus,,pripojit\, tak e,,namontovat\, mount souborov y syst em se pripojuje v udan em mste st avajc adres arov e struktury, (mount point) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 40

Dobr e praktiky organizov an soubor u dat Organizace/uspor ad an soubor u je d ulezit a pro budouc zprstup nov an a zsk av an ulozen ych dat Srozumiteln a organizace usnadn lokalizaci a prohlzen soubor u dat Srozumiteln a organizace je intuitivn pro cleny pracovnho t ymu Organizace soubor u dat (projektu,...) m a b yt d usledne dokumentovan a Je potreba denovat typy dat a odpovdajc form aty soubor u, pravidlo 5 C Clear, Concise, Consistent, Correct, and Conformant Srozumitelnost, strucnost, d uslednost, spr avnost, prizp usoben Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 41

Dobr e praktiky organizov an soubor u dat Smyslupln a hierarchie adres ar u a pojmenov avac konvence vc. zahrnut kontextu alnch informac, jm eno souboru je klcov y identik ator, soubory nejsou samy-se-popisujc, nemus vzdy obsahovat metadata adres are organizovat podle predm et u prvn, druh e,... urovn e logick e strukturov an pro rychl e prohlzen mnoha soubor u a jejich verz, soubory maj b yt vz ajemne rozpoznateln e v r amci adres are i mezi adres ari jm ena soubor u maj b yt kr atka a pritom v ystizn a, smyslupln a pro poradov e cslov an soubor u pouzvat prisl. pocet uvodnch 0 Pouzit kapit alek m uze ovliv novat razen v n ekter ych OS(d uslednost!) Mezery mezi slovy nahrazovat kapit alkami ci podrzenm Pouzvat verzov an? Nepouzvat generick a jm ena soubor u snadno vznik a konikt pri presunu souboru mezi adres ari Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 42

Sdlen soubor u, ochrana sdlen ych soubor u prirozen y pozadavek univerz alnch multi-uzivatelsk ych OS v distribuovan ych syst emech lze pozadovat sdlen po cel e sti typick a implementace sdlen je vedena pres n astroje ochrany Voliteln e rzen prstupu { Discretionary Access Control, DAC vlastnk (ten kdo soubor vytvoril) m a moznost urcovat co se d a se souborem delat kdo to m uze delat typy prstupu Read, Write, Execute, Append, Delete, List,... v distribuovan ych syst emech (v stch) ex. pozadavek na sdlen v r amci ste nejvce rozsren y n astroj { Network File System (NFS) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 43

Sdlen soubor u, ochrana sdlen ych soubor u, 2 Povinn e rzen prstupu { Mandatory Access Control, MAC urcov an co se d a se souborem delat kdo to m uze delat politiku rzen prstupu denuj pravidla implementovan a v syst emu jako souc ast prosazen bezpecnostn politiky subjekty vystupujc v syst emu nemaj moznost pravidla menit DAC implementuj operacn syst emy implicitn e (pokud v ubec rzen prstupu implementuj) MAC se typicky implementuje na urovni aplikace Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 44

Unix { model voliteln e ochrany rezimy prstupu: read (r), write (w), execute (x) trdy uzivatel u: uzivatel (user, u), skupina (group, g), ostatn (others, o) uzivatele (user ID) a skupinu(-y) (group ID), do kter e(- ych) uzivatel patr, stanovuje spr avce pr ava prstupu k souboru urcuje uzivatel, vlastnk souboru r w x a) prstupov a pr ava vlastnka 7: 1 1 1 b) prstupov a pr ava skupiny 5: 1 0 1 c) prstupov a pr ava ostatnch 1: 0 0 1 napr. chmod 751 game Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 45

Matice povolen ych prstup u Generick y n astroj implementace (povinn eho) rzen prstupu Vlastnk souboru m uze napr. jako jedin y soubor rusit,... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 46

Access control lists, ACL N astroj rzen prstupu vhodn y pro prpady, kdy je matice rzen prstupu rdk a Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 47

Capability Tickets N astroj pro autorizaci uzivatele k jist emu ukonu Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 48

Problematika konkr etnch typ u soubor u speci aln znaky v souboru OS se snaz n ekdy uzivateli zivot ulehcit zivot vkl ad anm pomocn ych,,oddelovac u\ do soubor u CNTR-Z, MS-DOS, konec souboru CR LF, MS-DOS, oddelovac r adk u nahrazov an CR ctacem znak u na r adku, VMS budov an propracovan ych struktur soubor u to zt ezuje skared a, spatn a,... lozoe nen nic podezrelejsho, nez kdyz ti chce nekdo udelat dobre a zd anlive za to nic nechce Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 49

Prklad syst emu soubor u { Unix, typy soubor u r adn y soubor, ordinary file data vytv aren a uzivateli, aplikacemi, pomocn ymi programy,... syst em souboru nevnucuje vnitrn strukturu, jedn a se o proud slabik adres ar, directory seznam jmen soubor u plus ukazatel u na reprezentace soubor u (i-nodes, indexov e uzly) jsou to r adn e soubory, do kter ych sm zapisovat pouze system, cst v nich m uze kdokoliv speci aln mechanismus pro zobrazov an fyzick ych zarzen na jm ena soubor u pojmenovan e roury, named pipes komunikacn n astroj komunikaci mezi procesy formou toku slabik Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 50

Prklad syst emu soubor u { Unix, typy soubor u vazba, link alternativn jm eno existujcho souboru symbolick a vazba, symbolic link datov y soubor obsahujc jm eno nav azan eho souboru Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 51

Prklad syst emu soubor u { Unix, charakteristiky stromov e orientovan a struktura adres ar u koren stromu reprezentuje znak,,/\ kazd y adres ar obsahuje soubory a/nebo dals adres are jm eno v adres ari je jm eno souboru kazd y soubor lze jednoznacn e identikovat jm enem absolutn prstupov e cesty pr ave pouzvan y adres ar je pracovn adres ar soubory lze identikovat relativn e v uci pracovnmu adres ari. { tento adres ar,.. { nadrazen y adres ar Unix pred av a procesu soubor jako posloupnost byt u nestarej se kam byty ukládám a odkud je beru proces v Unixu se m uze dvat na kazdou periferii jako na soubor Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 52

Prklad syst emu soubor u { Unix, typy n astroj u standardn soubory Stdout, Stdin, Stderr Stdout: v ypis na konzolu, fwrite(&ch, 1, 1, stdout); Stdin: kl avesnice, vstup, fread(&ch, 1, 1, stdin); Stderr: v ypis chyb, konzola presm erov an < f ilename: presm erov an stdin na filename > f ilename: presm erov an stdout na filename roura, trubka, pipe program1 program2 stdout z procesu program1 je stdin pro proces program2 napr. list sort Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 53

Unix System Commands, prklady cat filenames { v ypis obsahu textov eho souboru cp file1 file2 { koprov an file1 na file2. mv file1 file2 { presu n (prejmenuj) file1 na file2. rm filename { odstra n soubor filename chmod mode filename { zme n ochrany souboru filename ls { v ypis obsahu pracovnho adres are mkdir name { vytvoren adres are pojmenovan eho name rmdir name { odstran en adres are pojmenovan eho name... Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 54

Otevr an / zavr an soubor u vn ejs a vnitrn identikace souboru vn ejs identikace (lename){ pojmenov an kolekce byt u na disku, uveden a v adres ari vnitrn identikace (fd, le descriptor) { skryt detail u o umsten souboru a fyzick em form atov an pred procesem za dynamicky vytv aren ym jm enem s vn ejs identikac pracuje OS a uzivatel, procesu se odpovdajc soubor zprstupn pod vnitrn identikac otevr an souboru { prprava souboru pro pouzit procesem prov eren existence souboru, prov eren autorizace zadatele otevren v C a C++ fd = open(filename, flags [, pmode]); flags: O APPEND, O CREAT, O EXCL, O RDONLY, O RDWR, O TRUNC, O WRONLY pmode: rwe rwe rwe, (owner, group, world) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 55

Otevr an / zavr an soubor u, cten / z apis ze / do souboru zavr an souboru fd zavran eho souboru je po zavren dostupn y pro jin y soubor OS dokonc vsechny dosud pln e nerealizovan e operace z apisu z docasn ych vyrovn avacch pam et typicky implicitn (default) operace pri ukoncov an procesu cten ze souboru Read(Source file, Dest addr, Size) Source file = fd, Dest addr = ukazatel clov eho bueru v RAM Size = ctac (in i out) z apis do souboru Write(Dest file, Dest addr, Size) Source file = fd, Dest addr = ukazatel zdrojov eho bueru v RAM Size = ctac (in) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 56

Prklad syst emu soubor u { Unix, Inode rdic struktura obsahujc klcov e informace potrebn e pro operacn syst em pri spr av e jist eho, konkr etnho souboru vsechny typy soubor u jsou rzen e operacnm syst emem pomoc inode kazd y soubor je rzen y pr ave jedin ym inode aktivn inode je asociovan y pr ave s jednm inode Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 57

FreeBSD Inode a struktura souboru Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 58

Kapacita souboru v FreeBSD Minim aln rozmer bloku dat = 4 KB (lze pouzt i 8 KB, 16 KB (default)) V minim aln variant e plat: { kazd y blok m uze obsahovat az 512 adres blok u (po 8 B) { maxim aln kapacita souboru je 500 GB, 4KB*(10 + 2**9 + 2**18 + 2**27) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 59

Kapacita souboru v FreeBSD Ve variante s d elkou bloku 8 KB plat: { maxim aln kapacita souboru je vce nez 8 TB 8KB*(10 + 2**10 + 2**20 + 2**30), V implicitn variant e (d elka bloku 16 KB) plat: { maxim aln kapacita souboru presahuje 140 TB 16KB*(10 + 2**11 + 2**22 + 2**33), Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 60

Adres ar v Unixu adres ar je soubor obsahujc seznam jmen soubor u plus ukazatel u na reprezentace soubor u (i-nodes, indexov e uzly) ukazatel, i-number, je index do tabulky inode Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 61

Windows, NTFS vznik pro Windows NT, New Technology File System (NTFS) syst em soubor u pro pracovn stanice a servery souborov e servery, DB servery, v ypocetn servery pamet'ove vysoce n arocn e inzen yrsk e a vedeck e aplikace st'ov e aplikace ve velk ych korpor atnch syst emech,... Klcov e rysy obnovitelnost po v ypadku syst emu / chybe disku (vse se res jako transakce, d ulezit a data se dubluj) bezpecnost { rzen y prstup,... aplikovatelnost na velmi velk e disky a soubory (>> F AT ) jeden soubor lze plnit vypisovat vce proudy dat o vsech operacch se vede denk, zurn al cel e adres are i jednotliv e soubory lze komprimovat a sifrovat k jednomu souboru m uze v est vce cest Vce o NTFS viz predn aska Implementace syst emu soubor u Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 62

Sdlen soubor u { syst em prstupu ke vzd alen ym soubor um Remote File Systems Pro zprstup nov an mezi syst emy pouzv a st'ov e sluzby manu alne { pres programy typu ftp automaticky { bezesv ym distribuovan ym souborov ym syst emem polo-automaticky { pres World Wide Web klienti pri aplikaci modelu klient-server si mohou pripojovat vzd alen e soubory uchov avan e v serverech server m uze obsluhovat vce klient u identikace klienta a uzivatele na klientu nen bezpecn a a b yv a komplikovan a standardnm protokolem sdlen soubor u podle modelu klient-server pro Unix je,,bezesv y"syst em NFS (Network File System) standardnm protokolem t ehoz typu pro Windows je CIFS (Common Internet File Services) Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 63

Sdlen soubor u { syst em prstupu ke vzd alen ym soubor um Unikovan y prstup k informacm potrebn y pro vzd alen e poct an (remote computing) implementuj distribuovan e IS pomoc distribuovan e pojmenov avac sluzby typu: { LDAP (Lightweight Directory Access Protocol), { DNS (Domain Name Server/Service), { NIS (Network Information Services), tak e Yellow Pages od Sun Microsystems syst em ovl ad an vzd alen ych soubor u mus osetrovat nov e chybov e stavy porucha st e, porucha serveru obnovovac procedura po poruse m uze pozadovat informaci o stavu kazd eho vzd alen eho pozadavku snadnou obnovu ale m en e bezpecnou poskytuj bezestavov e protokoly typu NFS Jan Staudek, FI MU Brno PV 062, PB 152 { Souborov e syst emy { rozhran 64