background image

1

Systemy plików

Systemy operacyjne - 

wykład 8

background image

2

Zarządzanie plikami 

Plik jest zbiorem powiązanych ze sobą 

informacji. Najczęściej pliki reprezentują 

programy (w postaci źródłowej i wynikowej) oraz 

dane. Plik jest ciągiem bitów, bajtów, wierszy i 

rekordów, których znaczenie określa twórca 

pliku i jego użytkownik. 
Plik ma określoną strukturę, stosownie do 

swojego typu. W jednych S.O. istnieje duża 

liczba typów plików w innych rezygnowano z 

typów plików (Unix). 
Pliki są przechowywane na dyskach. W 

systemach dyskowych jest określona długość 

bloku (rekord fizyczny), wynikająca z długości 

sektora. Rekordy logiczne natomiast mogą mieć 

różne długości, niezgodne z długością bloku.

 

background image

3

• W Unixie, gdzie wszystkie pliki są zdefiniowane 

jako zwyczajne ciągi bajtów, każdy bajt jest z 

osobna adresowany przez podanie odległości od 

początku (lub końca) pliku. W tym przypadku 

rekordem logicznym jest 1 bajt. System plików 

automatycznie pakuje i rozpakowuje bajty z 

fizycznych bloków dyskowych (np. 512 bajtów na 

blok). 

• Przy podziale na bloki występuje fragmentacja 

wewnętrzna pamięci, ponieważ bajty są 

marnowane z powodu przydziału w jednostkach 

blokowych a nie bajtach. 

• Pliki w systemie komputerowym są 

reprezentowane za pomocą pozycji w katalogu 

urządzenia (device directory). Katalog 

przechowuje informacje o cechach fizycznych 

(nazwa, położenie, rozmiar, typ) dla wszystkich 

plików na danym urządzeniu.

 

background image

4

Struktura katalogowa

Kolejnym elementem jest struktura katalogowa plików 

(logiczna). Wiele S.O. utrzymuje dwie oddzielne struktury 

katalogowe: katalog urządzenia i katalog plików. Każda 

pozycja w katalogu może zawierać następujące informacje:

• nazwa pliku,

• typ pliku,

• lokalizacja,

• rozmiar,

• bieżące położenie,

• ochrona,

• czas, data.
System katalogowy można uważać za tablicę symboli 

przekładającą nazwy plików na ich pozycje w katalogu. 

background image

5

Operacje plikowe 

S.O. zawiera funkcje systemowe do 

wykonywania następujących 
operacji: 

• tworzenie pliku 
• pisanie do pliku, 
• czytanie pliku, 
• ustawianie pliku w stan początkowy, 
• usuwanie pliku. 

background image

6

Operacje plikowe cd.

•Większość S.O. używa wskaźnika bieżącej 

pozycji w pliku. Wszystkie operacje wymagają 

odszukania w katalogu pozycji 

odpowiadającej nazwie pliku. 

•S.O. może otworzyć plik wtedy, gdy jest on 

używany po raz pierwszy, a potem, gdy 

przestaje być aktualnie użytkowany - zamyka. 

•Większość systemów wymaga jawnego 

otwierania plików przez programistę za 

pomocą funkcji systemowej (otwórz), 

wywoływanej przed pierwszym użyciem pliku. 

background image

7

Metody dostępu

Metody dostępu do informacji zawartej w pliku:

dostęp sekwencyjny

 - zawartość pliku jest przetwarzana po 

kolei rekord po rekordzie. Obecnie najpowszechniejszy. 

Operacja czytania czyta następną porcję pliku i 

automatycznie przesuwa wskaźnik pozycji w pliku do przodu. 

Operacja pisania umieszcza dane na końcu pliku i ustawia 

wskaźnik za nowo zapisanymi danymi (nowy koniec pliku). 

Program może się przemieszczać w przód lub wstecz o n 

rekordów. Ten dostęp oparty na taśmowym modelu pliku. 

dostęp bezpośredni (swobodny)

 - plik traktuje się jak ciąg 

ponumerowanych bloków lub rekordów. Plik pozwala na 

czytanie lub zapisywanie dowolnych bloków. Nie ma żadnych 

ograniczeń odnośnie kolejności operacji czytania lub pisania. 

