Wbudowane systemy operacyjne

Podobne dokumenty
dr inż. Jarosław Forenc

Systemy plików FAT, FAT32, NTFS

16MB - 2GB 2MB - 128MB

Sektor. Systemy Operacyjne

System plików przykłady. implementacji

System plików przykłady implementacji

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

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

Struktura dysku. Dyski podstawowe i dynamiczne

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

1. Pliki i ich organizacja

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

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

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

System plików. Definicje:

System plików. Warstwowy model systemu plików

dr inż. Jarosław Forenc

Zarządzanie wolną przestrzenią

Podstawowe wiadomości o systemach plików.

Architektura komputerów

Tworzenie partycji i dysków logicznych

System plików Linuksa

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

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

Systemy operacyjne System plików

Zarządzanie wolną przestrzenią

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

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

NTFS omówienie systemu plików. autor: Julian Krzemiński Źródła:

dr inŝ. Jarosław Forenc

System plików NTFS. Charakterystyka systemu plików NTFS

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

Administracja systemem Linux

Charakterystyka systemów plików

Architektura Komputerów

PAMIĘĆ OPERACYJNA...107

Systemy operacyjne i sieci komputerowe Szymon Wilk Partycjonowanie 1

dr inż. Jarosław Forenc

Materiały pomocnicze 1

SYSTEMY OPERACYJNE WYKŁAD 5 OBSŁUGA PAMIĘCI MASOWYCH

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

Architektura systemów informatycznych. Systemy plików

MANAGER 2010 PROFESSIONALP VS. VIRTUALIZATION WIRTUALIZACJA OBSŁUGIWANE ANAGER 2010 C MANAGER 2010 CORPORATE: Funkcja. Korzyści.

System operacyjny. dr inż. Jarosław Forenc. definicja systemu operacyjnego zarządzanie procesami zarządzanie dyskowymi operacjami we-wy

Steganograficzny system plików

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

Cele RAID. RAID z ang. Redundant Array of Independent Disks, Nadmiarowa macierz niezależnych dysków.

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

dr inż. Jarosław Forenc

Zarządzanie dyskowymi operacjami we-wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc

Zespół Szkół Technicznych w Suwałkach. Pracownia Systemów Komputerowych. Ćwiczenie Nr 4. SYSTEMY PLIKÓW cz. I. Opracował Sławomir Zieliński

Porównanie systemów plików ze względu na możliwość odzyskania utraconych danych.

System plików warstwa logiczna

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

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

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

ZADANIE nr 4 Sprawdzian z informatyki

Bezpieczeństwo systemów komputerowych - wykład V i VI

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

Zarządzanie partycjami

Administracja systemem Linux p. 1

Systemy operacyjne. System operacyjny Linux - wstęp. Anna Wojak

Architektura komputerów

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

Pliki i systemy plików

Komputer. Komputer (computer) jest to urządzenie elektroniczne służące do zbierania, przechowywania, przetwarzania i wizualizacji informacji

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

Optymalizacja wydajności dysków pendrive. Cluster alignment.

Dział Dopuszczający Dostateczny Dobry Bardzo dobry Celujący

Schematy zarzadzania pamięcia

Sortowanie zewnętrzne

Partition Wizard Home Edition Aplikacja przeznaczona do partycjonowania dysków twardych, obsługująca również macierze RAID oraz dyski o pojemności

Dyski SSD a systemy plików

Ćwiczenie Nr 7 Instalacja oraz konfiguracja wskazanego systemu operacyjnego

Partycje bez tajemnic

Informatyka 2. Wykład nr 7 ( ) Politechnika Białostocka. - Wydział Elektryczny. dr inŝ. Jarosław Forenc

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

< K (2) = ( Adams, John ), P (2) = adres bloku 2 > < K (1) = ( Aaron, Ed ), P (1) = adres bloku 1 >

Wstęp do Informatyki. Reprezentacja liczb w komputerze Arytmetyka stało- i zmiennoprzecinkowa Przechowywanie danych pliki i foldery

Lokalne systemy plików

System plików ReiserFs

Systemy operacyjne i sieci komputerowe. 1 SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE. Etapy uruchamiania systemu

Przed restartowaniem routera odłącz wszystkie urządzenia podłączone pod porty USB.

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

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Algorytmy i struktury danych Laboratorium Nr 4

Tworzenie oraz przywracanie obrazu systemu Windows 7

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Przydziały (limity) pojemności dyskowej

