dr inŝ. Jarosław Forenc



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

Informatyka 2. Wykład nr 6 ( ) Plan wykładu nr 6. Politechnika Białostocka. - Wydział Elektryczny

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

dr inż. Jarosław Forenc

dr inż. Jarosław Forenc

Zarządzanie dyskowymi operacjami we/wy. Zarządzanie pamięcią operacyjną. dr inż. Jarosław Forenc. Algorytm FIFO (First-In-First-Out)

dr inż. Jarosław Forenc

Sektor. Systemy Operacyjne

dr inż. Jarosław Forenc

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

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

dr inż. Jarosław Forenc

Podstawowe zadanie komputera to wykonywanie programu Program składa się z rozkazów przechowywanych w pamięci Rozkazy są przetwarzane w dwu krokach:

dr inż. Jarosław Forenc

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

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

Systemy plików FAT, FAT32, NTFS

16MB - 2GB 2MB - 128MB

Struktura dysku. Dyski podstawowe i dynamiczne

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

System plików przykłady. implementacji

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

System plików przykłady implementacji

Podstawowe wiadomości o systemach plików.

dr inż. Jarosław Forenc

1. Pliki i ich organizacja

4. Procesy pojęcia podstawowe


dr inŝ. Jarosław Forenc

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Działanie systemu operacyjnego

Działanie systemu operacyjnego

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

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

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

Działanie systemu operacyjnego

Systemy operacyjne III

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

4. Procesy pojęcia podstawowe

Zarządzanie pamięcią w systemie operacyjnym

Systemy operacyjne System plików

Tworzenie partycji i dysków logicznych

Programowanie współbieżne Wykład 2. Iwona Kochańska

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

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

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

Organizacja typowego mikroprocesora

Architektura komputerów

Programowanie na poziomie sprzętu. Tryb chroniony cz. 1

Działanie systemu operacyjnego

dr inż. Konrad Sobolewski Politechnika Warszawska Informatyka 1

Podstawy informatyki. System operacyjny. dr inż. Adam Klimowicz

Zarządzanie pamięcią operacyjną

Formatowanie. Formatowanie to proces tworzący na dysku struktury niezbędne do zapisu i odczytu danych.

Wprowadzenie do systemów operacyjnych

KOMPONENTY SYSTEMÓW OPERACYJNYCH

dr inŝ. Jarosław Forenc

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

Logiczny model komputera i działanie procesora. Część 1.

Systemy operacyjne III

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

PAMIĘCI. Część 1. Przygotował: Ryszard Kijanka

Zarządzanie procesami i wątkami

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

Architektura Komputerów

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

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

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

1. Pamięć wirtualna. 2. Optymalizacja pliku pamięci wirtualnej

Zarządzanie partycjami

Algorytm. a programowanie -

Urządzenia wejścia-wyjścia

Architektura komputerów

Wydział Elektryczny Katedra Elektrotechniki Teoretycznej i Metrologii. Materiały pomocnicze do zajęć z przedmiotu SYSTEMY OPERACYJNE

PAMIĘĆ OPERACYJNA...107

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

Architektura komputerów

Wykład 6. Planowanie (szeregowanie) procesów (ang. process scheduling) Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

DOS COMMAND.COM. Rys. 2. Główne moduły programowe systemu operacyjnego DOS. Interpreter poleceń. Rys. 3. Warstwowa struktura systemu DOS

Pliki. Operacje na plikach w Pascalu

System operacyjny System operacyjny

4. Procesy pojęcia podstawowe

Błędy na dysku. Program CHKDSK

Systemy operacyjne i sieci komputerowe Szymon Wilk Partycjonowanie 1

Ćwiczenie Nr 6 Przegląd pozostałych najważniejszych mechanizmów systemu operacyjnego Windows

Prezentacja systemu RTLinux

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

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

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

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

1.1 Definicja procesu

Zarządzanie pamięcią operacyjną

Dynamiczny przydział pamięci w języku C. Dynamiczne struktury danych. dr inż. Jarosław Forenc. Metoda 1 (wektor N M-elementowy)

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

SYSTEMY OPERACYJNE WYKLAD 6 - procesy

Komputer i urządzenia z nim współpracujące.

Transkrypt:

Rok akademicki 2009/2010, Wykład nr 5 2/42 Plan wykładu nr 5 Informatyka 2 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr III, studia stacjonarne I stopnia Rok akademicki 2009/2010 Wykład nr 5 (27.11.2009) System operacyjny: Procesy: definicja systemu operacyjnego zarządzanie procesami dwu- i pięciostanowy model procesu Zarządzanie dyskowymi operacjami we/wy strategie szeregowania żądań dostępu do dysku (FCFS, SSTF, SCAN, C-SCAN) metody przydziału pamięci dyskowej - alokacja: ciągła, listowa, indeksowa Systemy plików: FAT (FAT12, FAT16, FAT32, exfat) dr inż. Jarosław Forenc Rok akademicki 2009/2010, Wykład nr 5 3/42 Rok akademicki 2009/2010, Wykład nr 5 4/42 System operacyjny - definicja Warstwy wchodzące w skład systemu operacyjnego System operacyjny - jest to program sterujący wykonywaniem aplikacji i działający jako interfejs pomiędzy aplikacjami (użytkownikiem) a sprzętem komputerowym system operacyjny powinien zapewnić: wygodną obsługę - praca z komputerem jest łatwiejsza wydajność - zasoby komputera są wykorzystywane efektywnie możliwość rozwoju - powinien być zbudowany w sposób umożliwiający dalszy rozwój, testowanie i wprowadzanie nowych funkcji systemowych bez kolidowania z istniejącymi usługami (budowa modularna) użytkownik końcowy nie jest zainteresowany sprzętem, interesują go tylko aplikacje (programy użytkowe) aplikacje są tworzone przez programistów za pomocą języków programowania programiści korzystają z zestawu programów systemowych (narzędziowych) implementujących często wykorzystywane funkcje (tworzenie programu, zarządzanie plikami, sterowanie urządzeniami we/wy) system operacyjny ukrywa przed programistą szczegóły dotyczące sprzętu komputerowego, ale udostępnia zestaw odpowiednich funkcji do pracy z nimi

Rok akademicki 2009/2010, Wykład nr 5 5/42 Rok akademicki 2009/2010, Wykład nr 5 6/42 System operacyjny System operacyjny - definicja System operacyjny zapewnia: rozwój oprogramowania - dostarcza odpowiednie narzędzia do tworzenia programów (narzędzia programistyczne nie będące główną częścią systemu operacyjnego, ale dystrybuowane wraz z nim) wykonywanie programu - załadowanie programu do pamięci, inicjalizacja urządzeń we/wy, przygotowanie zasobów dostęp do urządzeń we/wy - ukrywa przed programistą szczegóły dotyczące sterowania urządzeniami we/wy dostarczając proste operacje zapisu i odczytu System operacyjny - administrator zasobów - zarządza i przydziela zasoby systemu komputerowego oraz steruje wykonaniem programu zasób systemu - każdy element systemu, który może być przydzielony innej części systemu lub oprogramowaniu aplikacyjnemu, np. czas procesora pamięć operacyjna urządzenia zewnętrzne ograniczony dostęp do plików - mechanizmy ograniczenia dostępu do plików w systemach obsługujących wielu użytkowników dostęp do systemu - kontrola i ograniczenia dostępu do systemu i jego wybranych zasobów wykrywanie i obsługa błędów - odpowiednia reakcja na błąd przy jak najmniejszym wpływie na działające aplikacje statystyki - tworzenie statystyk wykorzystywanych zasobów oraz zdarzeń w systemie zasoby programowe: funkcje systemu dostępne dla oprogramowania użytkowego określone obszary pamięci operacyjnej przeznaczone na buforowanie, przechowywanie informacji określone obszary pamięci pomocniczej (taśmowej, dyskowej) przeznaczone do przechowywania części pamięci operacyjnej oraz plików systemowych i użytkowych katalogi plików i pojedyncze pliki Rok akademicki 2009/2010, Wykład nr 5 7/42 Rok akademicki 2009/2010, Wykład nr 5 8/42 Procesy Blok kontrolny procesu głównym zadaniem systemu operacyjnego jest zarządzanie procesami Co to jest proces? proces - program w trakcie wykonania proces - ciąg wykonań instrukcji wyznaczanych kolejnymi wartościami licznika rozkazów wynikających z wykonywanej procedury (programu) proces - jednostka, którą można przypisać procesorowi i wykonać proces - instancja programu uruchomiona w danym systemie Proces składa się z kilku elementów: kod programu - może być dzielony z innymi procesami wykonującymi ten sam program dane potrzebne programowi (zmienne, przestrzeń robocza, bufory) kontekst wykonywanego programu (stan procesu) - dane wewnętrzne, dzięki którym system operacyjny może nadzorować proces i nim sterować struktura danych tworzona i zarządzana przez system operacyjny, a opisująca właściwości procesu dzięki niemu system operacyjny obsługuje wiele procesów oraz umożliwia jednoczesne przetwarzanie wielu zadań blok kontrolny procesu zawiera informacje wystarczające do przerwania uruchomionego procesu, a następnie wznowienia jego działania identyfikator - unikatowy numer skojarzony z procesem, dzięki któremu można odróżnić go od innych procesów stan procesu: nowy, gotowy, uruchomiony, zablokowany, anulowany priorytet - priorytet procesu w stosunku do innych procesów (np. niski, normalny, wysoki, czasu rzeczywistego)

