Souborové operace Mgr. Josef Horálek

Podobné dokumenty
Operační systém z hlediska procesu Mgr. Josef Horálek

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

Tekla Structures Multi-user Mode

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE

Stroje, technická zařízení, přístroje a nářadí

Zámkový systém pro trez ory

I. Všeobecná ustanovení

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

Operace nad celými tabulkami

NÁVOD K HODINKÁM S KAMEROU 1. Úvod Dostává se Vám do rukou kamera s mikrofonem, záznamem obrazu a zvuku skrytá v náramkových hodinkách.

DATABÁZE DŮLEŽITÉ: Před načtením nové databáze do vaší databáze si prosím přečtěte následující informace, které vám umožní:

Předmětem podnikání společnosti je:

1 Seznámení s Word 2010, karty, nejčastější činnosti. 2 Tvorba dokumentu

SMĚRNICE č. 11/2011 kterou se stanoví pravidla pro výkon služby Operačního střediska MP. Hlava I.

Zákon o elektronickém podpisu

POKYNY BOZP a EMS pro DODAVATELE

ORGANIZAČNÍ ŘÁD ŠKOLNÍ VÝLETY

Sada 1 Geodezie I. 06. Přímé měření délek pásmem

Manuál Kentico CMSDesk pro KDU-ČSL

KÓDOVÝ ZÁMEK 1105/2 A 1156/10

Metodika testování navazujících evidencí

Objektově orientované databáze

Návod na montáž, obsluhu a údržbu

ROZCVIČKY. (v nižší verzi může být posunuta grafika a špatně funkční některé odkazy).

účetních informací státu při přenosu účetního záznamu,

Chronis IB / IB L Programovatelné spínací hodiny

INTERNETOVÝ TRH S POHLEDÁVKAMI. Uživatelská příručka

-1- N á v r h ČÁST PRVNÍ OBECNÁ USTANOVENÍ. 1 Předmět úpravy

GSM alarm INTELIGENTNÍ základna

Domovní řád města Děčín

Domácí pekárna ETA DUPLICA VITAL

Obecně závazná vyhláška města Žlutice č. 2/2011 Požární řád obce

MĚSTO KAMENICE NAD LIPOU nám. Čsl. armády 52, Kamenice nad Lipou

Pravidla pro přidělování bytů v Domech s pečovatelskou službou v Počátkách

Článek 1. Závazný předpis města a podmínky užívání sportovní haly

SAFETICA 7 DATA LOSS PREVENTION

Veterinární a hygienické podmínky prodeje živočišných produktů v tržnicích a na tržištích

DATOVÉ SCHRÁNKY. Seminární práce z předmětu Information and communication policy

Popis realizace- 41 Tísňová péče ŽIVOT 90.doc

Seznámení žáků s pojmem makra, možnosti využití, praktické vytvoření makra.

V této části manuálu bude popsán postup jak vytvářet a modifikovat stránky v publikačním systému Moris a jak plně využít všech možností systému.

Metodika pro nákup kancelářské výpočetní techniky

Převodník tlaku P 40 Návod k použití

Pračka EVOGT 14064D3. Návod k použití

ZÁKLADNÍ POVINNOSTI DOPRAVCE I PRÁCI S DATY Z DIGITÁLNÍHO TACHOGRAFU

DOTWALKER NAVIGACE PRO NEVIDOMÉ A SLABOZRAKÉ

Směrnice k rozpočtovému hospodaření

Odůvodnění veřejné zakázky dle 156 zákona. Odůvodnění účelnosti veřejné zakázky dle 156 odst. 1 písm. a) zákona; 2 Vyhlášky 232/2012 Sb.

Děti si s výrobkem nesmí hrát. Každá plánovaná údržba a čištění, které má být prováděno uživatelem, nesmí být prováděny dětmi bez dozoru.

Návod k obsluze. Vysavač MC E8001, MC E8003, MC 8005

PŘÍLOHA č. 2C PŘÍRUČKA IS KP14+ PRO OPTP - ZPRÁVA O REALIZACI

