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

Podobne dokumenty
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

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

dr inż. Jarosław Forenc

Informatyka 2. Wykład nr 10 ( ) Plan wykładu nr 10. Politechnika Białostocka. - Wydział Elektryczny. ext2. ext2. dr inŝ.

dr inŝ. Jarosław Forenc

dr inŝ. Jarosław Forenc

dr inż. Jarosław Forenc

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

dr inż. Jarosław Forenc

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

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

System plików przykłady. implementacji

System plików przykłady implementacji

Sektor. Systemy Operacyjne

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

dr inż. Jarosław Forenc

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

Systemy plików FAT, FAT32, NTFS

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

16MB - 2GB 2MB - 128MB

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

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

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

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

System plików. Definicje:

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

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

Zarządzanie pamięcią operacyjną

1. Pliki i ich organizacja

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Struktura dysku. Dyski podstawowe i dynamiczne

Zarządzanie pamięcią operacyjną

System plików Linuksa

Wbudowane systemy operacyjne

dr inż. Jarosław Forenc

dr inŝ. Jarosław Forenc

Podstawowe wiadomości o systemach plików.

Zarządzanie pamięcią w systemie operacyjnym

Systemy operacyjne System plików

Materiały pomocnicze 1

Zarządzanie pamięcią operacyjną zagadnienia podstawowe

PROJEKTOWANIE SYSTEMÓW KOMPUTEROWYCH

System plików warstwa logiczna

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

Architektura komputerów

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

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

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

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

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

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

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

Działanie systemu operacyjnego

Schematy zarzadzania pamięcia

System plików. Definicje:


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

Tworzenie partycji i dysków logicznych

Działanie systemu operacyjnego

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

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

architektura komputerów w. 8 Zarządzanie pamięcią

Działanie systemu operacyjnego

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

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

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

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

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

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

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

Architektura Komputerów

Zaliczenie przedmiotu:

Technologie informacyjne (2) Zdzisław Szyjewski

Zadania systemu operacyjnego. Operacje na plikach i folderach.

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

Poziomy wymagań Konieczny K Podstawowy- P Rozszerzający- R Dopełniający- D Uczeń: z zakresu systemów

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

Opis efektów kształcenia dla modułu zajęć

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

Działanie systemu operacyjnego

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

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

Architektura komputerów

Charakterystyka systemów plików

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

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

Architektura komputerów

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Zarządzanie wolną przestrzenią

Administracja systemem Linux

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

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

Zarządzanie partycjami

Wiadomości i umiejętności

Struktury systemów operacyjnych

Transkrypt:

Rok akademicki 2012/2013, Wykład nr 7 2/41 Plan wykładu nr 7 Informatyka 1 Politechnika Białostocka - Wydział Elektryczny Elektrotechnika, semestr II, studia niestacjonarne I stopnia Rok akademicki 2012/2013 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, alokacja listowa, alokacja indeksowa) systemy plików: FAT, NTFS, Zarządzanie pamięcią operacyjną Wykład nr 7 (11.05.2013) dr inż. Jarosław Forenc Rok akademicki 2012/2013, Wykład nr 7 3/41 Rok akademicki 2012/2013, Wykład nr 7 4/41 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 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 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 Algorytmy szeregowania żądań dostępu do dysku: FIFO (znany także jako FCFS) SSTF SCAN C-SCAN 0 14 37 53 6567 98 122124 183 200

Rok akademicki 2012/2013, Wykład nr 7 5/41 Rok akademicki 2012/2013, Wykład nr 7 6/41 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 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 Rok akademicki 2012/2013, Wykład nr 7 7/41 Rok akademicki 2012/2013, Wykład nr 7 8/41 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 6567 98 122124 183 200 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

Rok akademicki 2012/2013, Wykład nr 7 9/41 Rok akademicki 2012/2013, Wykład nr 7 10/41 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 Metody przydziału pamięci dyskowej 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 Rok akademicki 2012/2013, Wykład nr 7 11/41 Rok akademicki 2012/2013, Wykład nr 7 12/41 System plików FAT (File Allocation Table) FAT12 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 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 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 rekord ładujący zawiera następujące 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)

