Czy system plików to tylko układ folderów?

56

Korzystam z systemu Windows od dzieciństwa i kiedy słyszę zwrot „system plików Windows”, myślę o katalogach (folderach) w katalogach, folderze o nazwie SYSTEM, folderze o nazwie PROGRAM PLIKI itp. Czy to jest ten system? Po prostu układ folderów?

A potem ostatnio zacząłem używać Linuksa, a moja książka informacyjna mówi, że w systemie plików linux wszystko zaczyna się od roota i stamtąd rozgałęzia. Czym tak naprawdę różni się od systemu Windows? Wydaje się, że system linux i system Windows to tylko dwa sposoby konfigurowania drzewa katalogów. Czy to właśnie oznacza system plików?

P_Q
źródło
3
Czy próbowałeś przeczytać en.wikipedia.org/wiki/Filesystem ?
choroba
2
Do Twojej wiadomości, nie ma „systemu plików Linux”. Książka miała na myśli drzewo katalogów linux. I tak, drzewo katalogów to tylko układ folderów.
user606723,
2
Linux nie ma koncepcji napędów , dlatego wszystko jest zamontowane /. W systemie Windows tak nie jest, ponieważ brakuje w nim montażu w stylu UNIX (popraw mnie, jeśli się mylę), więc wszystko jest zorganizowane wokół dysków.
new123456,
1
@ new123456 Poczuj się poprawiony. Windows obsługuje montaż (od W2k lub NT), chociaż funkcja ta jest bardzo rzadko używana.
kubańczyk
1
Jedną różnicą jest to, że słowo „system plików” ma trzy różne znaczenia .
JdeBP,

Odpowiedzi:

130

Po prostu układ folderów?

Brzmi zbyt dobrze, aby mogło być prawdziwe ...

Weźmy jako przykład system plików FAT32. Mogę na nim zainstalować system Windows XP, ale mogę go również używać na karcie pamięci. Na karcie pamięci nie masz tych folderów, które sumujesz.

Więc ... Nie myl układu katalogów rodziny systemów operacyjnych z systemem plików.

Czy to właśnie oznacza system plików?

Nie ... Odnosi się do podstawowych bitów i bajtów, które sprawiają, że struktura katalogów działa.

Podstawowe bity i bajty? Pokaż mi FAT32!

Spójrzmy, jak wygląda FAT32 , ma:

  • Niektóre sektory nagłówka na początku, takie jak identyfikator woluminu i sektory zastrzeżone
  • Dwie tabele alokacji plików, które pozwalają nam dowiedzieć się, gdzie znajdują się nasze pliki.
  • Klastry zawierające wszystkie nasze dane katalogu i plików.
  • Trochę bardzo niewykorzystanej przestrzeni, której nie możemy wykorzystać.

Tabela FAT składa się z wielu pozycji, które wyglądają tak, co pozwala nam określić, gdzie katalog lub plik jest przechowywany w przestrzeni klastrów, a także niektóre atrybuty i rozmiar.

Pozycja katalogu wskazywałaby na listę pozycji katalogu / plików ...

W przestrzeni klastrów możemy teraz podróżować naszymi klastrami, aby znaleźć potrzebne dane. Klaster zasadniczo zawiera dane i informacje, gdzie znajdują się kolejne fragmenty

wprowadź opis zdjęcia tutaj

Czy inne systemy plików różnią się? Pokaż mi NTFS!

Pokażę ci obraz, abyś mógł zauważyć różnice, reszta to zadanie domowe dla czytelnika: więcej informacji można znaleźć w tym archiwum blogu lub w Google.

Główną ideą jest to, że NTFS to ogromna poprawa w stosunku do FAT32, która jest bardziej niezawodna / wydajna. Lepsze wyobrażenie o (nie) zużytej przestrzeni za pomocą mapy bitowej w celu dalszej ochrony przed fragmentacją. I tak dalej...

- http://thinkdifferent.typepad.com/photos/uncategorized/04ntfsfilesystem.png

Co z systemami plików w systemie Linux? Pokaż mi ext2 / 3!

Chodzi o to, że ext2 / ext3 używają superbloków i i-węzłów; pozwala to na tworzenie miękkich i twardych dowiązań, katalogów będących plikami, plików o wielu nazwach i tak dalej. Główną istotą jest abstrahowanie, aby system plików mógł wykonywać więcej metaizow ...

- http://thinkdifferent.typepad.com/photos/uncategorized/03extfilesystem.png

Tamara Wijsman
źródło
@Shadok: Mogę poprawić późniejsze sekcje, ale ostatnio jestem dość zajęty ... Dzięki.
Tamara Wijsman,
2
Dałbym to +2, gdybym mógł. Dlaczego więcej dokumentów i specyfikacji nie może wyglądać bardziej tak !?
greatwolf
Być może powinieneś napisać post na blogu o tym @TomWijsman ;-)
Ivo Flipse
@IvoFlipse: A „Przechowywanie danych: Jak to działa?” seria może być możliwa, oto kolejna odpowiedź . Duże i $ # zdjęcia mówią więcej niż słowa ... :)
Tamara Wijsman,
Zdecydowanie brzmi jak niezły pomysł
Ivo Flipse
14

