[ Pobierz całość w formacie PDF ]
.BibliografiaMaurice J.Bach: Budowa systemu operacyjnego UNIXPliki zrodlowe Linuxa:fs/super.cfunkcja mount()tablica unnamed_dev_in_useinclude/linux/fs.hstrukturafile_system_typestrukturasuper_blockinclude/linux/mount.hstrukturavfsmountManual do funkcji systemowej mount()(man 2 mount)Pytania i odpowiedziJesli chcesz zadac mi jakies pytanie musisz wyslac do mniee-mail.1.Jakie struktury danych znalezione w plikach zrodlowych sanajwazniejsze?Patrz opis struktur danych powyzej.2.Jakie sa (w tej konkretnej wersji Linuxa) ograniczenia narozne zasoby systemowe?Znalazlem dwa istotne ograniczenia:rozmiar tablicy unnamed_dev_in_use ma rozmiar 8 (256/(8*sizeof(unsigned int))).rozmiar tablicy super_blocks wynosi 64.3.Jakie pliki zrodlowe byly wykorzystane przy opracowaniutematu?Patrz bibliografia powyzej.4.Jakie rozwiazania programistyczne znalezione w plikachzrodlowych sa najciekawsze?Po pierwsze ciekawym pomyslem jest uzycie zmiennej mru_vfsmnt,ktora przechowuje ostatni system plikow, na ktorym byla wykonywana jakas operacja.Przyprzegladaniu listy zamontowanych systemow plikow, przed korzystaniem z listyvfsmntlist najpierw sprawdzana jest ta zmienna.Po drugie interesujace wydaje mi sie korzystanie ze specjalnego demona kerneldw celu automatycznego dodawania modulu obslugi systemu plikow do jadra.Trzecia koncepcja nie jest widoczna w opisie algorytmu.Funkcja read_superpobierajaca nowy superblok dla systemu plikow przed sprawdzeniem czy temu systemowiplikow byl juz uprzednio przydzielony superblok wywoluje funkcje check_disk_change()sprawdzajaca czy wymienialne urzadzenie (np.dyskietka lub cd-rom) zostalozmienione.Autor: Pawel Kot
[ Pobierz całość w formacie PDF ]