Rok akademicki 2012/2013, Wykład nr 7 13/41 Rok akademicki 2012/2013, Wykład nr 7 14/41 FAT12 FAT12 tablica rozmieszczenia plików FAT tworzy swego rodzaju mapę plików zapisanych na dysku katalog główny zawiera 32-bajtowe pola mogące opisywać pliki, podkatalogi lub etykietę dysku za tablicą FAT znajduje się jej kopia, która nie jest wykorzystywana Zawartość pola: Atrybuty pliku: Bajty Rozmiar Zawartość Bit Znaczenie 00H-07H 8 Nazwa pliku w kodach ASCII 0 Plik tylko do odczytu (read only) 08H-0AH 3 Rozszerzenie nazwy pliku 1 Plik ukryty (hidden) za kopią tablicy FAT znajduje się katalog główny zajmujący określoną dla danego typu dysku liczbę sektorów 0BH 1 Atrybuty pliku 0CH-15H 10 Zarezerwowane 16H-17H 2 Czas utworzenia lub aktualizacji pliku 18H-19H 2 Data utworzenia lub aktualizacji pliku 2 Plik systemowy (system) 3 Etykieta dysku (volume label) 4 Podkatalog 5 Plik archiwalny (archive) 1AH-1BH 2 Numer pierwszej JAP 6,7 Nie wykorzystywane 1CH-1DH 2 Mniej znaczące słowo rozmiaru pliku 1EH-1FH 2 Bardziej znaczące słowo rozmiaru pliku Rok akademicki 2012/2013, Wykład nr 7 15/41 Rok akademicki 2012/2013, Wykład nr 7 16/41 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...+.. pierwszy bajt nazwy pliku określa również stan pola katalogu: Wartość Znaczenie miejsce na dysku przydzielane jest plikom w jednostkach alokacji - JAP 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 00H Pozycja dotychczas nieużywana E5H Plik skasowany 05H Plik skasowany - jeśli pierwszym znakiem nazwy pliku jest E5H 2EH 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) Inna wartość Pierwszy znak nazwy pliku

Rok akademicki 2012/2013, Wykład nr 7 17/41 Rok akademicki 2012/2013, Wykład nr 7 18/41 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 = 1457664 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 2012/2013, Wykład nr 7 19/41 Rok akademicki 2012/2013, Wykład nr 7 20/41 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 2012/2013, Wykład nr 7 21/41 Rok akademicki 2012/2013, Wykład nr 7 22/41 exfat (FAT64) NTFS (New Technology File System) stworzony przez Microsoft na potrzeby pamięci Flash struktura wolumenu (dysku) NTFS: 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 Boot Sector rozpoczyna się od zerowego sektora partycji i może zajmować 16 kolejnych sektorów MFT (Master File Table) - specjalny plik, niewidoczny dla użytkownika, pełniący rolę tablicy alokacji plików w systemie FAT - są w nim zapisane wszystkie dane niezbędne do odczytania pliku z dysku w każdym rekordzie zapisane są atrybuty, które jednoznacznie określają położenie i zawartość odpowiadających im plików lub katalogów pierwsze rekordy są zarezerwowane dla tzw. metaplików pozostała część MFT przeznaczona jest na rekordy wszystkich plików i katalogów umieszczonych na dysku (ok. 12,5% miejsca na dysku) Rok akademicki 2012/2013, Wykład nr 7 23/41 Rok akademicki 2012/2013, Wykład nr 7 24/41 NTFS NTFS - Pliki struktura wolumenu (dysku) NTFS: pliki w systemie NTFS są reprezentowane w MFT przez rekord zawierający atrybuty: system NTFS traktuje każdy plik jako zbiór atrybutów elementy takie jak nazwa, prawa dostępu, a nawet dane są atrybutami wszystkie atrybuty mają dwie części składowe: nagłówek i blok danych $Standard_Information $File_Name $Security_Descriptor $Data w przypadku małych plików wszystkie jego atrybuty zapisywane są bezpośrednio w MFT nagłówek zawiera informacje opisujące atrybut, np. całkowitą liczbę bajtów zajmowanych przez atrybut, rozmiar bloku danych atrybutu, położenie bloku danych, znacznik czasu, wskaźniki stanu $Standard_Information (Informacje standardowe) $File_Name (Nazwa pliku) $Security_Descriptor (Opis praw dostępu) $Data (Dane) w bloku danych atrybutu znajdują się informacje zgodne z przeznaczeniem atrybutu jeśli wszystkie atrybuty mieszczą się wewnątrz pojedynczego rekordu MFT, wówczas nazywane są rezydentnymi

