Systemy operacyjne System plików

Podobne dokumenty
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 OPERACYJNE WYKLAD 5 - zarządzanie pamięcią pomocniczą

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

System plików warstwa fizyczna

System plików warstwa fizyczna

System plików warstwa fizyczna

Zarządzanie plikami: Systemy operacyjne / System plików str.4/40. System plików. Wymagania wobec systemu plików. System zarządzania plikami:

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

Systemy operacyjne System plików

Wykład 10 Systemy plików Interfejs i implementacja. Wojciech Kwedlo, Wykład z Systemów Operacyjnych -1- Wydział Informatyki PB

1. Ustanawianie ograniczeń na użycie zasobów

System plików przykłady. implementacji

System plików przykłady implementacji

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

Zazwyczaj rozmiar bloku jest większy od rozmiaru rekordu, tak więc. ich efektywna lokalizacja kiedy tylko zachodzi taka potrzeba.

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

Pobieranie argumentów wiersza polecenia

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

1. Pliki i ich organizacja

Postępowanie z dowodami cyfrowymi.

Sektor. Systemy Operacyjne

Wbudowane systemy operacyjne

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

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:

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

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

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

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

SUMA KONTROLNA (icmp_cksum) NUMER KOLEJNY (icmp_seq)

Obsługa plików Procesy

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

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

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

dr inŝ. Jarosław Forenc

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

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

DATABASE SNAPSHOT GEEK DIVE. Cezary Ołtuszyk Blog: coltuszyk.wordpress.com

Linux Kernel III. Character devices

16MB - 2GB 2MB - 128MB

Tworzenie partycji i dysków logicznych

dynamiczny przydział pamięci calloc() memset() memcpy( ) (wskaźniki!! )

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

"Klasyczna" struktura systemu operacyjnego:

Przykładowe B+ drzewo

SubVersion. Piotr Mikulski. SubVersion. P. Mikulski. Co to jest subversion? Zalety SubVersion. Wady SubVersion. Inne różnice SubVersion i CVS

PROCESORY ARM TRUDNO ZNALEŹĆ PROCESORY O TAK LICZNYCH, ORYGINALNYCH, NOWYCH, POMYSŁOWYCH ROZWIĄZANIACH!

System plików Linuksa

GLOBALNA DEDUPLIKACJA BLOKOWA W ŚRODOWISKU BACULA

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

SQL 4 Structured Query Lenguage

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

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Zarządzanie sieciami komputerowymi - wprowadzenie

Administracja systemem Linux

EXAMPLES of file operations using the library <stdio.h>

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

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

Modulacja i kodowanie. Labolatorium. Kodowanie źródłowe Kod Huffman a

Fizyczna organizacja danych w bazie danych

UNIX SYSTEM PLIKÓW. UNIX System plików

Administracja bazy danych Oracle 10g

Microsoft Visual SourceSafe uproszczona instrukcja użytkowania

Wdrożenie skalowalnego systemu plików GlusterFS w serwisach Gratka.pl. Łukasz Jagiełło l.jagiello@gratka-technologie.pl

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

Systemy plików FAT, FAT32, NTFS

Warstwy systemu Windows 2000

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

MS Visual Studio 2005 Team Suite - Performance Tool

Programowanie Proceduralne

Zarządzanie strukturą bazy danych Oracle11g

Indeksy. Wprowadzenie. Indeksy jednopoziomowe indeks podstawowy indeks zgrupowany indeks wtórny. Indeksy wielopoziomowe

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

dr inż. Jarosław Forenc

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Krótkie wprowadzenie do korzystania z OpenSSL

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

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

Administracja i programowanie pod Microsoft SQL Server 2000

Installation of EuroCert software for qualified electronic signature

WINDOWS NT. Diagram warstw systemu Windows NT

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Iteracyjny serwer TCP i aplikacja UDP

OPERACJE NA PLIKACH. Podstawowe pojęcia:

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

Indeksy. Indeks typu B drzewo

Struktury czyli rekordy w C/C++

Systemy Operacyjne ZAAWANSOWANE OPERACJE WEJŚCIA-WYJŚCIA DLA PLIKÓW