13. Sítě WAN. Rozlehlé sítě WAN. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme rozlehlé sítě typu WAN. Doba nutná k nastudování

Návod k obsluze Sušák na ruce

1. Účel použití. Univerzální hořáky (27kW až 90kW)

Směrnice pro zajištění BOZP Provozní řád venkovních hracích ploch aktualizace

Návod na obsluhu a instalaci kulového kohoutu, elektricky poháněného

Historizace obsahu katastrálních map

DIGITÁLNÍ TECHNOLOGIE VE VZDĚLÁVÁNÍ. Daniela Růžičková, NÚV ICT ve školství,


Popis realizace sociální služby Keramická dílna Eliáš. Poslání. Hlavními cíli naší dílny jsou

Cesta kolem světa za 80 dní. Cesta kolem světa pro 2-6 hráčů od 10 let od Michaela Rienecka, Kosmos 2004

Škola VOŠ a SPŠE Plzeň, IČO , REDIZO

NÁVOD K OBSLUZE PRO REGULÁTOR KOMEXTHERM STABIL 02.2 D

Program OMEGA. Programy TA ČR OMEGA. Výsledky 1. veřejné soutěže. ALFA BETA OMEGA Centra kompetence

POPIS REALIZACE POSKYTOVANÉ SLUŽBY

Návod na zřízení datové schránky právnické osoby nezapsané v obchodním rejstříku

Výzva k podání nabídky

Domov pro seniory sv. Pavla, Kozlerova 791/II. Rokycany

Vnitřní pravidla stanovená poskytovatelem pro poskytování služby denní stacionáře

NÁVOD NA OBSLUHU A ÚDRŽBU PRO. čistící pistole s tlakovou nádobou obj. č. AA 5000 rozprašovací čistící pistole obj. č. AA 3080

Pokyny k instalaci FRIATRACE Verze 5.3

Vrchem plněná pračka CTG 125. Návod na obsluhu

Vláda nařizuje podle 133b odst. 2 zákona č. 65/1965 Sb., zákoník práce, ve znění zákona č. 155/2000 Sb.:

Všeobecné obchodní podmínky Simply Events s.r.o.

MAPA KORUPČNÍCH RIZIK CENIA (stav k datu )

Popis realizace poskytování sociálních služeb

NÁVOD K OBSLUZE. Rádiem řízený budík se slunečním modulem. Obj.č.:

Výzva pro předložení nabídek k veřejné zakázce malého rozsahu s názvem Výměna lina

SMLOUVA O PLNĚNÍ ZÁVAZKU VEŘEJNÉ SLUŽBY OBECNÉHO HOSPODÁŘSKÉHO ZÁJMU

EMS 58 Automat na prodej času

STANDARD 3. JEDNÁNÍ SE ZÁJEMCEM (ŽADATELEM) O SOCIÁLNÍ SLUŽBU

Algoritmizace a programování

Speciální způsoby záchrany s využitím vrtulníku

Roury a zprávy Mgr. Josef Horálek

4.5.1 Magnety, magnetické pole

ŠKOLNÍ ŘÁD (určeno žákům a rodičům) Č.j

Určení platu ředitelům škol a školských zařízení zřizovaných statutárním městem Chomutov

KAPITOLA 6.3 POŽADAVKY NA KONSTRUKCI A ZKOUŠENÍ OBALŮ PRO INFEKČNÍ LÁTKY KATEGORIE A TŘÍDY 6.2

STAGE DESK-16 16kanálový dimmer ovladač UŽIVATELSKÁ PŘÍRUČKA

SC 61 detektor kovů baterie 9V (PP3) dobíjecí NI Mh baterie (volitelné příslušenství) nabíječka (volitelné příslušenství)

PŘÍLOHA 1.6 SMLOUVY O PŘÍSTUPU K VEŘEJNÉ PEVNÉ KOMUNIKAČNÍ SÍTI LOGISTIKA KONCOVÝCH ZAŘÍZENÍ

Dřevoobráběcí stroje