Rok akademicki 2012/2013, Wykład nr 7 25/41 Rok akademicki 2012/2013, Wykład nr 7 26/41 NTFS - Pliki NTFS - Katalogi jeśli atrybuty pliku są duże (najczęściej dotyczy to atrybutu $Data), to w rekordzie w MFT umieszczany jest tylko nagłówek atrybutu oraz wskaźnik do jego bloku danych, a sam blok danych przenoszony jest na dysk poza MFT atrybuty niemieszczące się całkowicie w MFT nazywane są nierezydentnymi blok danych takiego atrybutu zapisywany jest w przyległych klastrach jeśli nie jest to możliwe, to dane zapisywane są w kilku ciągach jednostek alokacji i wtedy każdemu ciągowi odpowiada wskaźnik w rekordzie MFT katalogi reprezentowane są przez rekordy zawierające trzy takie same atrybuty jak pliki: $Standard_Information $File_Name $Security_Descriptor zamiast atrybutu $Data umieszczone są trzy atrybuty przeznaczone do tworzenia list, sortowania oraz lokalizowania plików i podkatalogów $Index_Root $Index_Allocation $Bitmap Rok akademicki 2012/2013, Wykład nr 7 27/41 Rok akademicki 2012/2013, Wykład nr 7 28/41 pierwszy system plików w Linuxie: Minix (14-znakowe nazwy plików i maksymalny rozmiar wynoszący 64 MB) Boot Sector (blok startowy) przechowuje informacje wykorzystywane przez system operacyjny podczas jego uruchamiania system Minix zastąpiono nowym systemem nazwanym rozszerzonym systemem plików - ext (ang. extended file system), a ten, w styczniu 1993 r., systemem (ang. second extended file system) w systemie podstawowym elementem podziału dysku jest blok wielkość bloku jest stała w ramach całego systemu plików, określana na etapie jego tworzenia i może wynosić 1024, 2048 lub 4096 bajtów w celu zwiększenia bezpieczeństwa i optymalizacji zapisu na dysku posługujemy się nie pojedynczymi blokami, a grupami bloków na poziomie logicznym grupę bloków tworzą: deskryptor grupy (32 bajty) blok z mapą zajętości bloków danych (1 blok dyskowy) blok z mapą zajętości i-węzłów (1 blok dyskowy) bloki z tablicą i-węzłów bloki danych Deskryptor grupy Blok z mapą bitową zajętości bloków danej grupy Blok z mapą bitową zajętości i-węzłów danej grupy Tablica i-węzłów Bloki danych