Algorytmy i. Wykład 5: Drzewa. Dr inż. Paweł Kasprowski

Systemy Operacyjne. Część II Zarządzanie/Administracja Systemem. Wykład 4: Przestrzeń dyskowa. autor: mgr inż. Andrzej Woźniak

1.Komputer na co dzień jest wykorzystywany w księgowości małej firmy. 2.W chwili naprawy komputer jest odłączony od Internetu i od sieci lokalnej.

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

Państwowa Wyższa Szkoła Zawodowa w Gorzowie Wlkp. Laboratorium architektury komputerów

Zarządzanie pamięcią operacyjną

Działanie komputera i sieci komputerowej.

Transkrypt:

Wbudowane systemy operacyjne

Wbudowane systemy operacyjne System Plików Dr inż. Damian Radziewicz Wrocław 2018

Plan wykładu Systemy Plików Podstawowe pojęcia budowa dysku System FAT System NTFS System ext 3

Podstawowe pojęcia System plików - sposób zapisu informacji na dyskach komputera. System plików jest ogólną strukturą, w której pliki są nazywane, przechowywane i organizowane. Zadania systemu plików: rozsądną strukturyzację danych tj. umieszczenie danych w plikach, plików w katalogach możliwie szybki dostęp do danych podstawowe operacje na danych (tworzenie, modyfikacja, usuwanie) bezpieczeństwo danych Dodatkowo powinien przechowywać dane: czas utworzenia modyfikacji pliku prawa własności prawa dostępu do pliku pewne atrybuty pliku (np. read-only, hidden etc.) 4

Podstawowe pojęcia Cylinder wszystkie ścieżki płaszczyzny przecinającej płytki z naniesioną na nich substancją magnetyczną (ścieżki o tych samych numerach położone na kolejnych talerzach pakietu). Sektor to najmniejsza fizycznie jednostka przechowywania danych na dyskach twardych. Wszystkie sektory na dyskach twardych mają ten sam rozmiar. Sektory są tworzone fabrycznie, podczas procesu formatowania niskiego poziomu. Klaster to podstawowa (najmniejsza) jednostka przechowywania danych, składająca się z kilku sektorów. Standard CHS standardowy sposób numerowania cylindrów, głowic, sektorów (cylindry i głowice od 0, sektory od 1). Sektor Ścieżka 5

Podstawowe pojęcia Partycja jest to wydzielona do określonych celów (np. dla określonego systemu operacyjnego) część twardego dysku. podstawowa - na niej można zainstalować system operacyjny. Zwykle mamy do czynienia z jedną partycją podstawową na dysku. Tabela partycji umieszczana w sektorze MBR (Master Boot Record specjalny sektor rozruchowy, znajdujący się tylko na jednym dysku, z którego jest uruchamiany system operacyjny) ma miejsce na cztery tego rodzaju partycje, rozszerzona - stanowi odmianę partycji podstawowej, ale jej zadaniem jest "przechowywanie" tzw. dysków logicznych. Służy do ominięcia limitu czterech partycji podstawowych. Dzięki partycji rozszerzonej można w ramach jednego napędu fizycznego utworzyć praktycznie dowolną liczbę partycji (tzw. dysków logicznych), dyski logiczne - dzielą jedną partycję rozszerzoną na części. 6

FAT / FAT16 / FAT32 Budowa systemu plików Boot sector FAT Kopia FAT Root directory Obszar danych Pierwszy sektor na każdym dysku (CHS=001) to MBR (główny sektor bootujący). MBR składa się z dwóch części: I. umieszczonego na początku kodu wykonywalnego II. tablicy partycji. MBR kończy się sygnaturą 55 AA 7 Tablica partycji złożona jest z czterech rekordów o długości 16 bajtów każdy. W rekordach może być zapisana informacja maksymalnie o czterech partycjach podstawowych (albo o maksymalnie trzech partycjach podstawowych i jednej rozszerzonej). Każdy rekord ma następującą strukturę: pierwszy bajt określa stan partycji (aktywna to 80, nieaktywna to 00) trzy bajty (nr 2, 3, 4) to adres początkowy w formacie CHS piąty bajt to identyfikator (ID), który określa typ partycji (FAT, NTFS, ext2, itp.) trzy następne bajty (nr 6, 7, 8) to adres końcowy w formacie CHS cztery bajty (nr 9, 10, 11) to podana w sektorach odległość między początkiem dysku a początkiem partycji ostatnie cztery bajty to rozmiar partycji, określany jako liczba zajmowanych (alokowanych) przez nią sektorów.

