Systemy plików

0

Może i uznacie mnie za szaleńca....a chciałbym się dowiedzieć czegoś więcej o systemach plików.

Przeczytałem kilka dużych objętościowo artykułów o tym i nadal nie kojaże jak powstaje system plików(np. FAT). Czy jego obsługą zajmuje się system op. czy to OS operuje na systemi plików.

Jak by można jakieś info o tworzeniu, pisaniu FS'ów. Jak by co nie mam zamiaru pisać własnego FS'a. Tylko mnie to ciekawi.

i jeższe jedno : jak wyglądał by według was idealny system plików....??

0

Po wyprodukowaniu dysku twardego mamy proces formatowania niskopoziomowego, następnie formatowanie wysokopoziomowe, które tworzy system plików.
// niskopoziomowe? hmmm... a o partycjonowaniu to aby nie zapomniałeś? - ŁF
// no prawda zapomnialem. Niskopoziomowe->Partycjonowanie dysku->Formatowanie wysokopoziomowe. Niskopoziomowe usuwa wszystko łącznie z partycjami, więc wtedy zaczynamy od początku ;)

Czy jego obsługą zajmuje się system op. czy to OS operuje na systemi plików.

Tutaj odpowiedzi nie jestem pewnien, ale raczej to OS zajmuje się obsługą FS. Przykładem może być iż na przykład WinNT\95 A nie obsługują FAT32, a taki 9x NTFS.

Co do informacji o systemie plików to polecam Windows 2000 Administration Kit (dostępna jest polska wersja jeżeli nie znasz ang.), tam dużo znajdziesz o budowie systemu plików. w ogóle poelcam czytać takie rzeczy :)

Idealny system plików powinien zawierać to co w Macach jest, czyli informacja o wersji i może jeszcze prawie autorskim do pliku. poza tym jeszcze usługa indeksowania. Powinien być też do niego bezpłatny sterownik do obsługi na innych systemach. Fajne by też było jakby obsługiwał dyski o mniejszej pojemności :)

0

czym się różni OS od systemu operacyjnego? bo nie kumam różnicy... to chyba dość logiczne, że nad danymi siedzi sobie jakaś warstwa oprogramowania pośrednicząca w ich wymianie, i tak się składa, że jest to jeden z główych składników systemu.

0

jak wyglądał by według was idealny system plików

Idealny do czego ?

0

i jeższe jedno : jak wyglądał by według was idealny system plików....??

Sprawdzalby bledy ortograficzne i stukal usera mlotkiem w glowe. :-/

0

i jeższe jedno : jak wyglądał by według was idealny system plików....??

Sprawdzalby bledy ortograficzne i stukal usera mlotkiem w glowe. :-/

a co wy się tak ort! ort! ort!... Co to ort! dla ort! czy ort!, ort! ort!, ort! czasami zrobi błąd, a to nie ort! do atakowania go.

0

a co wy się tak ort! ort! czepiliśćie... Co to ort! dla ort! czy ort!, ort! pszesady, ort! czasami zrobi błąd, a to nie ort! do atakowania go.

Powinno byc:
a co wy się tak ort! ort! ort!... Co to ort! dla ort! czy ort!, ort! ort!, ort! czasami zrobi błąd, a to nie ort! do atakowania go.

// flabra też ma kłopoty z ortografią :] - ŁF
// ohh w tym gąszczu każdy miał szansę się zgubic, ale lepiej wróćmy do tematu ;> [mf]

0

nie mysl o systemie plikow jak o czyms co nie wiadomo skund sie bierze, najprostszy system plikow (np: FAT12) to nic innego jak zwykla tablica o wielkosci zblizonej do ilosci sektorow nosnika, ktorej kazdy element moze wskazywac na nastepny w tej tablicy, a pliki zaczynaja sie od specjalnej strukturki w ktorej masz numer pierwszego sektora, odczytujesz go z fat i masz numer nastepnego itd, do tego odczyt fizcyznego sektora i plik jest w pamieci :)

0

Do własnego FS warto dołączyć kod źródłowy, powód - morze OS-ów, a przenośność jest ważna do sukcesu (wyjątek - MSCorp (dokument MS Word nie działa w innej wersji; oprogramowanie tylko dla Win32, lub WinXP)).

0

to ja tylko dodam ( jak zwykle w takich wątkach ), że jak chcesz lepiej zrozumieć FATa to polecam zabawe z programikiem diskedit ;]

0