Algoritmizace a programování

Alternativy zajištění a jejich uplatňování v České republice

PROVOZNÍ ŘÁD HALY PRO MÍČOVÉ SPORTY KARLOVY VARY

Modelová úloha Splachovač

Společenství pro dům Doležalova č.p , Praha 14

BEZPEČNOSTNÍ ODBĚROVÝ NÁVAREK. BON 9x NÁVAREK PRO MĚŘENÍ TEPLOTY

téma: Formuláře v MS Access

Příloha č. 54. Specifikace hromadné aktualizace SMS-KLAS

Transkript:

Souborové operace Mgr. Josef Horálek

Souborové operace = V unixových systémech a Linuxu platí, že skoro vše je SOUBOR častý výskyt deskriptorů souborů a souborových operací. = Souborové operace umožňují využívat: = Normální soubory a adresáře = Speciální soubory (pevné a symbolické odkazy, roury a fronty, soubory řazení) = Síťové sockety = Další prostředky (inotify, kevent apod.)

Deskriptor souborů (popisovač) = Identifikován číslem (int). = Používá se v rámci procesu pro přístup k otevřenému souboru. = Nezáporné hodnoty pro platné deskriptory = -1 = neplaný deskriptor = První tři patří standardním komunikačním kanálům (0 pro st, vstup; 1 pro st. výstup; 2 pro chybový výstup)

Deskriptor souborů (popisovač) Read(11,buf,blen) 0 1 2 11 12 /dev/stdin /dev/stdout /etc/passwd /var/log/mylog /dev/stderr = Vazba deskriptorů a otevřenými soubory

Otevírání a zavírání souborů = Otevření souboru: = Jádro vytvoří potřebné datové struktury pro přístup do souboru = Označí soubor jako otevřený daným procesem = Proces získá deskriptor pro odkazování na soubor = Po použití nutno soubor vždy zavřít

Otevírací operace = Způsob otevírání závisí na druhu souboru. = Základní operace pro otevírání souborů (normálních a speciálních) je funkce open(). = Otevíraný soubor určujeme cestou (relativní nebo absolutní) a můžeme použít až dva další parametry ovlivňující způsob otevření. Int fd=open( soubor.txt, O_READONLY);

Parametry = Režim přístupu: = O_RDONLY jen ke čtení = O_WRONLY jen k zápisu = O_RDWR k zápisu i čtení = Režim práce se souborem: = O_APPEND zápis na konec souboru = O_NONBLOCK neblokující operace = O_ASYNC asynchronní režim = O_SYNC asynchronní režim = O_NOATIME režim bez aktualizace času přístupu

Parametry = Režim chování funkce: = O_CREAT vytvoření souboru = O_EXCL ochrana exitujícího souboru = O_NOLINK otevření symbolického odkazu místo cílového souboru = O_TRUNC zkrácení souboru na nulovou délku

Zavření otevřeného souboru = Každý otevřený soubor nutno zavřít. = Proč my a ne jádro? = Každý otevřený soubor vyžaduje alokované prostředky v jádře (hlavně fyzickou paměť) = Otevřené soubory se dědí do podprocesů = Nebezpečí nechtěného zápisu do nezavřeného souboru = Počet najednou procesem otevřených souborů je omezený

Zavření otevřeného souboru = Zavření souboru je jednoduché, volá se funkce close() ta vyvolá stejnojmenné systémové volání. = Jako parametr se uvádí platný deskriptor souboru. = Funkce může selhat: = přerušena signálem = problém na zařízení nebo souborovém systému

Zavření otevřeného souboru = Soubory otevřené v podprocesech: = close() neznamená skutečné uzavření souboru jen sníží počet referencí na něj. = Ovladač v jádře pak neprovede následné činnosti ty provede až když soubor zavře poslední proces.

Zavření otevřeného souboru Open( /etc/hosts, O_RDONLY) Otevření souboru (1 reference) fork () Duplikace deskriptoru (2 reference) Práce se souborem Close() Close() Zrušení deskriptoru synchronizace (1 reference) Zrušení deskriptoru synchronizace zavření souboru

