Systemy operacyjne System plików



Podobne dokumenty
System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

ang. file) Pojęcie pliku (ang( Typy plików Atrybuty pliku Fragmentacja wewnętrzna w systemie plików Struktura pliku

System plików. Warstwowy model systemu plików

Tworzenie pliku Zapisywanie pliku Czytanie pliku Zmiana pozycji w pliku Usuwanie pliku Skracanie pliku

System plików warstwa logiczna

System plików przykłady. implementacji

SYSTEMY OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

System plików przykłady implementacji

dr inż. Jarosław Forenc

Systemy plików i zarządzanie pamięcią pomocniczą. Struktura pliku. Koncepcja pliku. Atrybuty pliku

System plików. Atrybuty pliku. Typy plików. Pojęcie pliku (ang. file) Zadania systemu operacyjnego. Struktura pliku. Dariusz Wawrzyniak 1

System plików. Systemy operacyjne System plików 1. Pojęcie pliku (ang. file)

Pliki. Operacje na plikach w Pascalu

System plików. - warstwa logiczna. - warstwa fizyczna. - przykłady implementacji. Systemy operacyjne Wykład 6 1

System plików i zarządzanie pamięcią pomocniczą. Koncepcja pliku. Atrybuty pliku. Struktura pliku. Typ pliku nazwa, rozszerzenie (extension)

System plików. dr inż. Krzysztof Patan. Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski

16MB - 2GB 2MB - 128MB

obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora)

Podstawowe wiadomości o systemach plików.

System plików. System plików. Operacje plikowe. Inne operacje. Typy plików. Typy dostępu do plików

Obsługa plików. Systemy Operacyjne 2 laboratorium. Mateusz Hołenko. 25 września 2011

System plików. Definicje:

Biblioteka standardowa - operacje wejścia/wyjścia

Pliki. Funkcje tworzące pliki i operujące na nich opisane są w części 2 pomocy systemowej. Tworzenie i otwieranie plików:

Funkcje zawarte w bibliotece < io.h >

4. Pliki Informacje ogólne o dostępie do plików w PHP Sprawdzanie istnienia pliku file_exists()

Pliki. Informacje ogólne. Obsługa plików w języku C

Funkcje zawarte w bibliotece < io.h >

Struktura i funkcjonowanie komputera pamięć komputerowa, hierarchia pamięci pamięć podręczna. System operacyjny. Zarządzanie procesami

1. Pliki i ich organizacja

System plików warstwa fizyczna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

KOMPONENTY SYSTEMÓW OPERACYJNYCH

Bazy danych. Plan wykładu. Model logiczny i fizyczny. Operacje na pliku. Dyski. Mechanizmy składowania

Sektor. Systemy Operacyjne

Wbudowane systemy operacyjne

PODSTAWY BAZ DANYCH Wykład 6 4. Metody Implementacji Baz Danych

Operacje na plikach. Organizacja systemu plików. Typy plików. Struktury plików. Pliki indeksowane. Struktura wewn etrzna

Technologie informacyjne (3) Zdzisław Szyjewski

Zaawansowane funkcje systemów plików. Ewa Przybyłowicz

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

Programowanie w językach

wykład Organizacja plików Opracował: dr inż. Janusz DUDCZYK

Operacje na plikach. Informatyka. Standardowe strumienie wejścia i wyjścia

Fizyczna organizacja danych w bazie danych

System plików przykłady implementacji. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

1. Podstawy...P Polecenia podstawowe...p... 18

sprowadza się od razu kilka stron!

Technologie informacyjne (3) Zdzisław Szyjewski

System plików warstwa logiczna. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

UNIX SYSTEM PLIKÓW. UNIX System plików

dr inż. Jarosław Forenc

Laboratorium Systemów Operacyjnych. Ćwiczenie 4. Operacje na plikach

Zarządzanie wolną przestrzenią

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

Pliki i systemy plików

Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Strumienie i pliki. Programowanie Proceduralne 1

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Organizacja systemu plików

Celem wykładu jest prezentacja różnych podejść do implementacji systemu plików. Podejścia opierają się na założeniu, że urządzeniem składowania

System plików JFS. 1 Najważniejsze informacje. Mateusz Zakrzewski. 18 stycznia JFS to skrót od Journalled File System.

ISO/ANSI C dostęp do plików ISO/ANSI C. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików. ISO/ANSI C dostęp do plików

Systemy plików FAT, FAT32, NTFS

Jarosław Kuchta. Administrowanie Systemami Komputerowymi. System plików

Wykład 4. Tablice. Pliki

PAMIĘĆ OPERACYJNA...107

Zarządzanie dyskowymi operacjami we-wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc. systemy plików (NTFS, ext2)

Pliki. Informacje ogólne. Obsługa plików w języku C

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Administracja systemem Linux p. 1

Powłoka I. Popularne implementacje. W stylu sh (powłoki zdefiniowanej w POSIX) W stylu csh. bash (najpopularniejsza) zsh ksh mksh.

Architektura komputerów

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

Lekcja 10. Uprawnienia. Dołączanie plików przy pomocy funkcji include() Sprawdzanie, czy plik istnieje przy pmocy funkcji file_exists()

Programowanie w językach wysokiego poziomu

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Struktura dysku. Dyski podstawowe i dynamiczne

Podstawy programowania w języku C++

Podstawy programowania w języku C++

Materiały pomocnicze 1

Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński

Architektura komputerów

Instrukcja do laboratorium Systemów Operacyjnych (semestr drugi)

System operacyjny UNIX system plików. mgr Michał Popławski, WFAiIS

Argumenty wywołania programu, operacje na plikach

Laboratorium z systemów operacyjnych. System plików - funkcje systemowe. Anna Wojak

Zarządzanie wolną przestrzenią

Struktura systemów komputerowych

O historycznym systemie DOS. R. Robert Gajewski omklnx.il.pw.edu.pl/~rgajewski

4. Procesy pojęcia podstawowe

Zarządzanie pamięcią operacyjną

7 Przygotował: mgr inż. Maciej Lasota

DODATEK A OPIS INTERFEJSU SIECIOWEGO FMP300

Wykład PASCAL - Pliki tekstowe

Systemy Operacyjne Pamięć masowa

Jak wiemy, wszystkich danych nie zmieścimy w pamięci. A nawet jeśli zmieścimy, to pozostaną tam tylko do najbliższego wyłączenia zasilania.

Transkrypt:

Systemy operacyjne System plików Dr inż. Dariusz Caban mailto:dariusz.caban@pwr.wroc.pl tel.: (071)320-2823 Pamięci o bezpośrednim dostępie powierzchnia/głowica sektor cylinder/ścieżka Przykłady: HDD, FD, CD, PenDrive Zapis/odczyt pełnymi rekordami Adresacja (sektor,cylinder,powierzchnia) 1

Pliki Zbiór powiązanych ze sobą danych na dysku Atrybuty pliku Nazwa i rozszerzenie (jednoznaczne) Data utworzenia, dostępu, modyfikacji Wielkość i położenie na dysku Atrybuty własności i prawa dostępu Format zawartości Pliki tekstowe Pliki binarne (np. programy, obrazy) Pliki z rekordami stałej wielkości Pliki z rekordami zmiennej długości Metody dostępu do plików Odczyt / zapis / dopisywanie oraz mieszany odczyt/zapis Dostęp sekwencyjny Zapis i odczyt w ustalonej kolejności Licznik sekwencyjny wskazuje pozycję w pliku Dostęp do rekordu wymaga odczytania wszystkich rekordów poprzedzających W praktyce najczęściej stosowana metoda dostępu Dostęp bezpośredni (swobodny) Rekordy czytane/zapisywane w dowolnej kolejności Pliki mogą zawierać dziury, tzn. obszary nie zapisane i często nie przydzielone Typowo stosowany w bazach danych 2

Katalogi Katalog - spis plików w systemie plików (wszystkich lub wybranej grupy) Pliki ukryte - występują w katalogu, ale ich obecność nie jest ujawniana standardowymi komendami Pozycja katalogowa Opis położenia pliku na dysku Zawiera wartości atrybutów lub wskazania na nie Rekord stałej wielkości Katalog główny Nie ma nazwy Ma wydzielone miejsce na dysku Normalnie stałej wielkości Jednopoziomowa struktura katalogów Po jednym katalogu na partycję dysku (system plików) Hierarchiczna struktura katalogów Dwupoziomowa struktura katalogów Zachowany 1 katalog o stałym położeniu na dysku Komenda listująca pokazuje tylko pliki aktualnego użytkownika Wyróżniony identyfikator plików wspólnych Struktura hierarchiczna Jeden katalog główny (bez nazwy, stałej wielkości) Podkatalogi Pliki z rekordami stałej długości Rekord = pozycja katalogowa Muszą występować w innym katalogu Katalog nadrzędny 3

Przykład plików i katalogów Katalog główny Plik normalny Podkatalog Podkatalog Plik normalny Plik normalny Ścieżka dostępu Człony ścieżki od / do / Każdy określa podkatalog kolejnego poziomu Ścieżka bezwzględna Rozpoczyna się od katalogu głównego Pierwszy znak / lub \ /home/students/aktos Ścieżka względna Rozpoczyna się od katalogu bieżącego (roboczego). Pierwszy znak inny niż / lub \ Może wymagać wskazań na katalog nadrzędny Pozycja..../../home/students/aktos Ścieżka bezwzględna jednoznaczna 4

Ogólna struktura katalogów Nazwa 1 Podkat. Nazwa 1 Plik Nazwa 3 Dow. symboliczne Nazwa 2 Dowiązanie symboliczne (skrót) Pozycja zawiera ścieżkę do pliku Dowiązanie twarde Wskazuje na zawartość pliku Kasowanie pliku nie usuwa zawartości Dowiązania do katalogów niebezpieczne Bloki alokacji Linearyzacja przestrzeni adresowej (sektor, cylinder, powierzchnia) numer kolejne rekordy muszą być położone blisko numer = sektor + Lsekt (powierzchnia + Lpow cylinder) przeplot sektorów Jednostka przydziału miejsca na dysku Podstawowa jednostka przydziału pamięci - blok alokacji Typowo wielokrotność rekordu fizycznego Ograniczenie długości numeru (np. 16 bitów) 5

Wielkość bloku alokacji Wielkość systemu plików (dysku) wielkość SP wielkość 2długość numerów Ograniczenie wielkości przez podział dysku na dyski logiczne (partycje, systemy plików) Fragmentacja wewnętrzna straty będące konsekwencją przydziału miejsca porcjami stałej wielkości (blokami alokacji) 0,5 wielkość liczba plików, gdy pliki > nawet 90% dysku, gdy dużo małych plików Przykład fragmentacji wewnętrznej Przykładowy system plików = 256 MB Numeracja bloków 16-to bitowa Minimalna wielkość = 256 220 216 bajtów = 4 kb Przykładowo pliki: 1 kb, 6 kb, 5 kb 3 kb 2 kb 3 kb 6

Przydział ciągły miejsca na dysku Pliki zajmują zawsze kolejne bloki alokacji Położenie opisuje para <nr 1-go bloku, długość> Problem wyboru obszaru Pierwszy pasujący Najlepiej pasujący Najgorzej pasujący Fragmentacja zewnętrzna Problem predykcji wielkości pliku Fragmentacja zewnetrzna Plik 1 Plik 2 Plik 3 Plik 4 Plik 5... Kasowanie 2 i 4 Plik 1 Plik 3 Plik 5... Zapis nowego pliku k Plik 1 Plik k Plik 3 Plik 5... Zapis nowego pliku m Plik 1 Plik k Plik 3 Plik m Plik 5... Fragmentacja Plik 1 Plik k Plik 3 Plik m Plik 5... 7

Przydział listowy Obszary rozłączne, zaopatrzone w nagłówki Nagłówek obszaru zawiera długość i wskazanie następnego Eliminuje problem predykcji długości i ogranicza fragmentację zewnętrzną (eliminowałby, gdyby segmenty dowolnie małe) Plik opisany parą <adres 1-go obszaru, liczba bloków> Początek pliku segment 1 s. 2 s. 3 Przydział indeksowy Przydział indeksowy Plik opisany tablicą kolejnych przydzielonych Przydział z pośrednim indeksowaniem Mniejsza tablica indeksowa Dodatkowe operacje odczytu Indeks 1... Indeks k... Pośredni 1 Indeks p... k p 8

Informacja o wolnych blokach Mapa zajętości tworzona w RAM analiza położenia wszystkich plików w systemie operacja przyłączenia/otwarcia systemu plików brak operacji zamknięcia (odporność na upadek systemu) Mapa zajętości dysku (wydzielony obszar dysku) mapa wczytywana do RAM przy otwieraniu systemu plików i składowana przy zamykaniu odrębny obszar stałej wielkości na dysku, może być duży system plików może utracić spójność Plik wolnych bloków Lista wolnych bloków Prosta lista powiązana Lista grupowana 3 Lista zliczana * * 9

Buforowanie operacji dyskowych Uniezależnienie od wielkości rekordów Odczyt Rekord fizyczny Pojedyncze bajty Buforowanie operacji dyskowych Uniezależnienie od wielkości rekordów Zapis Rekord fizyczny Pojedyncze bajty 10

Buforowanie zrównoleglenie i minimalizacja operacji dyskowych Asynchroniczny odczyt/zapis bufora Minimalizacja liczby operacji Zwiększenie liczby buforów Opóźnienie operacji zapisu na dysk Powstaje pula buforów wolnych zajętych przez określone rekordy fizyczne zawierających jedyną aktualną wartość rekordu, jeszcze nie zapisaną na dysk Problem odłączania systemu plików Buforowanie planowanie operacji dyskowych Kolejkowanie zleceń operacji dyskowych - możliwe dzięki modularności zleceń System zmienia kolejność realizacji dostępów minimalizuje ruch głowic dopuszczalne granice odsuwania operacji w czasie Możliwość implementacji wielowątkowych sterowników szczególnie z dyskami SCSI Matryce dyskowe RAID 11

Operacje w systemie plików Sekwencja otwarcia, we/wy, zamknięcia handle = open(ścieżka, tryb, uprawnienia) handle = creat(ścieżka, uprawnienia) licz_bajtów = read/write(handle, adres, l_bajtów) close(handle) Dostęp bezpośredni lseek(handle, offset, odkąd) Buforowanie w programie funkcje strumieniowe fopen, fclose, fread, fwrite Przykłady czytania sekwencyjnego int hd; M_TP buf[200]; hd = open( nazwa, O_RDONLY); if(hd<0) error(); read(hd, buf, sizeof(buf)); close(hd); int hd, n; M_TP buf[200]; hd = open( nazwa, O_RDONLY); if(hd<0) error(); for(n=0; n<200; n++) if(read(hd, &buf(n), sizeof(m_tp))<=0) break; close(hd); 12

Przełączanie strumieni standardowych Każdy proces ma 3 strumienie standardowe otwarte od chwili utworzenia procesu stdin, stdout, stderr Przełączanie w linii komendy: komenda <plik_we >plik_wy Przetwarzanie potokowe komend wyjście stdout komendy pierwszej przesyłane na wejście stdin do drugiej komendy pośredni plik roboczy komenda_1 komenda_2 Przetwarzanie potokowe procesy współbieżne Komendy uruchomione współbieżnie Plik specjalny - kolejka FIFO (pipe) Plik o ograniczonej długości Dostęp przez 2 liczniki sekwencyjne: odczytu i zapisu liczniki działają cyklicznie po dojściu do końca pliku są automatycznie zerowane Synchronizowany dostęp próba zapisu, gdy licznik zapisu dogoni licznik odczytu, zawiesza proces zapisujący próba odczytu, gdy licznik odczytu dogania licznik zapisu, zawiesza proces czytający Buforowanie plików Kolejka nie zapisywana na dysk 13

Model ochrony plików FAT system plików bez ochrony Atrybuty READ-ONLY, SYSTEM, HIDDEN UNIX, MINIX, EXT? Właściciele plików: użytkownik, grupa Atrybuty Odczyt (r), zapis (w), wykonanie (x) Zakres stosowania Właściciel, Grupa, Inni Użytkownik root nieograniczony dostęp Mechanizm tymczasowego nadawania uprawnień» Atrybut SUID Model ochrony z listami ACL Atrybutem pliku/katalogu lista ACL Dowolnej długości lista rekordów ACE Rekord ACE AccessDenied lub AccessAllowed Identyfikator użytkownika lub grupy Rodzaj dostępu odczyt zapis wykonanie (lub dostęp do katalogu) kasowanie zmiana praw przejęcia własności Obiekty kontenerowe obiekty w nich mogą dziedziczyć ACL Właściciel pliku może zmienić ACL 14