FAT / FAT16 / FAT32 FAT (ang. File Alloccation Table) określa rozmieszczenie plików, katalogów i wolnej przestrzeni na dysku twardym. Tabela ta zawiera spis wszystkich jednostek alokacyjnych (klastrów) całej partycji. Kopia FAT - ze względu na dużą wartość informacji przechowywanych w tablicy warto zabezpieczyć sie na wypadek zniszczenia oryginalnej tablicy (lub jej części) poprzez duplikacje danych na niej umieszczonych. Wadą jest położenie obu tablic obok siebie! Root directory - jest to katalog główny systemu plików, występuje w ustalonym miejscu w partycji. 8

FAT / FAT16 / FAT32 Obszar danych - pliki (i katalogi) umieszczone w klastrach (jeden lub więcej klastrów przypadających na plik). Reprezentowane są jako ciąg bajtów, jeśli nie wystarcza klastra kolejne są w następnym itd. Za poprawność operacji następnika odpowiedzialna jest tablica FAT. Katalogi są to pliki specjalnej postaci. Katalog jest podzielony na małe struktury nazywane wpisami. Każdy wpis ma rozmiar 32 bajtów i jest informacją o katalogu bądź pliku, zawartym w naszym katalogu. Wpis zawiera pola: 9 8 bajtów - nazwa pliku, 3 bajty - rozszerzenie, 1 bajt - atrybuty pliku: read-only, tylko do odczytu / hidden, ukryty / system, plik systemowy / volume label, tak jest oznaczony jeden plik w katalogu głównym, jego nazwa jest nazwą dysku / subdirectory, czy jest to katalog / archive, plik, który trzeba skopiować przy następnej kopi zapasowej / device, plik reprezentuje urządzenie / unused, nie używane 1 bajt - wielkość liter nazwy i rozszerzenia pliku, 1 bajt - czas utworzenia w milisekundach, 2 bajty - czas utworzenia, 2 bajty - data utworzenia, 2 bajty - czas ostatniego dostępu, 2 baty - zarezerwowane, 2 bajty - czas utworzenia lub ostatniej modyfikacji pliku, 2 bajty - data utworzenia lub ostatniej modyfikacji pliku, 2 bajty - numer klastera gdzie rozpoczyna się plik, 4 bajty - rozmiar pliku.

FAT / FAT16 / FAT32 Limity systemów plików FAT FAT16 FAT32 Rozmiar wpisu w tablicy FAT 16 bitów 28 bitów Max liczba klastrów na partycji 2^16 2^28 Min rozmiar klastra 2 KB 4 KB Max rozmiar klastra 32 KB 32 KB Max rozmiar partycji 2 GB 2 TB 10 Wady systemów plików FAT sekwencyjny dostęp do plików podatność na awarie nieefektywny na dużych partycjach ubogie wsparcie dla metadanych (m.in brak uprawnień dla plików) Brakuje jeszcze kilku rzeczy: wiecęj informacji o samych danych (metadane) możliwość ustalania ograniczeń dla poszczególnych użytkowników (quota) zagwarantowanie bezpieczeństwa danych jak również metadanych dowiązania symboliczne wiele strumieni danych

NTFS New Technology File System NTFS powstał aby wyeliminować problemy i wady systemów FAT. Główne założenia systemu: Niezawodność - duża tolerancja błędów przy zagwarantowaniu bezpieczeństwa danych. Bezpieczeństwo i kontrola dostępu - system praw dostępu. Przełamanie bariery rozmiaru - rozmiar partycji ograniczony jedynie wymiarem dysku, macierze RAID (Redundant Arrays of Inexpesive Disks). Efektywność - lepsze wykorzystanie dostępnej pamięci dzięki nowym rozwiązaniom alokującym pamięć. Długie nazwy plików - do 255 znaków dopuszczające także znaki diakrytyczne. Sieciowość - właściwości ułatwiające korzystanie z sieci. 11

NTFS W odróżnieniu od FAT wszystkie dane są przechowywane jako pliki i rozróżniamy: o zwykłe pliki o pliki z metadanymi (zawiera informacje o danych) o foldery Najważniejszy plik z metadanymi to Master File Table (MFT) jest tablicą w której każdy wpis reprezentuje plik (zadanie podobne jak FAT). MFT MFT zone Obszar plików Obszar plików Kopia pierwszych 16 wpisów MFT 12

