Schemat systemu komputerowego

Podobne dokumenty
Zarządzanie wolną przestrzenią

Zarządzanie wolną przestrzenią

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

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

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików przykłady. implementacji

System plików przykłady implementacji

dr inż. Jarosław Forenc

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

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

System plików warstwa logiczna

System plików. Warstwowy model systemu plików

Sektor. Systemy Operacyjne

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

System plików. Definicje:

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

Systemy operacyjne System plików

Wbudowane systemy operacyjne

System plików Linuksa

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Działanie systemu operacyjnego

Zarządzanie pamięcią operacyjną

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)

Systemy wejścia-wyjścia. wyjścia

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

SYSTEMY OPERACYJNE: STRUKTURY I FUNKCJE (opracowano na podstawie skryptu PP: Królikowski Z., Sajkowski M. 1992: Użytkowanie systemu operacyjnego UNIX)

Działanie systemu operacyjnego

Systemy plików FAT, FAT32, NTFS

SYSTEMY OPERACYJNE WYKLAD 4 - zarządzanie pamięcią

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

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

Architektura systemu komputerowego. Działanie systemu komputerowego. Przerwania. Obsługa przerwań (Interrupt Handling)

Wprowadzenie do systemów operacyjnych. mgr inż. Krzysztof Szałajko

Informatyka. informatyka i nauki komputerowe (computer science)

Pamięć. Jan Tuziemski Źródło części materiałów: os-book.com

Wprowadzenie do systemów operacyjnych

Architektura systemu komputerowego

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

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

Administracja systemem Linux

Struktura dysku. Dyski podstawowe i dynamiczne

Architektura komputerów

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

Struktura systemów komputerowych

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

16MB - 2GB 2MB - 128MB

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

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

PAMIĘĆ OPERACYJNA...107

Od programu źródłowego do procesu

Zarządzanie pamięcią operacyjną

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

Budowa systemów komputerowych

Podstawowe wiadomości o systemach plików.

Zarządzanie pamięcią. Od programu źródłowego do procesu. Dołączanie dynamiczne. Powiązanie programu z adresami w pamięci

Systemy operacyjne system przerwań

Technologie informacyjne (2) Zdzisław Szyjewski

Technologie informacyjne (3) Zdzisław Szyjewski

Technologie informacyjne (3) Zdzisław Szyjewski

Systemy operacyjne. Systemy operacyjne. Systemy operacyjne. Zadania systemu operacyjnego. Abstrakcyjne składniki systemu. System komputerowy

ARCHITEKTURA PROCESORA,

Architektura komputerów

Tabela wewnętrzna - definicja

Urządzenia wejścia-wyjścia

1. Pliki i ich organizacja

Pliki. Operacje na plikach w Pascalu

Organizacja typowego mikroprocesora

dr inż. Jarosław Forenc

Schematy zarzadzania pamięcia

I. Interfejs systemu plików. Implementacja systemu plików.

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

Pamięć wirtualna. Przygotował: Ryszard Kijaka. Wykład 4

Technologia informacyjna. Urządzenia techniki komputerowej

Systemy operacyjne. Paweł Pełczyński

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

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

Stronicowanie w systemie pamięci wirtualnej

ZARZĄDZANIE PAMIĘCIĄ OPERACYJNĄ

Podstawy. Pamięć wirtualna. (demand paging)

WINDOWS NT. Diagram warstw systemu Windows NT

1 Instalowanie i uaktualnianie serwera SQL Server

Wykład 7. Zarządzanie pamięcią

Fizyczna organizacja danych w bazie danych

Materiały pomocnicze 1

Pliki i systemy plików

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

Księgarnia PWN: Włodzimierz Stanisławski, Damian Raczyński - Programowanie systemowe mikroprocesorów rodziny x86

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

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

3 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK SP.06 Rok akad. 2011/ / 22

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

Wprowadzenie. Dariusz Wawrzyniak. Miejsce, rola i zadania systemu operacyjnego w oprogramowaniu komputera

Wstęp do informatyki. System komputerowy. Magistrala systemowa. Architektura komputera. Cezary Bolek

