3. 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
4. API - w systemie UNIX
fd = open(path, oflag, mode);
liczba = read(fd, buf, count);
5. 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 */
6. API - w systemie UNIX
dirp = opendir(const char *filename);
direntp = readdir(dirp);
rewinddir(dirp);
closedir();
7. API w OSFile
dirp = osf_opendir(const char *filename);
direntp = osf_readdir(dirp);
osf_closedir();
8. OSFile API - Inne
osf_chown( dirp, int id );
int osf_chown(dirp);
osf_chmod( dirp, int id );
int osf_chmod(dirp);
17. 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