Rok akademicki 2012/2013, Wykład nr 7 29/41 Rok akademicki 2012/2013, Wykład nr 7 30/41 każda grupa fizyczna bloków zawiera informacje o jednej grupie logicznej, a ponadto pewne informacje o całym systemie plików każda grupa fizyczna bloków zawiera informacje o jednej grupie logicznej, a ponadto pewne informacje o całym systemie plików w każdej grupie fizycznej bloków znajduje się kopia tego samego bloku identyfikacyjnego oraz kopia bloków z deskryptorami wszystkich grup blok identyfikacyjny zawiera informacje na temat systemu plików: numer urządzenia, na którym jest super-block rodzaj systemu plików rozmiar bloku struktury do synchronizacji dostępu czas dokonanej ostatnio zmiany informacje specyficzne dla konkretnej implementacji w deskryptorach grupy znajdują się informacje na temat grupy bloków: numer bloku z bitmapą zajętości bloków grupy numer bloku z bitmapą zajętości i-węzłów numer pierwszego bloku z tablicą i-węzłów liczba wolnych bloków liczba wolnych i-węzłów w grupie liczba katalogów w grupie Rok akademicki 2012/2013, Wykład nr 7 31/41 Rok akademicki 2012/2013, Wykład nr 7 32/41 - i-węzeł każda grupa fizyczna bloków zawiera informacje o jednej grupie logicznej, a ponadto pewne informacje o całym systemie plików blok z mapą bitową zajętości bloków danej grupy jest tablicą bitów o rozmiarze jednego bloku jeśli blok ma rozmiar 1 kb to pojedynczą mapą można opisać fizyczna grupę 8096 bloków czyli 8 MB danych jeśli natomiast blok ma rozmiar 4 kb, to fizyczna grupa bloków zajmuje 128 MB danych przed tablicą i-węzłów znajduje się blok z mapa bitową zajętości i-węzłów danej grupy - jest to tablica bitów, z których każdy zawiera informację czy dany i-węzeł jest wolny czy zajęty pliki na dysku reprezentowane są przez i-węzły (ang. i-node) każdemu plikowi odpowiada dokładnie jeden i-węzeł, który jest strukturą zawierającą m.in. następujące pola: numer i-węzła w dyskowej tablicy i-węzłów typ pliku: zwykły, katalog, łącze nazwane, specjalny, znakowy prawa dostępu do pliku: dla wszystkich, grupy, użytkownika liczba dowiązań do pliku identyfikator właściciela pliku identyfikator grupy właściciela pliku rozmiar pliku w bajtach (max. 4 GB) czas utworzenia pliku czas ostatniego dostępu do pliku czas ostatniej modyfikacji pliku liczba bloków dyskowych zajmowanych przez plik