Rok akademicki 2009/2010, Wykład nr 5 9/42 Rok akademicki 2009/2010, Wykład nr 5 10/42 Blok kontrolny procesu Dwustanowy model procesu licznik programu - adres kolejnego rozkazu w programie, który ma zostać wykonany system operacyjny powinien mieć określony model naprzemiennego wykonywania procesów oraz alokowania zasobów w celu dalszej pracy wskaźniki pamięci - wskaźniki do kodu programu oraz danych skojarzonych z tym procesem oraz dodatkowe bloki pamięci dzielone z innymi procesami dane kontekstowe - dane znajdujące się w rejestrach procesora, gdy proces jest wykonywany informacje na temat stanu żądań we/wy - zawiera wyróżnione żądania we/wy, informacje na temat urządzeń we/wy przypisanych do tego procesu, listę plików wykorzystywanych przez proces, itp. informacje ewidencyjne - dane o wykorzystanym czasie procesora oraz zegara, ograniczeniach czasowych, liczbach ewidencyjnych najprostszy model polega na tym, że w dowolnej chwili proces jest wykonywany przez procesor (uruchomiony) lub nie (nie uruchomiony) Wejście Proces nie uruchomiony Program przydzielający Przerwa Uruchomiony proces Wyjście system operacyjny tworząc nowy proces, tworzy blok kontrolny procesu po czym wprowadza proces do systemu jako nie uruchomiony w pewnym momencie aktualnie wykonywany proces zostaje przerwany i program przydzielający wybiera inny proces do wykonania stan poprzednio uruchomionego procesu jest zmieniany z uruchomionego na nie uruchomiony Rok akademicki 2009/2010, Wykład nr 5 11/42 Rok akademicki 2009/2010, Wykład nr 5 12/42 Dwustanowy model procesu Tworzenie procesu procesy, które nie są uruchomione czekają w kolejce na wykonanie Wejście Kolejka Program przydzielający Procesor Wyjście w celu utworzenia nowego procesu system operacyjny buduje strukturę danych, która jest wykorzystywana do zarządzania procesem i alokuje przestrzeń adresową w pamięci operacyjnej dla procesu przyczyny tworzenia nowych procesów: Przerwa nowe zadanie wsadowe - w środowisku wsadowym proces jest tworzony jako reakcja na przesłane zadanie jeśli wykonywanie procesu zostało anulowane lub zakończone, to opuszcza on system, a program przydzielający wybiera kolejny proces z kolejki, który zostanie wykonany interaktywne logowanie - w środowisku interaktywnym proces jest tworzony, gdy użytkownik loguje się do systemu udostępnienie usługi przez system - system operacyjny tworzy nowy proces w celu wykonania funkcji w imieniu programu użytkownika bez zmuszania użytkownika do czekania utworzenie przez proces istniejący - program użytkownika żąda utworzenia określonej liczby procesów (przetwarzanie równoległe) proces tworzący inny proces nazywa się procesem macierzystym, a nowoutworzony proces - procesem potomnym