Systemy operacyjne. Wprowadzenie. Wykład prowadzą: Jerzy Brzeziński Dariusz Wawrzyniak

Transkrypt:

Schemat systemu komputerowego Sp r zę t k o m p u tero w y (je d n o stk a c e n tra ln a - p ro c e so r, p a m ięć, u rzą d ze n ia w e jśc ia -w y jśc ia ) Sy ste m o p e rac y jn y O p ro gra m o w a n ie uŝy tk o w e (b a zy d a n y c h, e d y to ry, a se m b le ry, k o m p ila to ry...). UŜy tk o w n ic y

Hierarchia maszyn wirtualnych wg Weidermana M 5 M4 S 4 M4 S 3 S M3 3 M3 S 2 M2 M1 S 2 S 1 M0 S 0 M i - maszyna wirtualna S i - oprogramowanie M 0 - maszyna rzeczywista

System operacyjny jest to zbiór programów umoŝliwiających: efektywny podział urządzeń systemu (zasobów maszyny) dostarczenie uŝytkownikowi komputera wirtualnego dla jego potrzeb jednoczesną realizację procesów obliczeniowych dla potrzeb jednego lub wielu uŝytkowników

Kategorie czystych systemów operacyjnych ( tryby pracy SO ) dla przetwarzania wsadowego ( off-line, batch ) z podziałem czasu - tryb bezpośredni, interakcyjny ( on-line ) dla działania w czasie rzeczywistym ( real-time )

Metody realizacji systemu operacyjnego: zastosowanie wieloprogramowości zastosowanie wymiany ( swapping ) wieloprocesorowość

HISTORIA proste systemy operacyjne systemy wsadowe buforowanie i spooling wieloprogramowość wielozadaniowość systemy dla komputerów osobistych systemy równoległe systemy rozproszone systemy czasu rzeczywistego

Zrównoleglenie we/wy w pojedynczej maszynie buforowanie we bufor jedn.centralna bufor wy Metoda jednoczesnego wykonywania obliczeń i wejścia-wyjścia dla jednego zadania: nie eliminuje całkowicie przestojów CPU czy urządzeń we-wy wymaga przeznaczenia pamięci na systemowe bufory niweluje wahania w czasie przetwarzania danych

Zrównoleglenie we/wy w pojedynczej maszynie spooling (simultaneous peripherial operation on-line) spooling przenoszenie danych do szybszej pamięci zewnętrznej we dysk jedn.centralna dysk wy Metoda jednoczesnego wykonywania wejścia-wyjścia wyjścia jednego zadania i obliczeń dla innego zadania MoŜliwe dzięki upowszechnieniu się systemów dyskowych Podczas wykonywania jednego zadania system operacyjny: czyta następne zadanie z czytnika kart na dysk (kolejka zadań) drukuje umieszczone na dysku wyniki poprzedniego zadania Pula zadań - moŝliwość wyboru kolejnego zadania do wykonania

Wieloprogramowość wprowadza się wiele zadań do wykonania program jest przetwarzany w procesorze centralnym dopóki nie musi być wykonane we/wy szeregowanie zadań efektywne wykorzystanie zasobów systemu przetwarzanie wsadowe Wielozadaniowość zadania przetwarzane współbieŝnie (podział czasu) dostęp bezpośredni zamiast przetwarzania wsadowego priorytety

Udogodnienia sprzętowe Mechanizm przerwań Ochrona pamięci operacyjnej Zbiór rozkazów uprzywilejowanych Zegar czasu rzeczywistego

Sterowanie przerwaniami ( interrupt drive) Algorytm układu sterowania JC pobierz następny rozkaz zwiększ licznik rozkazów wykonaj rozkaz jeśli jest przerwanie, realizuj to, które ma największy priorytet przejdź do punktu pierwszego

STRUKTURY SYSTEMÓW KOMPUTEROWYCH Struktura jednolita Struktura warstwowa Struktura klient-serwer

