2010.09.12 13:24
niechby różne ciekawe operacje na plikach umiał robić system plików
Jak chcę połączyć ze sobą kilka plików, robię "cat plik_* > scalone". Czyli: otwieram pliki scalane do odczytu, otwieram plik wynikowy do zapisu, czytam z plików scalanych i odczytane dane zapisuję do pliku wynikowego. A dałoby się dużo wydajniej. Można by w ogóle nie ruszać bloków z danymi plików scalanych, tylko usunąć iwęzły tych plików scalanych i stworzyć jeden nowy iwęzeł wskazujący na te wszystkie bloki. E... rozumiecie, o co mi chodzi? No, tylko to to musiałby robić sam system plików. Ale fajnie byłoby, no nie?
komentarze:
2010.09.12 13:44 marcin
Wydaje się, że tendencja we współczesnych systemach jest dokładnie odwrotna. ZFS od podstaw bazuje na copy-on-write, modne ostatnio środowiska wirtualne stosują COW przy obsłudze swoich wirtualnych dysków...
2010.09.12 21:24 Piotrek
A!
O problemie \"jak scalić dziesięć stumegowych plików kiedy na dysku mam megabajt wolnego miejsca\" myślałem od dziesięciu lat (i zawsze myślałem o rozwiązaniu, o którym napisałem powyżej). O COW wiedziałem od sześciu lat. Ale aż do teraz nie skojarzyłem jednego z drugim.
Ale nadal myślę, że da się wymyślić jakieś ciekawe działania, przy których przydałaby się pomoc systemu plików większa, niż mam teraz. Na przykład: chcę znaleźć plik o nazwie *malinowski*. Muszę więc przejrzeć wszystkie iwęzły typu katalog i przeczytać ich zawartość. Dobrze byłoby, gdyby system plików pozwolił mi przeiterować po iwęzłach w kolejności takiej, w jakiej leżą na dysku - byłoby to, myślę, wydajniejsze niż przeglądanie ich od korzenia w dół.
powrót na stronę główną
RSS