Oparty na dyskowym modelu pliku. 

- inne metody dostępu- uzupełnienie metody dostępu 

bezpośredniego indeksem pliku. 

background image

8

Jednoczesny dostęp do pliku 

dzielonego przez wielu 

użytkowników

• Należy określić warunki, przy których zmiany 

danych wykonywane przez jednego użytkownika są 

obserwowane przez innych użytkowników. 

• W systemie Unix wynik operacji pisania wykonanej 

przez użytkownika otwartego pliku jest natychmiast 

widoczny dla innych użytkowników, którzy mają 

równocześnie otwarty ten sam plik. Użytkownicy 

dzielą wskaźnik do bieżącej pozycji w pliku. Zatem 

przesunięcie wskaźnika przez jednego użytkownika 

oddziałuje na wszystkie operacje wykonywane 

przez innych. 

background image

9

Organizacja struktury 

katalogowej

Katalog jest tablicą symboli. S.O. odnajduje 

plik za pośrednictwem jego symbolicznej 
nazwy. 

Operacje wykonywane na katalogach: 
- przeszukiwanie katalogu, 
- tworzenie pliku - dołączanie do katalogu, 
- usuwanie pliku - usunięcie z katalogu, 
- wyprowadzanie zawartości katalogu, 
- automatyczne tworzenie kopii zapasowych. 

background image

10

Organizacja struktury 

katalogowej cd.

Schematy definiowania logicznej struktury systemu 

katalogów:

• katalog jednopoziomowy (np.katalog urządzenia, a w 

nim wszystkie pliki), 

• katalog dwupoziomowy (dodatkowo katalogi 

użytkowników), 

• katalogi o strukturach drzewiastych

 (dowolna liczba 

poziomów), 

• grafy katalogów bez cykli

 (podkatalogi i pliki mogą być 

umieszczane w katalogach dzielonych; ten sam plik lub 

podkatalog może występować w dwu różnych 

katalogach), 

• graf ogólny katalogów

 (całkowita dostępność w dzieleniu 

plików i podkatalogów, problemy z odzyskiwaniem 

nieużywanego miejsca na dysku). 

background image

11

Graf ogólny katalogu

background image

12

Ochrona plików 

Ochrona plików jest jednym z podstawowych 

zagadnień związanych z przechowywaniem 

informacji w systemie komputerowym i polega na 

ochronie przed fizycznym uszkodzeniem 

(niezawodność) i przed niewłaściwym dostępem. 

Niezawodność osiąga się głównie przez wykonywanie 

wiernych kopii plików. Ochrona przed niewłaściwym 

dostępem - dostęp kontrolowany polega na 

stosowaniu uprawnień dostępu do plików (np. 

operacje takie jak czytanie, pisanie, wykonywanie, 

usuwanie). Ochrona może być związana z samym 

plikiem, albo ze ścieżką używaną do określenia 

pliku. Częściej spotyka się ochronę ścieżki. W 

systemach, w których pliki mogą mieć liczne nazwy 

ścieżek (np.z grafami bez cykli czy ogólnymi) dany 

użytkownik może mieć różne prawa dostępu do 

pliku - zależnie od użytej nazwy ścieżki

background image

13

Inne sposoby ochrony

Inne sposoby ochrony: 

• ukrywanie

 przed użytkownikiem 

nazw plików

, do których nie 

powinien mieć dostępu, 

• hasła

 nadawane każdemu plikowi (wada - duża ilość haseł do 

zapamiętania przez użytkownika), 

• wykazy dostępów

. Dla każdego pliku lub katalogu określa się 

wykaz dostępów, zawierający nazwę każdego użytkownika i typy 

udzielonych mu praw dostępu, 

• dostępy grupowe

 - j.w. dodatkowo wprowadza się trzy klasy 

użytkowników skojarzone z każdym plikiem: 

-     właściciel (ten, kto utworzył), 

-

grupa (wspólnie korzystają z pliku i potrzebują podobnego 

dostępu),

-

wszechświat (wszyscy inni użytkownicy). 

Np.w Unixie zdefiniowano trzy pola 3 bitowe: r- (prawo czytania), w- 

(zapisu), x- (wykonania). 


Document Outline