ďťż

ZADANIE_06.HTML

Lemur zaprasza

 
Zadanie laboratoryjne

 

Spis treści



Wstęp


Zadanie



Wstęp


W Linuxie modul "fs" (ang: file system) oddziela fizyczne systemy plików
(ext2, msdos, ...) od reszty jądra i procesów użytkownika warstwą pośrednią,
zwaną "wirtualnym systemem plików" (VFS, and: Virtual File System). Dzięki
temu użytkownik postrzega wszystkie zamontowane systemy plików w ten sam
sposób, niezależnie od ich implementacji. Tak więc, niezależnie od struktur
danych i operacji charakterystycznych dla fizycznych systemów plików, musiały
zostać zaimplementowane struktury danych utrzymujące VFS w pamięci jądra
oraz zaimplementowane operacje na nich.

Ponadto w Linuxie realizowane jest buforowanie bloków dyskowych w pamięci.
Ma ono służyć poprawie szybkości pracy komputera - komunikacja z urządzeniami
zewnętrznymi jest zazwyczaj stosunkowo wolna. Oczywiście buforowanie jest
tylko częściowe - nie wszystkie bloki pliku są umieszczane w pamięci operacyjnej,
ze względu na jej oszczędność.

Czasem jednak gotowi jesteśmy poświęcić pamięć operacyjną za czas pracy
komputera. Chcielibyśmy więc mieć możliwość wymuszenia na systemie załadowania
całego pliku (wszystkich danych) do pamięci operacyjnej.



Zadanie
 
Zaimplementować możliwość ładowania na żądanie całego pliku do pamięci
operacyjnej w momencie otwierania go do czytania, z pominięciem
buforowania bloków pliku. Wymaga to zaimplementowania nowych funkcji realizujących
otwieranie, czytanie, pisanie, ustalanie bieżącej pozycji w pliku i zamykanie
zarówno dla "wirtualnego systemu plików" jak i dla fizycznego systemu "ext2".
Spodziewamy się zachowania spójności systemu z wersją nie zawierającą
tej modyfikacji (to znaczy programy korzystające w zwykły sposób z plików
powinny nadal działać poprawnie).
 


Autor: Robert Dąbrowski
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • teen-mushing.xlx.pl
  • Wątki
    Powered by wordpress | Theme: simpletex | © Lemur zaprasza