Programy uŝytkowe Rezydujące programy systemowe Programy obsługi urządzeń z poziomu MS-DOS Programy obsługi urządzeń z poziomu pamięci ROM BIOS Warstwowa struktura systemu MS-DOS

UŜytkownicy programy shell i polecenia kompilatory i interpretery biblioteki systemowe Interfejs funkcji systemowych jądra sygnały system plików planowanie przydziału procesora obsługa terminali wymiana zastępowanie stron system znakowego we/wy system blokowego we/wy stronicowanie na Ŝądanie programy obsługi terminali programy obsługi pamięć wirtualna dysków i taśm Interfejs między jądrem a sprzętem sterowniki terminali sterowniki urządzeń terminale dyski i taśmy sterowniki pamięci pamięć operacyjna Struktura systemu UNIX

Pamięć operacyjna (main memory) obszar bezpośrednio dostępny dla procesora rozkazy: load, store (PAO rejestr procesora) cykl rozkazowy: pobranie rozkazu z PAO do rejestru rozkazów dekodowanie realizacja (ew. pobranie argumentów z PAO Program i dane nie mogą być na stałe w PAO za mała ulotna

Pamięć pomocnicza (secondary( storage) rozszerzenie PAO trwałe przechowywanie duŝej ilości danych źródło i miejsce przeznaczenia informacji sprowadzanie danych do PAO (op. we/wy) rejestry sterowników <==> PAO we/wy odwzorowane w pamięci (memory mapped I/O) wydzielenie adresów PAO na rejestry urządzeń (ekran, porty szeregowe i równoległe)

Wysłanie ciągu bajtów przez port szeregowy: procesor wpisuje 1 bajt do rejestru danych procesor ustawia bit w rejestrze kontrolnym urządzenie pobiera bajt danych urządzenie zeruje bit w rejestrze kontrolnym 1. Programowane we/wy (programmed I/O) 2. Przesyłanie sterowane przerwaniami (interrupt driven) REJESTRY - wbudowane w JC (1 cykl zegara) dostęp do PAO - za pośrednictwem szyny pamięci wiele cykli; utykanie procesora (stall) SZYBKA PAMIĘĆ POMOCNICZA ( SZYBKA PAMIĘĆ POMOCNICZA (cache cache) JC->cache->PAO

HIERARCHIA PAMIĘCI REJESTRY PAMIĘĆ PODRĘCZNA PAMIĘĆ OPERACYJNA DYSK ELEKTRONICZNY DYSK MAGNETYCZNY DYSK OPTYCZNY TAŚMY MAGNETYCZNE

Pamięć podręczna przechowuje informacje przejściowo 80-99% dostępów polityka zastępowania informacji problem zgodności pamięci podręcznej: te same dane na róŝnych poziomach hierarchicznej struktury pamięci A ++ (liczba A w pliku B na dysku) kopiowanie bloku z liczbą A do PAO kopiowanie do pamięci podręcznej kopiowanie do rejestru wewnętrznego inkrementacja w rejestrze... problem w środowisku wieloprocesorowym cache coherency

PAMIĘĆ POMOCNICZA SO dostarcza jednolitego logicznie obrazu przechowywania informacji w oderwaniu od cech fizycznych urządzeń PLIK - logiczna jednostka informacji system plikowy: zbiór plików struktura katalogów

zadania SYSTEMU PLIKÓW Pozwala tworzyć i usuwać pliki UmoŜliwia dostęp do plików w celu czytania i pisania Zarządza automatycznie przestrzenią pamięci pomocniczej UmoŜliwia odwoływanie się do plików za pomocą nazw symbolicznych Chroni pliki przed skutkami uszkodzenia systemu Pozwala na wspólne korzystanie z tych samych plików Chroni pliki przed dostępem do nich nieuprawnionych uŝytkowników

plik moŝe być otwarty przez kilku uŝytkowników dwa poziomy tablic wewnętrznych: procesowa tablica plików otwartych w procesie bieŝący wskaźnik do kaŝdego pliku wskaźnik do ogólnosystemowej tablicy plików otwartych ogólnosystemowa tablica otwartych plików połoŝenie pliku na dysku daty dostępu rozmiar pliku licznik otwarć

dyskowe operacje we/wy w jednostkach równych pojedynczemu blokowi (rekord fizyczny) problem zamiany rekordów logicznych na rekordy fizyczne fragmentacja wewnętrzna (internal fragmentation) METODY DOSTĘPU»dostęp sekwencyjny (sequential access)»dostęp bezpośredni (direct access)»dostęp indeksowy (index)

STRUKTURY KATALOGOWE katalog jednopoziomowy katalog dwupoziomowy struktury drzewiaste acykliczne grafy katalogów graf ogólny katalogów

ochrona prawa dostępu hasła ORGANIZACJA SYSTEMU PLIKÓW urządzenia sterowanie we/wy podstawowy system plików moduł organizacji pliku logiczny system pliku

ORGANIZACJA PAMIĘCI POMOCNICZEJ (metody przydziału miejsca na dysku) system plików zwartych (przydział ciągły) łańcuch powiązanych bloków (przydział listowy) mapa plików (tablica alokacji) bloki indeksów

System plików zwartych katalog uŝytkownika bloki pliku znacznik końca pliku

WŁAŚCIWOŚCI - ZALETY - WADY łatwo implementować dostęp swobodny i sekwencyjny trudno uniknąć fragmentacji zewnętrznej umoŝliwia najbardziej elastyczną organizację danych - zniszczenie jednego bloku powoduje tylko lokalną utratę danych odpowiednie do takich zastosowań jak bazy danych

Łańcuch powiązanych bloków katalog uŝytkownika bloki pliku EOF nil

WŁAŚCIWOŚCI - ZALETY - WADY kilka bajtów, kaŝdego bloku w pliku słuŝy jako wskaźnik do następnego bloku wada - konieczność uzyskania duŝej liczby dostępów do dysku, zanim znajdzie się koniec pliku dostęp do pliku jest z konieczności sekwencyjny metoda ta jest mało elastyczna - skutki uszkodzenia jednego bloku mogą niespodziewanie rozszerzyć się na cały system plików nie ma fragmentacji zewnętrznej

Mapa plików katalog uŝytkownika mapa plików Bloki danych 1 0 1 2 3 4 5 4 5 2 wskaźnik pusty 0 1 2 3 4 5

WŁAŚCIWOŚCI - WADY - ZALETY kaŝdy blok na dysku - pozycja w mapie bloki nieuŝywane - 0 w tablicy uszkodzenie mapy plików moŝe spowodować powaŝne straty danych - dwie kopie mapy w róŝnych rejonach dysku, aby w razie awarii sprzętu nie zniszczyć wszystkich kopii znaczny ruch głowic dyskowych polepszenie czasu dostępu swobodnego

Bloki indeksów katalog uŝytkownika 5 blok indeksów 5 bloki pliku -1 ewentualny następny blok indeksów znacznik końca pliku

WŁAŚCIWOŚCI - WADY - ZALETY wskaźniki dowiązań do kaŝdego pliku są pamiętane w odrębnych blokach indeksów na dysku dla duŝego pliku trzeba przeznaczyć kilka bloków indeksów schemat listowy indeks wielopoziomowy schemat kombinowany brak fragmentacji zewnętrznej umoŝliwia dostęp bezpośredni

Określając obowiązujący w systemie rozmiar bloku bierze się pod uwagę poniŝsze kryteria: Strata miejsca z powodu bloków nie zapełnionych całkowicie, która zwiększa się w miarę zwiększania rozmiaru bloków (fragmentacja wewnętrzna). Strata miejsca związana ze wskaźnikami im mniejsze bloki, tym więcej uŝytych wskaźników. Jednostki przesyłania danych z urządzeń zewnętrznych do pamięci głównej - rozmiar bloku powinien być wielokrotnością tej jednostki. Rozmiar obszaru pamięci głównej potrzebny do wykonania kaŝdej operacji czytania lub pisania odnoszącej się do pliku..

wydajność metody przydziału - róŝnice w zapotrzebowaniu na pamięć i czas dostępu do bloków danych przydział ciągły - pobranie danych wymaga 1 kontaktu z dyskiem ( dostęp sekwencyjny i swobodny) przydział listowy - (dostęp do i-tego bloku i operacji czytania z dysku -- dostęp sekwencyjny) struktura pliku - zaleŝna od deklarowanego typu dostępu konwersja typu pliku - kopiowanie do nowego pliku o wymaganym typie

Zarządzanie wolną przestrzenią Lista wolnych obszarów (free-space list) wektor binarny lista powiązana grupowanie zliczanie

Wektor bitowy Mapa bitowa: 1 blok = 1 bit (0-zajęty 1-wolny) nr bloku=liczba_bitów_w_słowie x liczba_wyzerowanych_słów + pozycja_pierwszego_ bitu 1 mało wydajne tylko dla małych dysków dysk - 1.4GB blok=512b- mapa bitowa - 310KB 4-blokowe grona - 78KB

Lista powiązana Wskaźnik do 1-go wolnego bloku - w specjalnym m-cu na dysku oraz w pamięci metoda niewydajna - aby przejrzeć listę - odczyt kaŝdego bloku ( zazwyczaj szukany 1-szy wolny blok) Grupowanie w 1-szym wolnym bloku - adresy n wolnych bloków; ostatni z nich zawiera adresy następnych n wolnych bloków umoŝliwia szybkie odnajdywanie większej liczby wolnych bloków Zliczanie pozycja wykazu wolnych obszarów:adres dyskowy 1-go wolnego bloku + licznik kolejnych wolnych bloków

Implementacja katalogu Lista liniowa nazw plików ze wskaźnikami do bloków danych wada - liniowe przeszukiwanie (lista uporządkowana, B-drzewo) Tablica haszowania - funkcja haszowania odwzorowuje nazwę pliku na wskaźnik na liście liniowej

Efektywność systemu plików Algorytmy przydziału miejsca i obsługi katalogów Wstępny przydział i-węzłów rozrzucenie ich w strefie dysku (bloki danych blisko i węzłów) Łączenie bloków w grona; zmienne rozmiary gron Rodzaje informacji o plikach (daty dostępu ) Rozmiar wskaźników w dostępie do danych 16b 64kB; 32b-4GB Struktury jądra przydzielane dynamicznie (rozmiar tablicy otwartych plików, tablicy procesów)

Wydajność systemu plików (pamięć) Sprzętowe sterowniki dyskowe pamięć podręczna na płycie czytanie całej ścieŝki disk cache pamięć podręczna bloków dyskowych w PAO; /cała wolna pamięć pulą buforów/ Optymalizacja (dostęp sekwencyjny): wczesne zwalnianie czytanie z wyprzedzeniem Kontrolowana przez SO Komputery PC - RAM-dysk Kontrolowane przez uŝytkownika

INTEGRALNOŚĆ SYSTEMU PLIKÓW sprawdzanie spójności (chkdsk, fsck; e2fsck) mechanizmy archiwizowania i odtwarzania danych archiwizowanych - awarie sprzętu lub błędu w oprogramowaniu. główne metody sporządzania kopii zapasowych plików: okresowe składowanie zawartości pamięci składowanie przyrostowe

UNIX VFS Virtual File System Te same funkcje systemowe dostęp do kaŝdego pliku na dowolnym systemie plikowym Zaprojektowany na zasadach obiektowych: Definicje obiektów Oprogramowanie do działań na nich 4.2 BSD FFS (Fast File System) dwa rozmiary bloków: 8kB, fragment n*1kb wersja 7 Unix- katalog wykaz: 14B nazwa pliku + 2B nr i-noda 4.3BSD wpisy katalogowe zmiennej długości: długość nazwa nr i-węzła Pamięć podręczna naw katalogów (pamiętane są i -węzły)

wywołanie systemowe: czytaj(4,.) / przestrzeń uŝytkownika deskrytptor pliku topp tsp lista i-węzłów w PAO / przestrzeń systemu topp tablica otwartych plików procesu tsp tablica struktur plików bloki danych /przestrzeń dysku Lista i-węzłów w PAO <==> lista i-węzłów z dysku Identyfikacja pliku przez jądro: ( nr urządzenia log., nr i-węzła) Nr urządzenia log. określa system plików (własny superblok; w PAO; synchronizowany co 30 sec)

4.2 BSD grupa cylindrów ( 1 lub więcej sąsiadujących cylindrów) inf. nagłówkowe (superblok, i-węzły, blok opisu cylindrów)- w róŝnych odległościach od początku grupy; na róŝnych płytach dysku i-węzeł pliku w tej samej grupie cylindrów co i-węzeł katalogu (ls z opcjami odwołuje się do i nod ów) i-węzeł nowego katalogu w innej grupie cylindrów (z duŝą liczbą wolnych i-węzłów) bloki przydzielane plikom w obrębie tej samej grupy cylindrów (małe pliki minimalny ruch głowic) FFS 30% technicznej przepustowości dysku wersja 7 3%

Linux Minix (nazwy 14-znakowe; max. rozmiar plik 64MB) ext2 FFS (Second Extended File System - 1993) bloki w pliku katalogowym powiązana lista wpisów długość wpisu nazwa pliku nr i-węzła nie uŝywa bloków cząstkowych ( fragmentów) mniejsze bloki (1, 2, 4kB) operowanie gronami (1 op. we/wy dotyczy kilku bloków; logicznie sąsiadujące bloki pliku przylegające bloki dyskowe) wiele grup bloków obsługa dziurawych plików

Linux blokom danych przydzielana ta grupa bloków, do której naleŝy i-węzeł pliku i-węzły plików zwykłych - w grupie katalogu macierzystego pliki katalogowe rozproszone wewnątrz grup przydziały ciągłe ( minimalizacja fragmentacji) występuje mapa bitowa wolnych bloków w grupie szukanie miejsca dla pliku: tworzony nowy plik od początku grupy bloków rozszerzanie pliku od bloku przydzielonego ostatnio

Linux Szukanie 2-etapowe Całego wolnego bajta w mapie bitowej Przydział miejsca porcjami 8-blokowymi; po znalezieniu bajta w bitmapie przeszukiwanie wstecz dla uniknięcia dziur; wstępnie przydziela się 8 bloków; przy zamykaniu pliku odznacza się niezajęte bloki Pojedynczych wolnych bitów ( jeśli 1 się nie powiedzie) blisko początku miejsca szukania

System plików w Linuksie Grupa 1 Grupa 2 Grupa 3 Grupa n superblok Deskryptory grup Bitmapa bloków Bitmapa i-węzłów tablica i-węzłów Bloki danych superblok, deskryptory grup w kaŝdej grupie lub 0,1 [3 5 7] n

Superblok (ext2_super_block) liczba i-węzłów na dysku liczba wolnych i-węzłów liczba bloków na dysku liczba wolnych bloków dyskowych liczba zarezerwowanych bloków dyskowych pierwszy blok z danymi rozmiar bloku rozmiar fragmentu liczba bloków, fragmentów i i-węzłów w grupie czas ostatniego zamontowania, zapisu na dysk, sprawdzenia maksymalna liczba zamontowań, liczba aktualnych zamontowań rozmiar struktury i-węzła pierwszy niezajęty węzeł domyślny identyfikator uŝytkownika dla bloków zarezerwowanych domyślny identyfikator grupy dla bloków zarezerwowanych

Deskryptory grup Tablica rekordów opisujących poszczególne grupy 1 rekord: liczba wolnych i-węzłów, liczba wolnych bloków UŜywane podczas przydzielania bloków

System plików w Linuksie System plików jest podzielony na grupy KaŜda grupa ma określoną wielkość (8MB -128MB) za wyjątkiem ostatniej Mapa bitowa zajętości bloków ma wielkość jednego bloku Mapa bitowa zajętości i-węzłów i - ma wielkość jednego bloku -dla kaŝdego i-węzła i jest przydzielony jeden bit Plik w Linuxie jest identyfikowany za pomocą i-węzła. i To właśnie w i-węźle i przechowywane są wszystkie informacje o pliku

KATALOGI katalog w Linuksie jest takŝe plikiem jego wewnętrzna reprezentacja danych jest uporządkowana kaŝda pozycja w katalogu składa się z: numeru i-węzła długości pozycji katalogowej długości nazwy samej nazwy (do 255 znaków).typ lista jednokierunkowa -> tablice haszujące katalog posiada prawa dostępu, lecz ich interpretacja róŝni się od praw dostępu dla zwykłych plików prawo r pozwala wyświetlać zawartość katalogu (ls) prawo w pozwala tworzyć i usuwać pozycje w katalogu prawo x pozwala na wejście do danego katalogu (cd), dostęp do plików z tego katalogu, ls s..

ext3 1999r RedHat, Stephan Tweedie kompatybilny z ext2 usprawnienia mechanizm księgowania indeksowane katalogi struktura ext3_dir_entry pole file_type (8 bitów)

journaling Mechanizm niezaleŝny od ext3 interfejs JBD (Journaling Block Device) Dodatkowe pola w superbloku: numer i-węzła pliku księgującego (.journal) urządzenie Zapis całych fizycznych bloków do dziennika MoŜliwość księgowania wszystkich danych tryby działania: writeback - metadane journal metadane i dane ordered - metadane; transakcje: po zapisaniu danych na dysk metadane zapisywane do dziennika

journaling 1. Umieszczenie modyfikowanych bloków w buforach 2. Łączenie buforów transakcje 3. Zatwierdzenie transakcji; zapis do dziennika 4. Zapis na dysk zmodyfikowanych bloków 5. Zakończenie transakcji

Indeksowane katalogi bloki 0..511 katalogu struktura indeksująca blok 0 korzeń drzewa + nagłówek blok indeksujący: 512 wpisów(klucz, adres) klucz wynik fcji haszującej + znak kolizji; adres logiczny adres bloku danych lub kolejnej struktury indeksującej 90000 plików w katalogu ; kolejny poziom -> 50mln. wpisów Zwiększenie wydajności; koszty 2MB na strukturę -> indeksowanie tylko dla duŝej ilości wpisów w katalogu

Szukanie pliku obliczenie klucza na pdst. nazwy pliku fcja haszująca odczyt korzenia struktury indeksującej przeszukiwanie indeksów (liniowe; binarne) odczyt liścia. w przypadku kolizji przeszukiwanie kolejnych bloków indeksujących

wstawianie pliku w przypadku pełnego bloku wymaga rozbijania ( podział kluczy na dwa bloki; po posortowaniu) w przypadku kolizji kluczy wpis w tym samym bloku o ile to moŝliwe; w przeciwnym wypadku zaznaczenie najmniej znaczącego bita w kluczu => szukanie w kolejnym bloku

NTFS Tom (volume) podst. jednostka Operowanie gronami (2 n przyległych sektorów) Adres dyskowy=lcn (logical cluster number) Plik obiekt strukturalny, złoŝony z atrybutów KaŜdy atrybut niezaleŝny strumień bajtów Atrybuty standardowe dla wszystkich plików: nazwa; czas utworzenia; deskryptor bezpieczeństwa; liczba dowiązań; beznazwowy atrybut danych

MFT Master File Table KaŜdy plik opisany min. 1 rekordem Rozmiar rekordu parametr systemu (1-4kB) Małe atrybuty rezydentne w MFT Wielkie atrybuty przechowywane w rozszerzeniach na dysku; wskaźniki do nich w rekordzie MFT Pliki o wielu atrybutach podstawowy rekord pliku ( base file record) + wskaźniki do rekordów nadmiarowych kaŝdy plik ma 64-bitowy identyfikator (file reference); 48 bitów nr rek. w MFT 16 bitów nr kolejny (inkrementowany przy powtórnym uŝyciu wpisu w MFT) struktura katalogów B + drzewo; kaŝdy wpis nazwa pliku, odsyłacz, znacznik czasu utworzenia, rozmiar (z MTFS)

Pliki metadanych Tablica MFT MftMirr kopia metadanych (pierwsze 16 pozycji) LogFile plik dziennika transakcji Volume inf. o wolumenie (nazwa, wersja NTFS) AttrDef tablica definicji atrybutów. katalog główny Bitmap plik bitmapy klastrów (gron) Boot plik inicjacyjny BadClus lista złych klastrów (gron) Quota ograniczenia Upcase tablica konwersji małych liter na duŝe

ODPORNOŚĆ - TRANSAKCJE Dla zapewnienia integralności systemu plików (struktury danych systemowych) KaŜda zmiana w systemie plików + inf. o pomyślności zakończenia zapisywana w pliku logu (umoŝliwia powtórzenie lub anulowanie operacji) Po awarii przetwarzanie zapisów dziennika Okresowo zapis do dziennika punktów kontrolnych (chekpoint)

Bezpieczeństwo Schemat lazy write operacje na dysku wykonywane w pamięci podręcznej Sterowanie dowolnym dostępem DAC (discretionary access control) Szczegółowe określenie pozwoleń i zakazów dostępu Full control RWXDPO Change RWXD Read RX NoAccess -

R W X D P O plik oglądanie zawartości zmiana, usunięcie zawartości uruchomienie pliku wykonywalnego usuwanie pliku zmiana praw dostepu otrzymanie własności katalog pokazywanie plików z katalogu dodawanie elementu do katalogu cd usuwanie katalogu (pustego) zmiana praw dostepu otrzymanie własności

Zarządzanie tomem (wolumenem) - 1 Łączenie wielu partycji tom logiczny (do 32 stref fizycznych partycji dysków, dysków) Mechanizm LCN 2.5GB C D LCN numery 0-128000 2.5GB D LCN numery 128000-783361 C FAT 2GB D NTFS 3GB

Zarządzanie tomem (wolumenem) - 2 System plików ze strippingiem Schemat RAID poziomu 0 paskowanie dysku Redundant Array of Independent Disks FtDisk paski 64kB Kolejne paski przydzielane kolejnym strefom fizycznym Zbiór pasków 1 tom logiczny Równoległe operacje we/wy - polepszenie przepustowości we/wy (duŝe pliki!!!)

Napęd logiczny C: 4GB LCN Dysk 1 2GB 0-15 32-47 64-79 Dysk 2 2GB 16-31 48-63 80-95 poszczególne dyski oddzielne kontrolery partycje do strippingu podobny rozmiar dyski nie powinny być uŝywane do innych celów powszechnie 2 4 partycje (teoretycznie do 32)

Zarządzanie tomem (wolumenem) - 3 Zbiór pasków z parzystością RAID 5 Odporność na uszkodzenia Kolejne porcje danych na kolejnych dyskach + dane o parzystości (XOR) krąŝą po dyskach zestawu Przy uszkodzeniu paska moŝliwość zrekonstruowania danych Min. 3 jednakowe strefy na 3 dyskach

Napęd logiczny C: 4GB Dysk 1 2GB Dysk 2 2GB Dysk 3 2GB LCN P 0-15 16-31 32-47 P 48-63 64-79 80-95 P P 96 111 112-127 128-143 P 144-159

Zarządzanie tomem (wolumenem) - 4 Dyski lustrzane DISK MIRRORING RAID 1 2 identyczne strefy na 2 dyskach Polepszenie bezpieczeństwa Przyspieszenie we/wy Oba dyski osobne sterowniki (duplex set) Kopia C: 2GB C: 2GB

NT programowo implementuje RAID 0, 1, 5 Zapas sektorów (sector sparing) Część sektorów nie jest ujęta w mapie dobrych sektorów - rezerwa uŝyta w razie awarii ( wtórne odwzorowanie grona cluster remapping) Upakowanie automatyczna kompresja plików; NTFS dzieli plik do kompresji na jednostki upakowania złoŝone z 16 kolejnych gron pliki rozrzedzone - grona zawierające same 0 ; system nie przydziela im miejsca na dysku (przerwy w nr gron wirtualnych); podczas czytania uzupełnienie 0 w buforze