To ja dopiszę jeszcze coś takiego od siebie. Z punktu widzenia oprogramowania możesz spojrzeć na dysk jako ciąg bajtów (a nie grupę plików). Wystarczy na przykład pod Windows otworzyć plik o specjalniej nazwie:

\.\PhysicalDriveN

(N to numer dysku fizycznego)

Zakładając, że system operacyjny ci nie zabroni pisać po jego [dysku twardego] obszarach, możesz utworzyć i edytować jakiś własny plik poprzez ręczne dopisanie bajtów w odpowiednie miejsca partycji, powiedzmy do tablicy plików i obszaru danych. Możesz - taki jest fakt.

Jednak program twój musiałby mieć specjalne procedury zapisu na partycje FAT12, FAT32, NTFS i bóg wie, jakiej jeszcze - powiedzmy Ext3. Korzyść z obsługi przez system operacyjny jest taka, że używając jego zbioru funkcji, podajesz dane do zapisu, a o strukturę zapisu dba sam system. Twój program dzięki temu, korzystając z tej samej funkcji, potrafi (pośrednio - dzięki systemowi operacyjnemu) używać dowolnych typów partycji wspieranych przez system.

Co do idealnego systemu plików: to co dla jednych jest zaletą, dla innych jest wadą. Dzielenie dysku na małe jednostki jest zaletą dla małych plików, bo nie marnuje dużego obszaru, gdy nie wypełnisz pełnej jednostki, ale wadą dla dużych plików, bo potrzeba dużo małych jednostek (a ich opis czy struktura zajmują dodatkowe miejsce), zamiast kilku dużych. Jeśli zadbasz o bezpieczeństwo i operacje plikowe traktujesz jak transakcje (NTFS) lub operacje logowane (Reifeiser) zajmujesz dodatkowy obszar, którego użytkownik nie może poświęcić na dane. Jak dorzucisz do tego problemy związane z fragmentacją, szybkiem dostępem do małych i ogromnych plików, wsparciem wielu systemów szyfrowania lub hash'owania i informacji o plikach, sprawa się jeszcze bardziej komplikuje.

Dodatkowo komplikuje się już totalnie, kiedy chcesz napisać system plików dla Windows. Microsoft ustalił licencję IFSDDK (Installable File System, dawniej File System DDK - wydawanego osobno od Windows DDK) na regulamin zaporowy jak chodzi o dystrybucję własnego systemu plików przez drobnych programistów (pamiętam, że były tam na przykład obowiązkowe procedury certyfikacyjne dokonywane przez Microsoft, bo przecież na tym systemie plików ma opierać się współpraca jądra systemu z partycją - tak przynajmniej było jeszcze za czasów FSDDK, teraz nie wiem), aby wymusić na twórcach oprogramowania i użytkownikach ograniczenie się do systemów oferowanych natywnie przez ich system operacyjny.

Więcej info:
http://www.microsoft.com/whdc/driver/filterdrv/default.mspx

Dlatego ciężko w WindowsXP znaleźć wsparcie nawet dla systemów plików z Linux/Unix, czy innych systemów operacyjnych.

0

Dlatego ciężko w WindowsXP znaleźć wsparcie nawet dla systemów plików z Linux/Unix, czy innych systemów operacyjnych.

No nie tak ciezko znow, drugi lub trzeci wynik wyszukiwania w Google i mam juz odczyt/zapis dysku Linuksa Ext3 pod windowsem - dysk normalnie widac w Moim komputerze.

Za to na odwrot to juz gorzej - juz nie mowie ze pod linuksem nie moge zapisywac na NTFS-ach, ale w dodatku wszystko co ma w nazwie polskie litery w linuksie staje sie niewidoczne :/

0
othello napisał(a)

Za to na odwrot to juz gorzej - juz nie mowie ze pod linuksem nie moge zapisywac na NTFS-ach, ale w dodatku wszystko co ma w nazwie polskie litery w linuksie staje sie niewidoczne :/

to widocznie czegos nie doczytales

man mount
man fstab
a jesli nie masz obslugi nls dla ntfs-a to przekompiluj jajko

www.google.com/search?q=captive+ntfs

0

Ech... znowu robie off-topic ale odpisze - w skrocie.

Zainstalowalem Captive-ntfs z rpm za pomoca alien - i nie wiem co mam z tym zrobic.
Utworzylo mi nowego uzytkownika Captive-sandbox (po co?) o nie wiadomo jakim hasle - wiec zmienilem haslo ale okazalo sie ze nie moge sie zalogowac, bo jest brak praw do zapisu jakiegos pliku.

