Tytuł pytania brzmi: Dlaczego musimy montować w systemie Linux?
Jeden ze sposobów interpretacji tego pytania: Dlaczego musimy wydawać jawne mount
polecenia, aby systemy plików były dostępne w systemie Linux?
Odpowiedź: my nie.
Nie musisz jawnie montować systemów plików, możesz ustawić, aby odbywało się to automatycznie, a dystrybucje Linuksa już to robią dla większości urządzeń, tak jak robią to Windows i Mac.
Więc prawdopodobnie nie o to chciałeś zapytać.
Druga interpretacja: dlaczego czasami musimy wydawać jawne mount
polecenia, aby udostępnić systemy plików w systemie Linux? Dlaczego nie sprawić, że system operacyjny zawsze zrobi to za nas i ukryje przed użytkownikiem?
Oto pytanie, które czytam w tekście pytania, kiedy zadajesz:
Dlaczego nie pominąć całkowicie montażu i wykonać następujące czynności
ls /dev/cdrom
i czy na liście znajduje się zawartość płyty CD-ROM?
Prawdopodobnie masz na myśli: dlaczego po prostu nie masz tego polecenia
ls /media/cdrom
robi teraz?
W takim przypadku /dev/cdrom
byłoby to drzewo katalogów, a nie plik urządzenia. Tak więc wydaje się, że Twoim prawdziwym pytaniem jest: po co plik urządzenia?
Chciałbym dodać odpowiedź do tych, które już zostały podane.
Dlaczego użytkownicy widzą pliki urządzeń?
Ilekroć korzystasz z dysku CD-ROM lub innego urządzenia do przechowywania plików, używane jest oprogramowanie, które interpretuje wszystko, co znajduje się na dysku CD-ROM, jako drzewo katalogów plików. Jest on wywoływany za każdym razem, gdy używasz ls
innego polecenia lub aplikacji, która uzyskuje dostęp do plików na dysku CD-ROM. To oprogramowanie jest sterownikiem systemu plików dla konkretnego systemu plików używanego do zapisywania plików na dysku CD-ROM. Ilekroć wyświetlasz, odczytujesz lub zapisujesz pliki w systemie plików, zadaniem tego oprogramowania jest upewnienie się, że odpowiednie operacje odczytu i zapisu na niskim poziomie są wykonywane na danym urządzeniu. Kiedykolwiek jesteś mount
systemem plików, mówisz systemowi, którego sterownika systemu plików użyć dla tego urządzenia. Czy robisz to jawnie za pomocąmount
polecenie lub pozostaw to systemowi operacyjnemu, aby wykonało się automatycznie, trzeba będzie to zrobić, i oczywiście oprogramowanie sterownika systemu plików będzie musiało tam być.
Jak działa sterownik systemu plików? Odpowiedź: robi to poprzez czytanie i zapisywanie do pliku urządzenia. Dlaczego? Odpowiedź, jak już wspomniałeś: Unix został zaprojektowany w ten sposób. W Uniksie pliki urządzeń są powszechną abstrakcją niskiego poziomu dla urządzeń. Naprawdę oprogramowanie specyficzne dla urządzenia (sterownik urządzenia) dla określonego urządzenia ma zaimplementować otwieranie, zamykanie, czytanie i zapisywanie na urządzeniu jako operacje na pliku urządzenia. W ten sposób oprogramowanie wyższego poziomu (takie jak sterownik systemu plików) nie musi wiedzieć tyle o wewnętrznym działaniu poszczególnych urządzeń. Niskopoziomowe sterowniki urządzeń i sterowniki systemu plików mogą być zapisywane osobno przez różne osoby, pod warunkiem, że uzgodnią wspólny sposób komunikowania się między sobą i do tego służą pliki urządzeń.
Tak więc sterowniki systemu plików potrzebują plików urządzeń.
Ale dlaczego my, zwykli użytkownicy, widzimy pliki urządzeń? Odpowiedź jest taka, że Unix został zaprojektowany do użytku przez programistów systemów operacyjnych. Został zaprojektowany, aby umożliwić użytkownikom pisanie sterowników urządzeń i sterowników systemu plików. Tak właśnie się pisze.
To samo dotyczy Linuksa: możesz napisać własny sterownik systemu plików (lub sterownik urządzenia), zainstalować go, a następnie użyć. To sprawia, że Linux (lub jakikolwiek inny wariant Uniksa) jest łatwo rozszerzalny (i to jest powód, dla którego Linux został uruchomiony): kiedy pojawia się jakiś nowy sprzęt lub pojawia się nowy, mądrzejszy sposób implementacji systemu plików , ktoś może napisać kod, aby go wesprzeć, sprawić, by działał i wniósł go do systemu Linux.
Pliki urządzeń ułatwiają to.