Internetowe bazy danych

klikamy Next 4. Wybieramy zgodność z systemem Virtual Machine hardware compatibility z listy zaznaczamy Workstation 6 Next 5.

Block Change Tracking

Wprowadzenie do BD Operacje na bazie i tabelach Co poza zapytaniami? Algebra relacji. Bazy Danych i Systemy informacyjne Wykład 2.

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4

Internetowe bazy danych

INSTRUKCJE JAK AKTYWOWAĆ SWOJE KONTO PAYLUTION

Transkrypt:

Systemy operacyjne [2] Zarządzanie plikami: zarządzanie plikami zadaniem systemu operacyjnego, dane wejściowe procesów pobierane z plików, dane wyjściowe zachowywane w plikach, nieulotność plików. Pojęcia dotyczące plików: pole, podstawowa jednostka danych, zawiera pojedynczą wartość charakteryzującą się rozmiarem i typem danych, rekord, kolekcja powiązanych pól traktowana jako pewna całość, plik, kolekcja podobnych rekordów traktowana jako pewna całość, identyfikowana przez unikatową nazwę z dostępem ograniczanym zadanymi prawami dostępu. [3] Zarządzanie plikami System zarządzania plikami: udostępnia wyłączną metodę dostępu do plików, zwalnia z konieczności implementacji własnych metod dostępu. Zadania systemu zarządzania plikami: gwarantowanie prawidłowości przechowywania danych w plikach, optymalizacja wydajności, oferowanie metod zarządzania danymi spełniających wymagania użytkowników, minimalizacja/ eliminacja potencjalnych możliwości uszkodzenia bądź utracenia danych,

udostępnianie obsługi wejścia/ wyjścia dla wielu użytkowników, udostępnianie obsługi wejścia/wyjścia dla jak największej klasy urządzeń do przechowywania danych. [4] Wymagania wobec systemu plików można tworzyć i modyfikować pliki, można mieć kontrolowany dostęp do plików innych użytkowników, można kontrolować dostęp do własnych plików, można zmieniać strukturę własnych plików na potrzeby aplikacji, można przemieszczać dane między plikami, można przechowywać i odtwarzać dane w przepadku uszkodzenia, można odwoływać się do plików poprzez nazwy symboliczne. [5] Funkcje systemu plików identyfikacja i lokalizacja wybranych plików, wykorzystanie katalogów w celu opisania lokalizacji i atrybutów poszczególnych plików, zarządzanie dostępem użytkowników do plików, blokowanie na czas dostępu do plików, zarządzanie alokacją wolnych bloków dla plików, zarządzanie przestrzenią wolnych bloków. Kryteria organizacji plików: szybki dostęp, łatwość aktualizacji, efektywność przechowywania, łatwość zarządzania, niezawodność. 2

[6] Rodzaje organizacji plików (I) sterta, plik sekwencyjny, plik indeksowany, plik z kodowaniem mieszającym. Istotne aspekty wpływające na przyjmowaną organizację wewnętrzną: możliwość rozszerzania, wydajność wstawiania, wydajność wyszukiwania, metody wyszukiwania, koszty potencjalnych reorganizacji, wymagana redundancja danych. [7] Rodzaje organizacji plików (II) 1 Byte 1 Record Ant Fox Pig at ow Dog Goat Lion Owl Pony Rat Worm Hen Ibis Lamb (a) (b) (c) Trzy rodzaje plików: a. sekwencja bajtów, b. sekwencja rekordów, 3

c. plik o strukturze drzewiastej. [8] Przykładowe atrybuty plików Attribute Meaning Protection Who can access the file and in what way Password Password needed to access the file reator ID of the person who created the file Owner urrent owner Read-only flag 0 for read/write; 1 for read only Hidden flag 0 for normal; 1 for do not display in listings System flag 0 for normal files; 1 for system file Archive flag 0 for has been backed up; 1 for needs to be backed up ASII/binary flag 0 for ASII file; 1 for binary file Random access flag 0 for sequential access only; 1 for random access Temporary flag 0 for normal; 1 for delete file on process exit Lock flags 0 for unlocked; nonzero for locked Record length Number of bytes in a record Key position Offset of the key within each record Key length Number of bytes in the key field reation time Date and time the file was created Time of last access Date and time the file was last accessed Time of last change Date and time the file has last changed urrent size Number of bytes in the file Maximum size Number of bytes the file may grow to [9] Operacje na plikach (I) 4