Ponadto mam teraz wszystkie dyski po 2 razy - dyski z Captive moge montowac tylko jako root, ale nie mozna na nich zapisywac ani odczytac katalogow, oprocz tego wcale nie widac plikow ani katalogow z polskimi literami.

Gdy probuje zgodnie z instrukcja na stronie captive:

mount -t captive-ntfs /dev/hda1 /mnt/hda1

Dostaje komunikat:

mount -t captive-ntfs /dev/hda1 /mnt/hda1
/usr/libexec/captive-sandbox-server: Unable to query setgid group name "captive"!
Aborting!

Captive-ERROR **: Error connecting to the sandbox server (failed "data_size>=1"). Try running by hand: /usr/libexec/captive-sandbox-server
aborting...

Co zrobilem zle? :|

Pytanie - jak usunac te Captive, bo zdaje sie ze nie zainstalowalo sie poprawnie? Jak sprawdzic obsluge nls dla ntfs? (co to jest? :| ).
Wiem ze cholernie lamerskie pytania ale w koncu poczatkujacy jestem..... (nie moge jakos nigdzie znalezc konkretow (moze jakas dobra stronka z opisem? )

0

nls - native language support - make menuconfig -> file systems -> native language support (na samym koncu). ustaw cp852. tak samo ustaw dla systemu plikow fat/ntfs (+iso8859-2) oraz dla samby (w network file systems).

usuwanie captive. :
wylistowanie tgz(tar.gz)
gzip -dc archiwum.tgz | tar -tv
gzip -dc archiwum.tar.gz | tar -tv
tar -ztvf archiwum.tgz
tar -ztvf archiwum.tar.gz

wylistowanie tbz(tar.bz2)
bzip2 -dc archiwum.tbz | tar -tv
bzip2 -dc archiwum.tar.bz2 | tar -tv
tar -jtvf archiwum.tbz
tar -jtvf archiwum.tar.bz2

...

prefix="/" ; tar -ztvf archiwum.tgz | awk '{print($6)}' | while read i ; do d=dirname $i ; if [ "$d" != "." ] ; then d="$prefix$d" ; [ -d "$d" ] && { rm -rf "$d" && echo "dir $d removed" ; } ; else i="$prefix$i" ; [ -f "$i" ] && rm -f "$i" && echo "file $i deleted" ; fi ; done

prefix="/" ; tar -jtvf archiwum.tar.bz2 | awk '{print($6)}' | while read i ; do d=dirname $i ; if [ "$d" != "." ] ; then d="$prefix$d" ; [ -d "$d" ] && { rm -rf "$d" && echo "dir $d removed" ; } ; else i="$prefix$i" ; [ -f "$i" ] && rm -f "$i" && echo "file $i deleted" ; fi ; done

nastepnym razem najlepiej sobie sam skompiluj ( http://www.jankratochvil.net/project/captive/#download - pobierz zrodlo ), 1). bedziesz mial pod swoj procek 2). bedziesz mial skompilowane tym samym kompilatorem co reszta systemu (to b. wazne) 3). bedziesz mial te opcje ktore sam wybierzesz. binarki instaluje sie tylko z oficjalnych repozytoriow i do konkretnej wersji i dystrybucji, bo tylko te sa przygotowane pod twoj system. albo gdy nie ma innego wyjscia.

0

Hmm probowalem sam kompilowac - ale...... to wymaga tyle paczek, ktorych nie mam ze glowa mala 8-O Musze miec gnome-vfs (czy jakos tak, bo pisze z pamieci).

A to cos wymaga chyba prawie calego gnome (ja mam kde) sciagam i sciagam te paczki i ciagle czegos nie ma - kazda jedna wymaga z 3 innych - wlasnie dlatego poszedlem na latwizne i myslalem ze z binarki mi sie uda....... :|

0

make menuconfig -> file systems -> native language support (na samym koncu)

Szkoda tylko, ze ja nie mam niczego takiego jak menuconfig :/

Ok wiem o co chodzi, tylko ze tym razem:

can't open file "init/Kconfig

I tyle zaszalalem z konfiguracja :/

[edit]
Ok zalozylem nowy temat, bo nie ma sensu dopisywac sie ciagle tutaj

1 użytkowników online, w tym zalogowanych: 0, gości: 1