Čtení a zápis = Nejčastější operace s otevřeným souborem. = Často zapouzdřeny do operací vyšší úrovně. = Čtení i zápis podobné operace pracují s částí paměti (bufferem), do kterého se načítají nebo ze kterého se zapisují data.

Čtení a zápis = Volání funkce read() čeká, dokud nepřečte nějaká data (ne vždy celý požadovaný objem), nebo nepřijde konec souboru či není přerušeno signálem. = Funkce write() funguje velice podobně, jen data zapisuje. Ne vždy dojde k zápisu najednou, proto je nutné kontrolovat návratovou hodnotu a porovnávat ji s velikostí připravených dat pro zápis.

Pozice v souboru, synchronizace = Při otevření souboru pro zápis nebo čtení je nastavena pozice na začátek souboru. Při použití O_APPEND bude nastavena na konec. = Funkce pro nastavení aktuální pozice je lseek(). Je volána s uvedením deskriptoru, posunu a druhu bázové pozice. = Volby: SEEK_SET pozice od začátku; SEEK_CUR relativní pozice vůči aktuální pozici; SEEK_END relativně vzhledem ke konci. = Funkce pak vrací novou absolutní pozici.

Pozice v souboru Otevřený soubor Aktuální pozice lseek(seek_cur) lseek(seek_end) lseek(seek_set)

Pozice v souboru, synchronizace = Jádro většinou nezapíše souborová data hned není opuštění funkce write() dostatečným potvrzením o ukončení zápisu. = Pro spolehlivý zápis stačí zavolat funkci sync(), která zajistí zápis všech nezapsaných dat v celém systému. = Není-li nutné zapisovat vše stačí použít funkci fsync() - volaná s deskriptorem souboru jako parametrem.

Zamykání souborů = Zamknutím souboru zabráníme přístupu jiných procesů do otevřeného souboru. = Nevynucené zamykání (advisory locking) = Vynucené zamykání (mandatory locking)

Nevynucené zamykání = Vyžaduje spolupráci všech procesů přistupujících k souboru. = Proces se pokusí získat zámek, pokud se mu to provede, drží jej až do uvolnění. = Pokud se mu to nepovede, bude čekat na uvolnění nebo skončí chybou. = Operace: čtení, zápis atd. nejou zámkem ovliněny.

Vynucené zamykání = Nevyžaduje spolupráci procesů, ovliňuje přímo souborové operace. = Ty se buď blokují do odemčení nebo hned selžou.

Rozdíl mezi vynuceným a nevynuceným zamykáním Nevynucené zamykání Vynucené zamykání čas Zamčení procesem 1 Pokus o uzamčení procesem 3 Operace I/O procesem 2 Odemčení procesem 1 Zamčení procesem 3

Další operace na souborech = Vytváření adresářů = Vytváření speciálních souborů = Odstranění souborů a adresářů = Práce s adresářovým stromem = Přejmenování a přesun souborů = Atributy souborů

Další operace na souborech = Vytváření adresářů mkdir() pracuje s relativní cestou vzhledem k aktuálnímu adresáři nebo s absolutní cestou. = Odstranění souborů unlink() maže veškeré soubory, ale ne adresáře. Pro mazání musí mít uživatel právo zápisu do adresáře, kde je soubor umístěn.

Další operace na souborech = rmdir() funkce pro mazání adresářů. = Adresář musí být prázdný. = Nesmí být aktuálně používaným přípojným bodem pro souborový systém. = Nesmí se z pohledu procesu jednat o kořenový adresář.

Další operace na souborech = rename() funkce pro přejmenování/přesun = Jde do značné míry o totéž jedná se pohyb v rámci jednoho souborového systému. = Přesun souboru do jiného adresáře probíhá tak, že se nejdřív vytvoří nový název a pak se odstraní ten starý. = Nemůže tedy nastat situace, že by při selhání souboru zcela zmizel.

Děkuji za pozornost