Rok akademicki 2009/2010, Wykład nr 5 13/42 Rok akademicki 2009/2010, Wykład nr 5 14/42 Zakończenie procesu Zakończenie procesu przyczyny zakończenia pracy procesów: przyczyny zakończenia pracy procesów (cd.): normalne zakończenie - proces wykonuje wywołanie systemowe, aby poinformować system, że jego działanie zostało zakończone przekroczenie limitu czasu - proces działał zbyt długo niż określony dla niego limit czasu pracy brak pamięci - proces żąda więcej pamięci niż system może przydzielić błędny rozkaz - proces próbuje wykonać nieistniejące rozkazy rozkaz uprzywilejowany - proces próbuje wykonać rozkaz zarezerwowany dla systemu operacyjnego złe wykorzystanie danych - fragment danych ma niepoprawny format i dlatego nie może zostać zainicjowany naruszenie pamięci - proces odwołuje się do obszaru pamięci, do którego nie ma prawa dostępu interwencja operatora lub systemu operacyjnego - z bliżej nieznanego powodu operator lub system operacyjny zakończył proces błąd ochrony - proces próbuje wykorzystać zasoby takie jak pliki, do których nie ma prawa lub próbuje je wykorzystać w niewłaściwy sposób błąd arytmetyczny - wykonanie przez proces niedozwolonej operacji arytmetycznej (np. dzielenie przez zero) zakończenie procesu macierzystego - kiedy proces macierzysty ulega zakończeniu system operacyjny może automatycznie zakończyć wszystkie jego procesy potomne żądanie wystosowane przez proces macierzysty - proces macierzysty zwykle ma prawo zakończyć swoje procesy potomne błąd we/wy - błąd odczytu lub zapisu po przekroczeniu maksymalnej liczby prób lub niedozwolonych operacji Rok akademicki 2009/2010, Wykład nr 5 15/42 Rok akademicki 2009/2010, Wykład nr 5 16/42 Pięciostanowy model procesu Pięciostanowy model procesu w dwustanowym modelu procesu kolejka działa na zasadzie FIFO, a procesor wykonuje procesy cyklicznie z kolejki problem pojawia się w przypadku, gdy kolejny proces pobierany do wykonania z kolejki jest zablokowany, gdyż oczekuje na zakończenie operacji we/wy rozwiązaniem powyższego problemu jest podział procesów nieuruchomionych na gotowe do wykonania i zablokowane uruchomiony - proces aktualnie wykonywany gotowy - proces gotowy do wykonania przy najbliższej możliwej okazji zablokowany - proces oczekujący na zakończenie operacji we/wy nowy - proces, który właśnie został utworzony (ma utworzony blok kontrolny procesu, nie został jeszcze załadowany do pamięci), ale nie został jeszcze przyjęty do grupy procesów oczekujących na wykonanie anulowany - proces, który został wstrzymany lub anulowany z jakiegoś powodu

Rok akademicki 2009/2010, Wykład nr 5 17/42 Rok akademicki 2009/2010, Wykład nr 5 18/42 Pięciostanowy model procesu Pięciostanowy model procesu podział procesów nieuruchomionych na gotowe do wykonania i zablokowane wymaga zastosowania minimum dwóch kolejek system z wieloma kolejkami procesów oczekujących na zdarzenie gdy pojawia się zdarzenie system operacyjny musi przejrzeć kolejkę szukając procesów, który związane są z danym zdarzeniem w celu zapewnienia większej wydajności lepiej jest gdy dla każdego zdarzenia istnieje oddzielna kolejka Rok akademicki 2009/2010, Wykład nr 5 19/42 Rok akademicki 2009/2010, Wykład nr 5 20/42 Zarządzanie dyskowymi operacjami we/wy Strategie szeregowania żądań dostępu do dysku operacje na dyskach twardych są obecnie o kilka rzędów wielkości wolniejsze niż operacje na pamięci operacyjnej wydajność systemu przechowywania danych ma zatem bardzo duży wpływ na wydajność całego systemu komputerowego Parametry wydajności dysku: odczytanie lub zapisanie danych na dysku wymaga ustawienia głowicy na wybranej ścieżce oraz w początkowym obszarze sektora na ścieżce czas potrzebny do ustawienia głowicy na ścieżce nosi nazwę czasu wyszukiwania (seek time) - dla dysków 3,5 calowych < 10 ms czas potrzebny, by początek sektora zrównał się z głowicą nosi nazwę opóźnienia rotacyjnego (rotational delay) dysku - średnio ok. 2 ms łączny czas wyszukiwania oraz opóźnienia rotacyjnego równa się czasowi dostępu (access time) czas potrzebny do zrealizowania samej operacji transferu danych (odczyt/zapis) nosi nazwę czasu transferu (transfer time) zmniejszenie średniego czasu wyszukiwania można osiągnąć poprzez zastosowanie odpowiedniej strategii szeregowania żądań dostępu do dysku zazwyczaj w systemie istnieje wiele procesów zgłaszających żądanie operacji odczytu/zapisu różnych ścieżek na dysku załóżmy, że wymagany jest dostęp (odczyt lub zapis ścieżek) o następujących numerach: 98, 183, 37, 122, 14, 124, 65, 67 Algorytmy szeregowania: FIFO (First-In-First-Out), znany także jako FCFS (First Come First Served) SSTF (Shortest Service Time First, Short Seek Time First) SCAN C-SCAN

