OSFile

19
OSFile system plików na bazie Unixa

Transcript of OSFile

Page 1: OSFile

OSFilesystem plików na bazie Unixa

Page 2: OSFile

Cele

Dostarczenie API dostępnego z poziomu systemu operacyjnego dającego możliwość zarządzania wirtualnym systemem plików.

Page 3: OSFile

Założenia

● Cała struktura będzie znajdowała się w jednym pliku

● API będzie zbliżone do unixowego● Dane będą przechowywane w drzewiastej

strukturze● Pozwoli na przechowywanie danych i

metadanych plików

Page 4: OSFile

API - w systemie UNIX

fd = open(path, oflag, mode);liczba = read(fd, buf, count);

Page 5: OSFile

API w OSFile

fd = osf_open(path, mode);liczba = osf_read(fd, buf, count);osf_write(fd, buf, count);

/* prefix “osf_” *//* brak określonego trybu pracy i blokad */

Page 6: OSFile

API - w systemie UNIX

dirp = opendir(const char *filename);direntp = readdir(dirp);rewinddir(dirp);closedir();

Page 7: OSFile

API w OSFile

dirp = osf_opendir(const char *filename);direntp = osf_readdir(dirp);osf_closedir();

Page 8: OSFile

OSFile API - Inne

osf_chown( dirp, int id );int osf_chown(dirp);

osf_chmod( dirp, int id );int osf_chmod(dirp);

Page 9: OSFile

Struktura drzewa katalogów

Page 10: OSFile

Hard Links

Page 11: OSFile

V-node

Page 12: OSFile

Rozmieszczenie danych (dinode)

Page 13: OSFile

i-nodes

Page 14: OSFile

dinodes

Page 15: OSFile

Wiele systemów plików (unix)

Page 16: OSFile

Dysk

Page 17: OSFile

Co będzie wspierane

Implementuje Nie implementuje

Rozmiar znaków ma znaczenie. Brak vfs (virtual file system)

Drzewiasta struktura Brak twardych dowiązań (ang hard links)

Uprawnienia rwx, przydział do grupy i użytkownika (uid & gid)

Brak blokad plików

Opóźniony zapis (NV RAM) Brak trigerów

Uproszczona struktura vnode, in-core inode & on-disc inode

Page 19: OSFile

Biblografia

“Jądro systemu UNIX” - Vahalia - Nowe horyzonty