/ * File copy program. Error checking and reporting is minimal. * / #include <sys/types.h> / * include necessary header files * / #include <fcntl.h> #include <stdlib.h> #include <unistd.h> int main(int argc, char * argv[]); / * ANSI prototype * / #define BUF_SIZE 4096 / * use a buffer size of 4096 bytes * / #define OUTPUT_MODE 0700 / * protection bits for output file * / int main(int argc, char * argv[]) { int in_fd, out_fd, rd_count, wt_count; char buffer[buf _ SIZE]; if (argc!= 3) exit(1); / * syntax error if argc is not 3 * / / * Open the input file and create the output file * / [10] Operacje na plikach (II) * * in_fd = open(argv[1], O_RDONLY); / * open the source file * / if (in_fd < 0) exit(2); / * if it cannot be opened, exit * / out_fd = creat(argv[2], OUTPUT_MODE); / * create the destination file * / if (out_fd < 0) exit(3); / * if it cannot be created, exit * / / * opy loop * / while (TRUE) { rd_count = read(in_fd, buffer, BUF_SIZE); / * read a of data * / if (rd_count <= 0) break; / * if end of file or error, exit loop * / wt_count = write(out _fd, buffer, rd_count); / * write data * / if (wt_count <= 0) exit(4); / * wt_count <= 0 is an error * / } } / * lose the files * / close(in_fd); close(out_fd); if (rd_count == 0) / * no error on last read * / exit(0); else exit(5); / * error on last read * / 5

[11] Pliki odwzorowywane w pamięci Program text Program text abc Data Data xyz (a) (b) Postać segmentów procesu: a. przed odwzorowaniem pliku w jego przestrzeń adresową. b. po odwzorowaniu istniejącego pliku abc w segment i utworzeniu nowego segmentu dla pliku xyz. [12] Organizacja plików w katalogi katalogi zawierają informacje o plikach: atrybuty, lokalizacje, id właściciela, katalog sam w sobie może być plikiem (np. w systemie Unix), głównym przeznaczeniem katalogów jest udostępnianie odwzorowania między nazwami plików a samymi plikami. Struktury organizacji katalogów: struktura prosta, struktura dwupoziomowa, katalog główny + po katalogu dla każdego użytkownika, struktura hierarchiczna, pliki identyfikowane przez ścieżkę, możliwych wiele nazw dla tego samego pliku, pojęcie katalogu bieżącego i odwołania relatywne wobec katalogu bieżącego. [13] Systemy z jednopoziomowym katalogowaniem 6

Root directory A A B System z jednopoziomowym katalogowaniem zawierający cztery pliki, we władaniu trzech różnych osób. [14] Systemy z dwupoziomowym katalogowaniem Root directory A B User directory A A B Files [15] Systemy z hierarchią katalogów 7

Root directory User directory A B A B B B B User subdirectories User file [16] Drzewo katalogów w systemie Unix / bin etc lib usr tmp Root directory bin etc lib usr ast jim tmp lib ast lib dict. jim /usr/jim [17] Zarządzanie pamięcią pomocniczą Metody alokacji plików: 8

alokacja ciągła, pozycja FAT = nazwa, blok startowy, rozmiar, alokacja łańcuchowa, pozycja FAT = nazwa, blok startowy, rozmiar, w każdym bloku pole z numerem kolejnego bloku. alokacja indeksowa, pozycja FAT = nazwa, nr bloku z indeksami, blok z indeksami zawiera indeksy bloków z danymi. możliwe rozszerzenie o wprowadzenie obszarów z lokalną ciągłością, pozycja bloku z indeksami = nr bloku danych, liczba bloków, [18] Alokacja ciągła plików File A (4 s) File (6 s) File E (12 s) File G (3 s) File B (3 s) File D (5 s) (a) File F (6 s) (File A) (File ) (File E) (File G) File B 5 Free s 6 Free s (b) [19] Alokacja z listą połączeń (I) 9