Rok akademicki 2009/2010, Wykład nr 5 21/42 Rok akademicki 2009/2010, Wykład nr 5 22/42 Strategie szeregowania żądań dostępu do dysku Algorytm FIFO (First-In-First-Out) najprostsza forma szeregowania, elementy są przetwarzane w kolejności sekwencyjnej algorytm nazywany także algorytmem FCFS - First Come First Served zalety: prosty w implementacji wady: długi czas wyszukiwania przykład: 98, 183, 37, 122, 14, 124, 65, 67 Strategie szeregowania żądań dostępu do dysku Algorytm SSTF (Shortest Service Time First) polega na wyborze żądania operacji dyskowej we/wy, która wiąże się z najkrótszym przesunięciem głowicy z jej bieżącej lokalizacji inne tłumaczenie skrótu SSTF - Short Seek Time First zalety: lepsza wydajność od algorytmu FIFO wady: zagłodzenie żądań przy dużej liczbie napływających żądań przykład: 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 200 Rok akademicki 2009/2010, Wykład nr 5 23/42 Rok akademicki 2009/2010, Wykład nr 5 24/42 Strategie szeregowania żądań dostępu do dysku Algorytm SCAN głowica porusza się od prawej strony do lewej (i na odwrót) obsługując żądania, które napotka algorytm ten nazywany jest także skanowaniem lub algorytmem windy przykład: 98, 183, 37, 122, 14, 124, 65, 67 Strategie szeregowania żądań dostępu do dysku Algorytm C-SCAN głowica porusza się od lewej do prawej obsługując żądania, które napotka po dojściu do ostatniej ścieżki ramię powraca do drugiego końca dysku i rozpoczyna od nowa zmniejsza się w ten sposób maksymalne opóźnienie związane z nowymi żądaniami przykład: 98, 183, 37, 122, 14, 124, 65, 67 0 14 37 53 65 67 98 122 124 183 200

Rok akademicki 2009/2010, Wykład nr 5 25/42 Rok akademicki 2009/2010, Wykład nr 5 26/42 Metody przydziału pamięci dyskowej Alokacja ciągła każdy plik zajmuje ciąg kolejnych bloków na dysku plik zdefiniowany jest przez adres pierwszego bloku i ilość kolejnych zajmowanych bloków zalety: małe opóźnienia w transmisji danych, łatwy dostęp do dysku wady: trudność w znalezieniu miejsca na nowy plik Metody przydziału pamięci dyskowej Alokacja listowa każdy plik jest listą powiązanych ze sobą bloków dyskowych, które mogą znajdować się w dowolnym miejscu na dysku w katalogu dla każdego pliku zapisany jest wskaźnik do pierwszego i ostatniego bloku pliku każdy blok zawiera wskaźnik do następnego bloku Rok akademicki 2009/2010, Wykład nr 5 27/42 Rok akademicki 2009/2010, Wykład nr 5 28/42 Metody przydziału pamięci dyskowej System plików FAT (File Allocation Table) Alokacja indeksowa każdy plik ma własny blok indeksowy, będący tablicą adresów bloków dyskowych w katalogu zapisany jest dla każdego pliku adres bloku indeksowego opracowany na przełomie lat 70. i 80. dla systemu MS-DOS występuje w czterech wersjach: FAT12, FAT16, FAT32 i exfat (FAT64) numer występujący po słowie FAT oznacza liczbę bitów przeznaczonych do kodowania (numeracji) jednostek alokacji pliku (JAP), tzw. klastrów (ang. cluster) w tablicy alokacji plików 12 bitów w systemie FAT12 16 bitów w systemie FAT16 32 bity w systemie FAT32 64 bity w systemie exfat (FAT64) ogólna struktura dysku logicznego / dyskietki w systemie FAT: Rekord ładujący + sektory zarezerwowane Tablica rozmieszczenia plików - FAT Kopia FAT Katalog główny (FAT12 i FAT16) Miejsce na pliki i podkatalogi