Duża różnica między Linuksem a Windowsem, przynajmniej jeśli chodzi o ich systemy plików i drzewa katalogów, polega na tym, że w Linuksie „wszystko jest plikiem” i wszystko pochodzi od jednego katalogu głównego. Dotyczy to również prawie wszystkich systemów operacyjnych pochodzących z Uniksa, takich jak BSD, OS X, Solaris itp., Ale powiem tylko, że „Linux” jest ogólny (jeśli nie do końca dokładny).

Ale co to oznacza w praktyce?

Windows pozwala na wiele nazwanych katalogów głównych dla swoich systemów plików. Rozumiesz je jako litery dysku C: D: E:i tak dalej. Każdy ma root ( \) i drzewo, które z niego pochodzi. Najnowsze wersje systemu Windows zezwalają na takie punkty montowania woluminów, w których wolumin (tak zwaną partycję) można zamontować w istniejącym pustym folderze. Więc zamiast D:\ reprezentującego katalog główny, powiedzmy, napędu optycznego (CD / DVD / BR), możesz go zamontować na C:\Optical. Jest to bardziej podobne do tego, co robi Linux. Istnieje także podstawowa, jednokrorzennie nazwana, obiektowa przestrzeń nazw dla wszystkiego w systemie Windows, podobna do tego, z czego korzysta Linux i jest zarządzana przez Object Managera , ale większość użytkowników rzadko widzi odniesienie, ponieważ jest to głównie do użytku z jądrem.

Linux ma jeden pierwiastek: /. Wszystko z tego wynika i niekoniecznie musi reprezentować dysk twardy. Dyski twarde, napędy optyczne, karty pamięci, udziały sieciowe, drukarki, skanery, procesory, pamięć RAM, procesy ... wszystko jest reprezentowane gdzieś w obrębie tej pojedynczej przestrzeni nazw i może być dostępne przez dowolny proces ze standardowymi interfejsami API do zarządzania plikami, zakładając, że masz wystarczająco wysoki poziom dostępu. To, że możesz z niego czytać lub pisać, nie oznacza, że ​​jest to plik na dysku twardym w systemie Linux. Na przykład urządzenia są zwykle montowane /dev, więc dostęp do tam często oznacza, że ​​rozmawiasz z urządzeniem - może to jest karta dźwiękowa, skaner lub kamera itp. Są to tak zwane pliki urządzeń . Procfsjest specjalnym „systemem plików”, który jest normalnie zamontowany /proci ma „katalog” dla każdego uruchomionego procesu, z plikami w każdym katalogu związanymi z takimi rzeczami, jak linia poleceń używana do wywoływania tego procesu, mapy pamięci, otwarte pliki itp. Sysfs to kolejna specjalny system plików (zamontowany na /sys) używany do ujawnienia bogactwa informacji o działających obiektach jądra, a także może być użyty do dostrojenia działającego jądra, po prostu pisząc do określonego pliku.

afrazier
źródło
2
Pamiętaj, że łatwo pomylić system plików z układem katalogu z perspektywy użytkownika. Chociaż termin „system plików” naprawdę ma wyglądać na wewnętrzne elementy systemu plików; na przykład. różnica między FAT i NTFS, a także różnice między ext2 i ext3 ...
Tamara Wijsman,
4
@Tom: Wygląda na to, że OP naprawdę pyta o różnice w różnych hierarchiach obiektów między Linuksem a Windowsem, a nie o to, jak bity są układane na dysku. udev, procfs, sysfs, tmpfs itp. to systemy plików tak samo, jak ext2 lub NTFS w Linuksie, mimo że nie zawierają rzeczy na dysku.
afrazier
To tylko część jego pytania „Czy system plików to tylko układ folderów?”, Sposób, w jaki odpowiadasz na pytanie, sprawia, że ​​jest to bardziej mylące i nie odpowiada na to pytanie. Dlatego zostawiłem anons dla czytelników ...
Tamara Wijsman,
+1 za „wszystko jest plikiem” w Linuksie. To jest dla mnie wielka różnica między Linuksem a Windows.
Rabarberski
3

System plików dotyczy nie tylko konfiguracji drzewa katalogów, ale także sposobu zakodowania tych informacji na nośniku. Istnieje kilka systemów plików dla Linuksa: ext3, xfs, raiserfs itp.

choroba
źródło
3

Możesz myśleć o systemach plików jako o różnych formatach do przechowywania plików i folderów, nieco analogicznie do tego, jak MS Word i PDF to różne formaty do przechowywania dokumentów, lub MP3 i WAV to różne formaty do przechowywania dźwięku.

Biorąc pod uwagę kilka plików i folderów, systemem plików jest format i kod, który przechowuje je na dysku, aby można je było ponownie odczytać.

I podobnie jak nie wszystkie odtwarzacze wideo mogą odtwarzać wszystkie formaty wideo, nie wszystkie systemy operacyjne mogą odczytać wszystkie systemy plików. Na przykład, jeśli przechowujesz plik z systemu Linux na pamięci USB sformatowanej w systemie ext3, system Windows nie może odczytać pliku, ponieważ nie wie, jak obsługiwać system plików ext3.

Typowe systemy plików to

  • FAT i NTFS (Windows, NTFS jest standardem w nowszych wersjach Windows)
  • ext3 i ext4 (Linux)
  • HFS plus (OS X)
  • ISO 9660 i UDF (CD, DVD i Blu-Ray)

Porównaj systemy plików na Wikipedii .

jg-faustus
źródło