File A 0 File 0 File 1 File 2 File 3 File 4 Physical 4 7 2 10 12 File B 0 File 0 File 1 File 2 File 3 Physical 6 3 11 14 [20] Alokacja z listą połączeń (II) 10

Physical 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 10 11 7 3 2 12 14-1 -1 File A starts here File B starts here Unused Alokacja z listą połączeń wykorzystująca tablicę alokacji plików w pamięci głównej. [21] Przykładowy i-węzeł 11

File Attributes Address of disk 0 Address of disk 1 Address of disk 2 Address of disk 3 Address of disk 4 Address of disk 5 Address of disk 6 Address of disk 7 Address of of pointers Disk containing additional disk addresses [22] Implementacja katalogów (I) games mail news work attributes attributes attributes attributes games mail news work (a) (b) Data structure containing the attributes Przechowywanie atrybutów pozycji katalogowych: a. prosty katalog zawierający elementy o stałym rozmiarze z adresami dyskowymi oraz atrybutami w samej pozycji katalogowej, b. katalog, w którym każdy element wskazuje na i-węzeł. [23] Obsługa długich nazw plików 12

Entry for one file p e b File 1 entry length File 1 attributes r o c t u d j - g Pointer to file 1's name File 1 attributes Pointer to file 2's name File 2 attributes Entry for one file e t File 2 entry length File 2 attributes Pointer to file 3's name File 3 attributes p e r s o n n l File 3 entry length File 3 attributes f o o e p e b e r c u t o t d j - g p e r s o n n e l f o o Heap (a) (b) Metody obsługi długich nazw plików w katalogu: a. obsługa wewnętrzna (ang. in-line), b. obsługa poprzez dodatkową stertę. [24] Pliki współdzielone 13

Root directory A B A B B B B? Shared file [25] Ukierunkowane grafy acykliczne 's directory B's directory 's directory B's directory Owner = ount = 1 Owner = ount = 2 Owner = ount = 1 (a) (b) (c) Odsyłacze do pliku: a. przed stworzeniem odsyłacza, b. po stworzeniu odsyłacza, 14

c. po usunięciu oryginalnego odsyłacza. [26] Zarządzanie listą wolnych bloków Free disk s: 16, 17, 18 42 230 86 1001101101101100 136 162 234 0110110111110111 210 612 897 1010110110110110 97 342 422 0110110110111011 41 214 140 1110111011101111 63 160 223 1101101010001111 21 664 223 0000111011010111 48 216 160 1011101101101111 262 320 126 1100100011101111 310 180 142 0111011101110111 516 482 141 1101111101110111 A 1-KB disk can hold 256 32-bit disk numbers A bitmap (a) (b) a. zarządzanie wolnymi blokami w postaci listy, b. zarządzanie wolnymi blokami z wykorzystaniem mapy bitowej. [27] Quota dyskowa Open file table Attributes disk addresses User = 8 Quota pointer Quota table Soft limit Hard limit urrent # of s # Block warnings left Soft file limit Hard file limit urrent # of files # File warnings left Quota record for user 8 15

Quota kontrolowane dla poszczególnych użytkowników w tablicach quota. [28] Archiwizacja plików 1 Root directory 2 5 16 18 27 3 4 6 17 19 28 29 Directory that has not changed 7 10 20 22 30 8 9 11 14 21 23 31 32 12 13 15 File that has changed 24 25 26 File that has not changed każdy katalog i plik etykietowany odpowiadającym numerem i-węzła, obiekty zacienione modyfikowane od czasu ostatniej archiwizacji. [29] Wykorzystanie map bitowych do archiwizacji (a) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 (b) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 (c) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 (d) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [30] w Unix V7 (I) 16

Bytes 2 14 File name I-node number Pozycja katalogowa w systemie Unix V7 [31] w Unix V7 (II) I-node Disk addresses Attributes Single indirect Double indirect Addresses of data s Triple indirect I-węzeł w systemie Unix V7. [32] w Unix V7 (III) 17