Rok akademicki 2009/2010, Wykład nr 5 29/42 Rok akademicki 2009/2010, Wykład nr 5 30/42 FAT12 FAT12 - Rekord ładujący system plików FAT12 przeznaczony jest dla nośników o małej pojemności obsługuje 2 12 = 4096 jednostek alokacji, max. rozmiar partycji to 16 MB rekord ładujący zajmuje pierwszy sektor dyskietki lub dysku logicznego (sektor o numerze 0 w sensie numeracji liniowej) i zawiera dane: instrukcja skoku do początku programu ładującego (3 bajty) nazwa wersji systemu operacyjnego (8 bajtów) struktura BPB (ang. BIOS Parametr Block) - blok parametrów BIOS (25 bajtów) rozszerzony BPB (ang. Extended BPB, 26 bajtów) wykonywalny kod startowy uruchamiający system operacyjny (448 bajtów) znacznik końca sektora - 55AAH (2 bajty) Bajty Rozmiar Zawartość 00H-02H 3 Instrukcja skoku do początku programu ładującego 03H-0AH 8 Nazwa wersji systemu (w znakach ASCII) 0BH-0CH 2 Rozmiar jednego sektora w bajtach 0DH 1 Liczba sektorów w jednostce alokacji plików (JAP) 0EH-0FH 2 Liczba sektorów zarezerwowanych, poprzedzających FAT 10H 1 Liczba tablic FAT 11H-12H 2 Maksymalna liczba plików w katalogu głównym 13H-14H 2 Całkowita liczba sektorów na dysku (do 32 MB) 15H 1 Bajt identyfikacji nośnika 16H-17H 2 Liczba sektorów zajętych przez tablicę FAT 18H-19H 2 Liczba sektorów na ścieżce 1AH-1BH 2 Liczba głowic (stron) dysku 1CH-1FH 4 Liczba sektorów ukrytych 20H-23H 4 Całkowita liczba sektorów na dysku (jeśli dysk jest większy niż 32 MB) 24H 1 Numer mechanizmu dyskowego 25H 1 Zarezerwowane 26H 1 Znacznik rozszerzonego rekordu ładującego (wartość 29H) 27H-2AH 4 Numer seryjny dysku 2BH-35H 11 Etykieta 36H-3DH 8 Typ systemu plików 3EH-1FDH 448 Wykonywalny kod startowy uruchamiający system operacyjny 1FEH-1FFH 2 Znacznik końca sektora (55AAH) Rok akademicki 2009/2010, Wykład nr 5 31/42 Rok akademicki 2009/2010, Wykład nr 5 32/42 FAT12 FAT12 tablica rozmieszczenia plików FAT tworzy swego rodzaju mapę plików zapisanych na dysku za tablicą FAT znajduje się jej kopia, która nie jest wykorzystywana miejsce na dysku przydzielane jest plikom w jednostkach alokacji - JAP za kopią tablicy FAT znajduje się katalog główny zajmujący określoną dla danego typu dysku liczbę sektorów katalog główny zawiera 32-bajtowe pola mogące opisywać pliki, podkatalogi lub etykietę dysku Zawartość pola: Atrybuty pliku: Bajty Rozmiar Zawartość Bit Znaczenie 00H-07H 8 Nazwa pliku w kodach ASCII 08H-0AH 3 Rozszerzenie nazwy pliku 0BH 1 Atrybuty pliku 0CH-15H 10 Zarezerwowane 16H-17H 2 Czas utworzenia lub aktualizacji pliku 18H-19H 2 Data utworzenia lub aktualizacji pliku 1AH-1BH 2 Numer pierwszej JAP 1CH-1DH 2 Mniej znaczące słowo rozmiaru pliku 1EH-1FH 2 Bardziej znaczące słowo rozmiaru pliku 0 Plik tylko do odczytu (read only) 1 Plik ukryty (hidden) 2 Plik systemowy (system) 3 Etykieta dysku (volume label) 4 Podkatalog 5 Plik archiwalny (archive) 6,7 Nie wykorzystywane