NTFS MFT podzielony jest na rekordy o ustalonej wielkości (często 2 KB). Pierwszych 16 rekordów ma swoją kopię na środku lub końcu dysku. 13 Inode Nazwa Opis 0 $MFT Master File Table - spis wszystkich plików 1 $MFTMirr Kopia zapasowa pierwszych 16 rekordów MFT. Zazwyczaj usytuowana w logicznym środku dysku. 2 $LogFile Dziennik transakcji 3 $Volume Informacje o partycji. Jedyny plik, który używa atrybutów $VOLUME_NAME i $VOLUME_INFORMATION 4 $AttrDef Definicje atrybutów 5. (dot) Katalog główny 6 $Bitmap Mapa bitowa wszystkich klastrów dysku (wolny/zajęty). 7 $Boot Boot record 8 $BadClus Lista uszkodzonych klastrów. 9 $Secure Lista wszystkich zabezpieczeń nałożonych na pliki na dysku. 10 $UpCase Tablica służąca do zamiany małych liter na duże. 11 $Extend Katalog zawierający pozostałe pliki systemowe: $ObjId - lista unikalnych identyfikatorów dla wszystkich plików. $Quota - informacja o quocie. $Reparse - spis reparse points. $UsnJrnl - dziennik enkrypcji. 12 15 <Unused> Puste

NTFS Przechowywanie plików: o Jeśli plik jest mały tj. łączny rozmiar zawartości jego atrybutów nie przekracza rozmiaru jednego wpisu do MFT to całość jest tam przechowywana. o Dla nieco większych plików zamiast samych danych w MFT jest przechowywana lista wskaźników do klastrów zawierających te rzeczy np. atrybut $DATA zawiera numery klastrów gdzie faktycznie są te dane. o Jeśli dane są naprawdę duże (na tyle ze same wskaźniki do nich nie zmieszczą sie w jednym rekordzie MFT) to trzymany jest wskaźnik do miejsca gdzie przetrzymywane są wskaźniki. 14 Hard links Twarde dowiązania implementuje się nadając plikowi kilka różnych atrybutów $FILE_NAME. Nazwa tego atrybutu jest równoznaczna z nazwą pliku. Data streams Wielokrotne wystąpienie atrybutu $DATA dla jednego pliku umożliwia zapisanie w jednym pliku wielu strumieni danych. Podstawową zawartość pliku określa nienazwane wystąpienie atrybutu $DATA, natomiast do innych strumieni w pliku można się odwoływać poprzez łańcuch "nazwa_pliku:nazwa_strumienia" (gdzie nazwa_strumienia jest nazwą odpowiedniego atrybutu $DATA).

NTFS Katalogi podobnie jak w FAT, traktowane są jak zwyczajne pliki, z tą róznicą że zawartość katalogu jest trzymana w B+ drzewie, co znacząco przyspiesza wyszukiwanie. Transakcyjność i kronikowanie Modyfikacje danych takie jak np. kopiowanie często wymagają więcej niż jednej operacji na dysku. Awaria (np. utrata zasilania) podczas wykonywania tych operacji może powodować rozspójnienie danych na dysku. Każda operacja przed wykonaniem jest zapisywana do dziennika $LogFile. Jeśli nastąpi awaria podczas wykonywania tej operacji, przy ponownym montowaniu partycji sprawdzane jest czy wszystkie zapisane w dzienniku operacje zakończyły sie sukcesem. Jeśli tak nie było wycofywano skutki częściowo dokonanych zmian. Co 8 sekund do dziennika jest zapisywany tzw. check-point, co oznacza że wszystkie wcześniejsze wpisy do dziennika są w porządku. To co sie faktycznie zmieniło zapisywane jest w dzienniku zmian (Change Journal) zaraz po fizycznym dokonaniu zmiany. Dzięki temu można określić co sie zmieniło, przy wycofywaniu tranzakcji. 15