Root directory 1 1 4... bin I-node 6 is for /usr Mode size times Block 132 is /usr directory 6 1 19 dick I-node 26 is for /usr/ast Mode size times Block 406 is /usr/ast directory 26 6 64 grants 7 dev 132 30 erik 406 92 books 14 lib 51 jim 60 mbox 9 etc 26 ast 81 minix 6 usr 45 bal 17 src 8 tmp Looking up usr yields i-node 6 I-node 6 says that /usr is in 132 /usr/ast is i-node 26 I-node 26 says that /usr/ast is in 406 /usr/ast/mbox is i-node 60 Przykład rozwiązywania nazwy /usr/ast/mbox. [33] w Unix V7 (IV) W systemie Unix system plików jest zapisywany na dysku na ogół w postaci czterech sekcji: blok 0 (boot ), wykorzystywany do ładowania przy starcie systemu, blok 1, (super), zawiera informacje o strukturze systemu plików, bloki 2 m, (i-nodes), listy i-węzłów, bloki m+1 n, bloki na dane. I-węzły a pliki specjalne: w przypadku plików specjalnych w i-węzłach w miejsce pierwszego wskaźnika na blok danych wpisywany jest numer programu obsługi urządzenia, numer programu obsługi urządzenia składa się z dwóch części, numerów major number i minor number, do utworzenia pliku specjalnego stosuje się komendę mknod. [34] w Unix V7 (V) Informacje zawarte w bloku super: 18

rozmiar w blokach listy i-węzłów, rozmiar w blokach systemu plików, liczba wolnych bloków w systemie plików, indeks następnego wolnego bloku na liście wolnych bloków, liczba wolnych i-węzłów w systemie plików, indeks następnego wolnego i-węzła na liście wolnych i-węzłów, pole blokad dla listy wolnych bloków i listy wolnych i-węzłów, znacznik modyfikacji bloku super, czas modyfikacji i nazwa systemu plików. W nowoczesnych systemach często dodatkowe własności, takie jak: wiele kopii bloku super, dzienniki transakcyjne (ang. journaling), możliwość wykonywania migawek (ang. snapshot). [35] Przykładowa struktura systemu plików Entire disk Partition table Disk partition MBR Boot Super Free space mgmt I-nodes Root dir Files and directories [36] P/M Bytes 1 8 3 1 2 File name User code File type (extension) Extent 16 Block count Disk numbers 19

[37] w MS-DOS (I) Pozycja katalogowa w systemie P/M. Bytes 8 3 1 10 2 File name 2 2 4 Size Extension Attributes Reserved Time Date First number Pozycja katalogowa w systemie P/M. [38] w MS-DOS (II) Block size FAT-12 FAT-16 FAT-32 0.5 KB 2 MB 1 KB 4 MB 2 KB 8 MB 128 MB 4 KB 16 MB 256 MB 1 TB 8 KB 512 MB 2 TB 16 KB 1024 MB 2 TB 32 KB 2048 MB 2 TB Maksymalny rozmiar partycji dla różnych rozmiarów bloku. [39] w Windows 98 (I) Bytes 8 3 1 1 1 4 2 2 Base name Ext N T reation date/time Last access 4 2 4 Last write date/time File size Attributes Sec Upper 16 bits of starting Lower 16 bits of starting 20

Rozszerzona postać pozycji katalogowej MS-DOS w systemie Windows 98. Bytes 1 10 1 1 1 12 2 4 5 characters 0 6 characters 0 2 characters Sequence Attributes hecksum Element stanowiący część opisu długiej nazwy w systemie Windows 98. [40] w Windows 98 (II) 68 d o g A 0 K 3 o v e A 0 K t h 2 w n f o A 0 K x 1 T h e q A 0 K u i T H E Q U I ~ 1 Bytes A N T S reation time e j c Last acc u k l m a p b Last Upp write Low Size 0 0 0 0 z s r y o Przykład postaci przechowywania długiej nazwy w systemie Windows 98. 21