Rok akademicki 2009/2010, Wykład nr 5 33/42 Rok akademicki 2009/2010, Wykład nr 5 34/42 FAT12 FAT12 przykładowa zawartość katalogu głównego: pozostałą część dysku zajmuje miejsce na pliki i podkatalogi 0000 49 4F 20 20 20 20 20 20-53 59 53 21 00 00 00 00 IO SYS!... 0010 00 00 00 00 00 00 C0 32-BF 1C 02 00 46 9F 00 00...2...F... 0020 4D 53 44 4F 53 20 20 20-53 59 53 21 00 00 00 00 MSDOS SYS!... 0030 00 00 00 00 00 00 C0 32-BF 1C 52 00 FA 94 00 00...2..R... 0040 43 4F 4D 4D 41 4E 44 20-43 4F 4D 20 00 00 00 00 COMMAND COM... 0050 00 00 00 00 00 00 C0 32-BF 1C 9D 00 75 D5 00 00...2...u... 0060 41 54 54 52 49 42 20 20-45 58 45 20 00 00 00 00 ATTRIB EXE... 0070 00 00 00 00 00 00 C0 32-BF 1C 08 01 C8 2B 00 00...2...+.. podkatalogi nie są ograniczone co do wielkości, zapisywane są na dysku w sposób identyczny jak pliki użytkowe i także zawierają 32-bajtowe pola pierwszy bajt nazwy pliku określa również stan pola katalogu: Wartość 00H E5H 05H 2EH Inna wartość Pozycja dotychczas nieużywana Plik skasowany Znaczenie Plik skasowany - jeśli pierwszym znakiem nazwy pliku jest E5H 2EH - kropka. Oznacza podkatalog, jeśli następnym znakiem jest również kropka, to pole Numer pierwszej JAP zawiera JAP katalogu nadrzędnego danego katalogu (0 - jeśli katalogiem nadrzędnym jest katalog główny) Pierwszy znak nazwy pliku Rok akademicki 2009/2010, Wykład nr 5 35/42 Rok akademicki 2009/2010, Wykład nr 5 36/42 FAT12 - położenie pliku na dysku FAT12 - struktura dyskietki (1,44 MB) w katalogu, w 32-bajtowym polu każdego pliku wpisany jest początkowy numer JAP numer ten określa logiczny numer sektora, w którym znajduje się początek pliku ten sam numer JAP jest jednocześnie indeksem do miejsca w tablicy FAT, w którym wpisany jest numer kolejnej JAP numer wpisany we wskazanym miejscu tablicy rozmieszczenia plików wskazuje pierwszy sektor następnej części pliku i równocześnie położenie w tablicy FAT numeru następnej JAP w ten sposób tworzy się łańcuch, określający położenie całego pliku jeśli numer JAP składa się z samych FFF, to oznacza to koniec pliku całkowita liczba sektorów na dyskietce: 2880 max. liczba plików w katalogu głównym: 224 liczba sektorów systemowych: 33 liczba sektorów na pliki i podkatalogi: 2880-33 = 2847 dostępne miejsce na pliki i podkatalogi: 2847 x 512 = 1 457 664 bajty Rekord ładujący + sektory zarezerwowane Tablica rozmieszczenia plików - FAT Kopia FAT Katalog główny (FAT12 i FAT16) Miejsce na pliki i podkatalogi 1 sektor 9 sektorów 9 sektorów 14 sektorów 2847 sektorów