Rok akademicki 2012/2013, Wykład nr 7 33/41 Rok akademicki 2012/2013, Wykład nr 7 34/41 - i-węzeł - i-węzeł położenie pliku na dysku określają w i-węźle pola: 12 adresów bloków zawierających dane (w systemie Unix jest ich 10) - bloki bezpośrednie 1 adres bloku zawierającego adresy bloków zawierających dane - blok jednopośredni (ang. single indirect block) 1 adres bloku zawierającego adresy bloków jednopośrednich - blok dwupośredni (ang. double indirect block) 1 adres bloku zawierającego adresy bloków dwupośrednich - blok trójpośredni (ang. triple indirect block) /* Structure of an inode on the disk */ struct _inode {... u16 i_mode; /* File mode */ u16 i_uid; /* Owner Uid */ u32 i_size; /* Size in bytes */ u32 i_atime; /* Access time */ u32 i_ctime; /* Creation time */ u32 i_mtime; /* Modification time */ u32 i_dtime; /* Deletion Time */ u16 i_gid; /* Group Id */ u16 i_links_count; /* Links count */ u32 i_blocks; /* Blocks count */ u32 i_flags; /* File flags */ union { struct { u32 l_i_reserved1; } linux1; struct { u32 h_i_translator; } hurd1; struct { u32 m_i_reserved1; } masix1; } osd1; /* OS dependent 1 */ Rok akademicki 2012/2013, Wykład nr 7 35/41 Rok akademicki 2012/2013, Wykład nr 7 36/41 Zarządzanie pamięcią nazwy plików przechowywane są w katalogach, które w systemie Linux są plikami, ale o specjalnej strukturze katalogi składają się z ciągu tzw. pozycji katalogowych o nieustalonej z góry długości każda pozycja opisuje dowiązanie do jednego pliku i zawiera: numer i-węzła (4 bajty) rozmiar pozycji katalogowej (2 bajty) długość nazwy (2 bajty) nazwa (od 1 do 255 znaków) struct _dir_entry { _u32 inode /* numer i-wezla */ _u16 rec_len /* dlugosc pozycji katalogowej */ _u16 name_len /* dlugosc nazwy */ char name[ext2_name_len] /* nazwa */ } podsystem zarządzania pamięcią powinien zapewnić: izolację procesu - zabezpieczenie przed nadpisywaniem obszarów pamięci jednych procesów przez inne procesy automatyczną alokację oraz zarządzanie obsługę modularnego oprogramowania - możliwość definiowania modułów programów oraz ich dynamicznego tworzenia, usuwania i zmieniania rozmiaru zabezpieczenia oraz ochronę danych długoterminowe przechowywanie danych - również po wyłączeniu komputera (realizowane przez system plików i pamięć dyskową)

Rok akademicki 2012/2013, Wykład nr 7 37/41 Rok akademicki 2012/2013, Wykład nr 7 38/41 Zarządzanie pamięcią Zarządzanie pamięcią (relokacja) w systemie komputerowym uruchomionych jest jednocześnie wiele programów (procesów) podczas wykonywania programu system operacyjny może przenosić program pomiędzy pamięcią operacyjną a pamięcią pomocniczą (dysk twardy) rozmiar pamięci operacyjnej jest ograniczony i niewystarczający, aby przechowywać wszystkie programy oraz struktury danych potrzebne aktywnym procesom oraz systemowi operacyjnemu niektóre procesy (lub ich część) są przechowywane w pamięci pomocniczej zadaniem systemu operacyjnego jest więc wydajne przenoszenie programów i danych do i z pamięci operacyjnej czyli zarządzanie pamięcią program przenoszony z dysku za każdym razem umieszczany jest w innym obszarze pamięci operacyjnej, dlatego konieczna jest relokacja procesu do tego obszaru pamięci po załadowaniu procesu do pamięci system operacyjny zna położenie: bloku kontrolnego procesu, punktu wejścia do procesu oraz stosu w przypadku rozgałęzień rozkazów oraz odwołań do danych, system operacyjny oraz procesor muszą konwertować odwołania do pamięci znalezione w kodzie programu na rzeczywiste adresy pamięci fizycznej rozgałęzienie rozkazu odwołanie do danych Blok kontrolny procesu Program Dane Stos informacje kontrolne procesu punkt wejścia do procesu wierzchołek stosu obraz procesu w pamięci operacyjnej Rok akademicki 2012/2013, Wykład nr 7 39/41 Rok akademicki 2012/2013, Wykład nr 7 40/41 Zarządzanie pamięcią - sprzętowa obsługa relokacji Zarządzanie pamięcią adres logiczny - odniesienie do lokalizacji w pamięci niezależne od bieżącej alokacji danych w pamięci adres fizyczny - rzeczywista lokalizacja w pamięci operacyjnej adres względny - adres logiczny wyrażony jako lokalizacja względna wobec jakiegoś znanego punktu (zazwyczaj wartości w rejestrze) adres bezwzględny - powstaje poprzez sumowanie adresu względnego i wartości z rejestru bazowego jeśli adres bezwzględny mieści się wewnątrz obszaru programu, to rozkaz może być wykonany, w przeciwnym wypadku generowane jest przerwanie z informacją o błędzie Rejestr bazowy Rejestr graniczny Sumator Komparator adres względny adres bezwzględny przerwanie wysłane do systemu operacyjnego Blok kontrolny procesu Program Dane Stos w nowoczesnych wieloprogramowych systemach operacyjnych zarządzanie pamięcią opiera się na bardzo zaawansowanych schematach nazywanych pamięcią wirtualną pamięć wirtualna bazuje na wykorzystaniu segmentacji i stronicowania z historycznego punktu widzenia w systemach komputerowych stosowane były/są następujące metody zarządzania pamięcią: partycjonowanie statyczne partycjonowanie dynamiczne proste stronicowanie prosta segmentacja stronicowanie pamięci wirtualnej segmentacja pamięci wirtualnej stronicowanie i segmentacja pamięci wirtualnej obraz procesu w pamięci operacyjnej

Rok akademicki 2012/2013, Wykład nr 7 41/41 Koniec wykładu nr 7 Dziękuję za uwagę!