[ Pobierz całość w formacie PDF ]
.p.(zapis nie synchroniczny) zwolnij bufor;Jesli tablica jest juz pelna, to zapisz ja cala ( funkcja ll_rw_block(WRITE,.)) i pozwalniaj bufory;Zajmij sie nastepnym blokiem w pliku i ustaw w nim offset na 0.}Jesli zostaly bufory w tymczasowej tablicy (liczba blokow nie bylawielokrotnoscia 16), to je pozapisuj i pozwalniaj;Jesli pozycja, w której skonczylismy pisac jest wieksza nizrozmiar pliku, to zwieksz jego rozmiar;Ustaw w i-wezle czas ostatniej modyfikacji pliku (mtime) i i-wezla(ctime) na obecny;Ustaw pozycje pliku w tablicy plików na ta, gdzie skonczylismypisac;Zaznacz, ze i-wezel jest brudny.}Zrodla informacjiPrzede wszystkim pliki zrodlowe Linuxa (tutaj bez moich komentarzy):include/linux/fs.h(naglowki funkcji i definicje stalych)fs/read_write.c(tresc funkcji write - pierwszy poziom, funkcja z moimi komentarzami)fs/ext2/file.c(funkcja ext2_file_write bogato skomentowana)Maurice J.Bach "Budowa systemu operacyjnego UNIX", paragraf5.3.Pytania i odpowiedziOgolne pytania pana Raczunasa:1.Z jakich plikow zrodlowych Linuxa korzystali Panstwo przy opracowywaniutematu?Z plikow wymienionych w zrodlach informacji.2.Jakie struktury danych znalezione w tych plikach uwazaja za najwazniejsze?Oczywiscie b.wazna jest struktura file islowo dostepu do pliku.3.Jakie znalezione w plikach zrodlowych rozwiazanie programistyczneuwazaja Panstwo za najciekawsze?Pisanie z opoznieniem po 16 blokow w funkcjiext2_file_write.4.Jakie znalezli (w tej konkretnej wersji Linuxa) ograniczeniana rozne zasoby systemowe?Liczba otwartych plikow nie moze byc wieksza niz 1024 (NR_FILE) orazliczba plikow otwartych przez jeden proces nie moze byc wieksza niz 256(NR_OPEN).Inne pytania:5.Czy stale O_NONBLOCK i O_NDELAY maja taka sama wartosc? (odnosniefunkcji open)Tak.Autor: Mateusz HauzerE-mail: mhauzer@students.mimuw.edu.pltego samego autora: funkcja chown
[ Pobierz całość w formacie PDF ]