Rok akademicki 2009/2010, Wykład nr 5 37/42 Rok akademicki 2009/2010, Wykład nr 5 38/42 FAT16 FAT32 po raz pierwszy pojawił się w systemie MS-DOS 3.3 ogólna struktura dyskietki / dysku logicznego w systemie FAT16 jest taka sama jak w przypadku FAT12 do numeracji jednostek alokacji pliku (JAP) przeznaczonych jest 16 bitów maksymalna liczba jednostek alokacji ograniczona jest do 2 16 czyli 65536 gdyby rozmiar JAP wynosił jeden sektor, to dysk mógłby zawierać nie więcej niż 65536 512 bajtów czyli 32 MB w systemach DOS i Windows 95 maksymalny rozmiar JAP to 2 15 bajtów czyli 32 kb, stąd maksymalny rozmiar dysku logicznego w tych systemach to 65536 32 kb czyli ok. 2 GB w systemie Windows 2000 górna granica rozmiaru JAP wynosi 2 16 bajtów (64 kb), czyli rozmiar dysku logicznego zwiększa się do 4 GB po raz pierwszy wprowadzony w systemie Windows 95 OSR2 do adresowania JAP stosuje się, obcięty o 4 najstarsze bity, adres 32-bitowy i dlatego dysk z FAT32 może zawierać maksymalnie 2 28 JAP jeśli rozmiar JAP wynosi od 4 kb do 32 kb, to teoretycznie dysk może mieć rozmiar 8 TB, ale praktycznie ograniczenie to liczba 2 32 sektorów, czyli 2 TB system Windows 2000 obniża tę wartość do 32 GB, gdyż umożliwia to zapis całej tablicy FAT w pamięci podręcznej, co poprawia wydajność systemu w systemie FAT32 można formatować tylko dyski, nie można natomiast zainstalować go na dyskietkach systemy DOS i Windows 95/NT nie mogą odczytywać partycji FAT32 ogólna struktura systemu FAT32 jest taka sama jak w FAT12/FAT16 - nie ma tylko miejsca przeznaczonego na katalog główny Rok akademicki 2009/2010, Wykład nr 5 39/42 Rok akademicki 2009/2010, Wykład nr 5 40/42 FAT32 FAT - wady systemu plików FAT w systemie FAT32 katalog główny może znajdować się w dowolnym miejscu na dysku i może zawierać maksymalnie 65 532 pliki i katalogi Bajty Rozmiar Zawartość 00H-07H 8 Nazwa pliku w kodach ASCII 08H-0AH 3 Rozszerzenie nazwy pliku 0BH 1 Atrybuty pliku 0CH 1 Wielkość liter nazwy i rozszerzenia pliku 0DH 1 Czas utworzenia w milisekundach 0EH-0FH 2 Czas utworzenia 10H-11H 2 Data utworzenia 12H-13H 2 Czas ostatniego dostępu 14H-15H 2 Numer pierwszej JAP (16 starszych bitów) 16H-17H 2 Czas utworzenia lub aktualizacji pliku 18H-19H 2 Data utworzenia lub aktualizacji pliku 1AH-1BH 2 Numer pierwszej JAP (16 młodszych bitów) 1CH-1DH 2 Mniej znaczące słowo rozmiaru pliku 1EH-1FH 2 Bardziej znaczące słowo rozmiaru pliku fragmentacja wewnętrzna - nawet najmniejszy plik zajmuje całą JAP - gdy rozmiar klastra jest duży, a na dysku znajduje się dużo małych plików - pewna część miejsca jest tracona fragmentacja zewnętrzna - silna fragmentacja plików pomiędzy wiele klastrów o bardzo różnym fizycznym położeniu na dysku (konieczność okresowej defragmentacji przy użyciu specjalnych narzędzi programowych) duże prawdopodobieństwo powstawania błędów zapisu, polegających na przypisaniu jednego klastra dwóm plikom (tzw. crosslinks), co kończy się utratą danych z jednego lub obu skrzyżowanych plików typowym błędem, pojawiającym się w systemie FAT, jest również pozostawianie tzw. zagubionych klastrów (lost chains), tj. jednostek alokacji nie zawierających informacji, ale opisanych jako zajęte brak mechanizmów ochrony - praw dostępu

Rok akademicki 2009/2010, Wykład nr 5 41/42 Rok akademicki 2009/2010, Wykład nr 5 42/42 exfat (FAT64) Koniec wykładu nr 5 stworzony przez Microsoft na potrzeby pamięci Flash po raz pierwszy pojawił się w listopadzie 2006 roku w Windows Embedded CE 6.0 i Windows Vista SP1 obsługiwany także przez Windows 7, Windows Server 2008, Windows Server 2003, Windows XP SP2/SP3, Linux może być używany wszędzie tam, gdzie NTFS nie jest najlepszym rozwiązaniem ze względu na dużą nadmiarowość struktury danych podstawowe cechy: maksymalna wielkość pliku to 2 64 = 16 EB maksymalna wielkość klastra - do 32 MB nieograniczona liczba plików w pojedynczym katalogu prawa dostępu do plików i katalogów bezpieczny transfer danych (TFAT - Transaction Safe FAT File System) szybszy zapis plików na nośniku dzięki funkcji Free Space Bitmap Dziękuję za uwagę!