Czy system plików jest częścią systemu operacyjnego?

9

Zastanawiałem się, czy system plików na urządzeniu pamięci masowej jest częścią systemu operacyjnego?

Nie wydaje mi się Zamiast tego jest częścią urządzenia pamięci masowej i istnieje poza dowolnym systemem operacyjnym, chociaż został utworzony przez system operacyjny. Czy moje zrozumienie jest słuszne?

Jednak w Wikipedii :

Większość systemów operacyjnych zapewnia system plików, ponieważ system plików jest integralną częścią każdego nowoczesnego systemu operacyjnego.

Czy w przypadku LVM jest to część systemu operacyjnego? Jeśli tak, to czy wirtualny system plików zbudowany na LVM jest częścią systemu operacyjnego?

Tim
źródło
Ponieważ sam system operacyjny znajduje się w systemie plików, powiedziałbym, że jest integralną częścią systemu operacyjnego, nie ma mowy o tym.
Moab
Z twojego powodu, czy system operacyjny nie jest częścią systemu plików bardziej odpowiedni niż odwrotna strona?
Tim
Właściwie uważam, że system plików jest wymagany przez nośnik pamięci, ponieważ system operacyjny może znajdować się w pamięci bez użycia dysku twardego lub innego urządzenia pamięci masowej.
Moab

Odpowiedzi:

10

Sam system plików, reprezentowany przez fizyczną kolejność informacji o reprezentacji pamięci, jest niezależny od systemu operacyjnego. System operacyjny zawiera sterownik, który pozwala mu współpracować z systemem plików. Niektóre systemy plików mogą mieć tylko jeden system operacyjny, który może z nim rozmawiać, i ten system operacyjny ma na stałe zakodowany system plików (pomyśl o oryginalnym systemie plików Novell NetWare); ale to nie powstrzymuje przedsiębiorczej osoby od napisania takiego sterownika dla innego systemu operacyjnego tylko dlatego.

LVM nie jest systemem plików, to menedżer woluminów. Menedżery woluminów, podobnie jak systemy plików, opierają się na danych przechowywanych w logicznej prezentacji pamięci w celu dalszego zdefiniowania sposobu dostępu do tej pamięci dla kolejnych woluminów logicznych. W przypadku LVM zarówno Linux, jak i BSD mogą używać tego samego formatu pamięci masowej dla swoich odpowiednich implementacji LVM.

Menedżerem woluminów systemu Windows jest dysk dynamiczny, a niektóre przedsiębiorcze osoby stworzyły sterowniki systemu Linux, aby uzyskać do nich dostęp.

Jeśli chcesz wziąć zestaw dysków, zainstaluj jakiś system Linux, skonfiguruj je za pomocą LVM, zainstaluj kilka ext3systemów plików na woluminach logicznych, a następnie umieść dyski na komputerze FreeBSD, aby ten komputer mógł odczytać dyski . Prawdopodobnie. Wynika to z faktu, że FreeBSD ma sterowniki, które rozumieją fizyczny układ zarówno LVM, jak i ext3, i implementują wymaganą pamięć systemową oraz struktury dostępu wymagane do interakcji z nimi.

Te sterowniki wymagane do interpretowania układ pamięci są prawie zawsze „w OS”, ale układ rzeczywisty przechowywania sama nie jest uważany za.

SysAdmin1138
źródło
4

Odpowiedziałem na to na ServerFault . Oto odpowiedź jeszcze raz:

Problemem jest tutaj słowo „system plików”. W światach POSIX / Unix / Linux oznacza kilka różnych rzeczy.

  1. „System plików” jest czasem całym systemem plików, zrootowanym /i przedstawionym oprogramowaniu aplikacji przez jądro systemu operacyjnego. W tym znaczeniu ludzie mówią na przykład o systemach operacyjnych POSIX posiadających „pojedyncze drzewo systemów plików ”.
  2. „System plików” jest czasem jednym (lub więcej) wycinkiem jednego lub kilku urządzeń pamięci masowej z dostępem bezpośrednim lub DASD - jednego lub więcej zbiorów ciągłych sektorów dysków sformatowanych jako pojedynczy wolumin z podany format - określony przez jakiś schemat partycjonowania dysku. W tym znaczeniu ludzie mówią o „formatowaniu mojego /usrsystemu plików ”.
  3. „System plików” jest czasem abstrakcyjnym drzewem plików i katalogów, które można połączyć, prezentowane przez sterownik systemu plików (tj. Warstwę VFS) reszcie systemu. Z tym rozumieniu, ludzie mówią o, powiedzmy, „montowania systemu plików proc sprawie /proc”.

Proza Wikipedii oznacza nr 1. Jest to rzeczywiście część systemu operacyjnego, ponieważ jest to system operacyjny dostarczony, a specyficzna dla systemu operacyjnego abstrakcja zapewniona programom aplikacyjnym działającym w systemie operacyjnym.

Znaczenie # 2 nie jest częścią systemu operacyjnego. Jest to struktura danych na dysku, którą może zrozumieć jeden lub więcej systemów operacyjnych. Struktury danych na dysku dla LVM, w szczególności, zapewniają sposoby dzielenia jednego lub więcej DASD na jeden lub więcej woluminów. Nie są one same w sobie częścią systemu operacyjnego. (Ale podobnie „LVM” ma wiele znaczeń i może oznaczać sterowniki i narzędzia LVM w systemie operacyjnym w takim samym stopniu, w jakim mogą oznaczać struktury danych na dysku, którymi manipulują te sterowniki i narzędzia. Np. „Uruchomiłem LVM z dysk ratunkowy. ”)