ext / ext2 / ext3 / ext4 Ext2 (ang. Second Extended File System) jest podstawowym i najszerzej używanym systemem plików dla Linuxa. Jest bardzo efektywny w typowych zastosowaniach, a równocześnie stosunkowo prosty. Jest uważany za jeden z najlepszych "standardowych" systemów plików. Zapewnia wszystkie elementy systemu plików Unix (dowiązania symboliczne, pliki specjalne, prawa dostępu...) Wysoka wydajność dzięki przeciwdziałaniu fragmentacji (poprzez przydzielanie bliskich bloków oraz prealokację) Wydajny mechanizm dowiązań symbolicznych Stabilny i dobrze przetestowany Dobrze zdefiniowany sposób dodawania rozszerzeń Niezależny od tworzącego systemu operacyjnego (wszystkie pola wielobajtowe zapisane w standardzie littleendian) Maksymalny rozmiar partycji to 4TB, a pojedynczego pliku 2GB. Maksymalna długość nazwy pliku: 255 znaków. Obsługa "dziurawych" plików (nieużywane bloki nie zostają przydzielone). 16

ext / ext2 / ext3 / ext4 Partycja systemu plików ext2 podzielona jest na bloki o rozmiarze 1024, 2048 lub 4096 bajtów. Kolejne bloki połączone są w grupy, których rozmiar zależy od wybranego rozmiaru bloku. Grupa składa się z: Superbloku opisujący cały system plików Deskryptorów grup opisujące sumaryczne informacje o wszystkich grupach Mapy bitowej bloków każdy bit mapy odpowiada jednemu blokowi, jeśli jest ustawiony to blok jest zajęty Mapa bitowa i-węzłów opisuje zajętość i-węzłów w danej grupie Tablica i-węzłów bloki, w ramach których przydzielane są metryczki plików (i-węzły) Bloków danych 17

ext / ext2 / ext3 / ext4 Superblok 1. Rozmiar bloku 2. Liczby wszystkich oraz wolnych bloków i i-węzłów 3. Stan systemu plików (czy został poprawnie zamknięty) 4. Licznik zamontowań i data ostatniego sprawdzenia - pozwalają wymusić sprawdzenie integralności danych co pewien czas 5. Wersja systemu plików - zbiór 3 różnych kategorii rozszerzeń, w zależności od stopnia wprowadzanych przez nie niezgodności: COMPAT - zmiany należące do tej kategorii są zupełnie przejrzyste dla starszych wersji RO_COMPAT - zmiany te nie powodują błędów przy odczycie, ale zapis w takim systemie przez wersję nie obsługującą rozszerzenia spowodowałby uszkodzenie danych. Stara wersja może używać takiej partycji w trybie tylko do odczytu INCOMPAT - wprowadzone zmiany są na tyle poważne, że próba użycia systemu plików przez starszą wersję może skończyć się błędem. 18

ext / ext2 / ext3 / ext4 Deskryptory grup Jest to tablica rekordów, po jednym dla każdej grupy, opisujących sumaryczne dane (m.in. liczbę wolnych i- węzłów i bloków). Informacje te są używane podczas przydzielania bloków. I-węzły I-węzeł opisuje wszystkie atrybuty obiektu zapisanego w systemie plików, poza jego nazwą. Są to: Dowiązania do bloków danych (12 bezpośrednich i po jednym pojedynczo, podwójnie i potrójnie pośrednim) Prawa dostępu Właściciel (użytkownik i grupa) Typ obiektu i różne flagi Rozmiar obiektu i liczba używanych przez niego bloków Data dostępu, modyfikacji, zmiany metadanych i skasowania obiektu Liczba dowiązań (wpisów katalogu odwołujących się do tego i-węzła) Dodatkowe informacje (wersja, Access Control List, Extended Attributes) 19

ext / ext2 / ext3 / ext4 Katalogi Są zorganizowane jako standardowe pliki rekordów zmiennej długości. Zapisane są więc w tej samej przestrzeni, co bloki zwykłych plików. Każdy rekord zawiera pole określające jego długość, co pozwala "przeskakiwać" nad dziurami powstałymi po usunięciu krótkich wpisów. Poza tym rekordy zawierają nazwę pliku oraz numer jego i-węzła. W nowszych wersjach systemu ext2 także typ obiektu (plik, katalog, plik specjalny, dowiązanie symboliczne) zapisywany jest w katalogu. Pozwala to ograniczyć liczbę wczytywanych i-węzłów w operacjach przeszukiwania katalogu. ext3 Udostępnia trzy sposoby journallingu: samych metadanych danych i metadanych samych metadanych, ale z wcześniejszym zapisywaniem bloków danych (zwany ordered, jest to sposób domyślny) ext4 Zwiększono wydajność operacji dyskowych poprzez umożliwienie operowania na większej liczbie bloków 20

21 Koniec