Znaczenie # 3 to abstrakcja specyficzna dla systemu operacyjnego zapewniana przez sterowniki systemu plików specyficzne dla systemu operacyjnego. Sterowniki systemu plików są w rzeczywistości częścią systemu operacyjnego, chociaż zwykle różnią się od jądra systemu operacyjnego .

JdeBP
źródło
2

System plików jest tworzony, utrzymywany i używany przez system operacyjny, ale masz prawo stwierdzić, że jego reprezentacja może istnieć niezależnie od systemu operacyjnego.

Zian Choy
źródło
Wszystkie odpowiedzi są warte zachodu, ta jest najważniejsza.
conner.xyz
2

Nie ma formalnej definicji „systemu operacyjnego”. Niektórzy utrzymywali, że „system operacyjny” i „interfejs API zarządzania plikami” były takie same, a system operacyjny nie miał nic innego do roboty, jak tylko analizator poleceń. (W końcu to wszystko, co pierwotnie zrobił MS-DOS).

Zawsze twierdziłem, że DOS nie był prawdziwym systemem operacyjnym - że zadaniem systemu operacyjnego jest abstrakcja i wirtualizacja sprzętu oraz zarządzanie zasobami sprzętowymi. DOS zasadniczo tego nie zrobił.

Jeśli chodzi o to, czy system plików jest częścią systemu operacyjnego, czy „urządzeniem pamięci”, wiele zależy z kolei od tego, co rozumiesz przez „system plików”. Istnieje układ fizyczny, taki jak układ na dyskietce lub płycie CD, i FUNKCJA systemu plików, która zależy od posiadania inteligentnego bytu (CPU lub jakiegoś procesora peryferyjnego), aby wziąć nonsens na dysku i zwrócić jako znacząca sekwencja bajtów. Układ prawdopodobnie odpowiada niektórym standardom, więc możesz np. Nagrać płytę CD na jednym urządzeniu i odczytać / odtworzyć ją na innym. Pytanie brzmi, czy ten układ jest „systemem plików”, czy też „system” znajduje się w urządzeniach wystarczająco sprytnych do odczytu / zapisu układu.

W większości kontekstów komputerowych używa się terminu „system plików” w odniesieniu do interfejsów API umożliwiających odczytywanie / zapisywanie plików oraz kombinacji procesora i urządzeń peryferyjnych, działających pod kontrolą niektórych systemów operacyjnych, które implementują te interfejsy API - termin zazwyczaj nie odnosi się do fizycznego formatu nośnika lub pojedynczego nośnika, wymiennego lub nie.

Daniel R. Hicks
źródło
Ciekawe punkty
Maks.
Nawet w MS-DOS system operacyjny był taki MSDOS.SYS, jak powłoka wiersza poleceń COMMAND.COM.
user1686
1

Ta konkretna implementacja jest częścią systemu operacyjnego. Abstrakcyjny pomysł, specyfikacje i przechowywane dane nie są.

użytkownik541686
źródło
1

Dyski i urządzenia podobne do dysków są „głupie”. Pytasz go o LBA, to daje ci 512, 2048 lub 4096 bajtów, które zawiera; i odwrotnie do pisania.

Warstwa systemu plików pozwala powiedzieć „Chcę c: \ users \ public \ dokumenty \ cokolwiek.doc” i wykonać na tym operacje strumieniowe (otwieranie, czytanie, pisanie, wyszukiwanie, zamykanie) - tłumaczy z lokalizacji adresowalnych na serie wniosków o odczyt / zapis LBA.

Warstwa systemu plików ma więc dwie strony, jedną komunikującą się z urządzeniem podobnym do dysku (lub bloku), a drugą komunikującą się z systemem operacyjnym. W tym przypadku odgrywa rolę specyfika systemu operacyjnego. Zwykle stroną blokową systemu plików jest sterownik urządzenia, a stroną systemu operacyjnego jest interfejs API, z którego mogą korzystać aplikacje. Ale to tylko interfejsy i tak naprawdę nie muszą wpływać na podstawowe działanie warstwy systemu plików.

Wszystkie systemy plików powodują, że dodatkowe dane są zapisywane i odczytywane poza danymi plików, w celu śledzenia informacji o plikach, tj. W celu rejestrowania uprawnień, atrybutów itp.

Podczas uruchamiania występuje problem z kurczakiem i jajkiem - ponieważ pliki systemu operacyjnego są przechowywane w systemie plików, ale jak są ładowane, jeśli warstwa systemu plików nie jest jeszcze aktywna? Linux rozwiązuje ten problem albo z początkowym dyskiem RAM, albo poprzez wbudowanie kodu systemu plików jako części jądra. System Windows rozwiązuje ten problem, umożliwiając programowi ładującemu Windows odczytanie partycji FAT i NTFS. Programy ładujące mogą być głupie, jak większość klasycznych programów ładujących BIOS, które ładują tylko LBA 0 i wykonują go i oczekują, że kod ten później pobierze, lub dość inteligentne i z własnymi małymi warstwami systemu plików, takimi jak UEFI, U-boot itp.

LVM nie jest systemem plików. Pobiera jedno lub więcej urządzeń blokowych i wyodrębnia je w inne „wirtualne” urządzenie blokowe (in /dev/mapper- wszystko w /dev/mapperto wirtualne urządzenie blokowe). System plików „umieszczasz” na „LVM” w taki sam sposób, jak system plików „na” partycji. LVM to kolejna warstwa pomiędzy co najmniej jednym sterownikiem urządzenia a systemem plików, konwertująca odczyty i zapisy do LBA na wirtualnym urządzeniu blokowym na jedno lub więcej innych urządzeń blokowych. Tak, LVM może być wirtualnym urządzeniem blokowym i możesz mieć ich kaskadę.

LawrenceC
źródło