Do pracy z urządzeniami pamięci potrzebujemy systemu plików, a co z przestrzenią wymiany?
Jeśli nie ma systemu plików, jak działa system operacyjny? W jaki sposób dane (z pamięci RAM) są zapisywane na dysku i w jaki sposób są ponownie dostępne?
partitioning
filesystem
swap
Sinoosh
źródło
źródło
Odpowiedzi:
Zamień technicznie nie ma określonego systemu plików. Głównym celem systemu plików jest uporządkowanie danych w określony sposób. W szczególności partycja wymiany nie ma struktury, ale ma określony nagłówek, który jest tworzony przez
mkswap
program. W szczególności (pochodzi z kernel.org ):Każda partycja ma określony kod powiązany z nią i zgodnie z TLDP :
W przypadku pliku wymiany jest to nieco inna historia. Jądro musi szanować fakt, że system plików może mieć własny sposób strukturyzacji danych. Z tego samego linku kernel.org:
Podsumowując, technicznie można nazwać przestrzeń wymiany systemem plików własnego typu, ale nie jest to całkiem porównywalne z systemami plików takimi jak NTFS lub ext4
Ty też zapytałeś
Ściśle mówiąc, nie ma potrzeby tworzenia struktury pamięci RAM. Jednak część pamięci RAM może mieć strukturę tmpfs w systemach operacyjnych uniksopodobnych. Istnieją także ramfs i initramfs, które ładuje się podczas procesu uruchamiania. Ale technicznie dane z pamięci RAM powinny być tylko surowymi zerami i zerami, więc i tak nie trzeba ich strukturyzować.
źródło
Jądro używa przestrzeni wymiany do tymczasowego przechowywania stron pamięci systemowej (RAM), gdy się zapełni. Jądro używa własnych wewnętrznych tabel do „zapamiętywania” dokładnie tego, w którym miejscu dysku wymiany umieścił stronę. W rezultacie dyski wymiany nie zawierają odpowiedniego systemu plików i zwykle są po prostu pustymi partycjami na dysku.
To, co może Cię zainteresować, to dysk RAM, który jest małym systemem plików przechowywanym w pamięci systemu. Jeśli potrzeba więcej pamięci, jądro wypchnie ją (i inną zawartość) na przestrzeń wymiany. Zobacz tutaj instrukcje dotyczące konfiguracji.
źródło
Przestrzeń wymiany jest podzielona na bloki tego samego rozmiaru co strony pamięci (zwykle 4kB), a zapis mapowania tych stron na pamięć aplikacji stanowi rozszerzenie podsystemu pamięci wirtualnej w CPU i systemie operacyjnym.
Oznacza to, że istnieje już system mapowania między obszarami pamięci aplikacji a rzeczywistym adresem pamięci fizycznej. Aplikacja ma dużą przestrzeń adresową pamięci, z której może korzystać tyle, ile tylko może. Ponieważ w rzeczywistości wykorzystywana jest większa część tej przestrzeni adresowej pamięci, pamięć fizyczna jest mapowana na tę aplikację, aby służyła jako nośnik pamięci.
Kiedy pamięć jest zamieniana na dysk, powiązany system utrzymuje mapowanie przestrzeni pamięci aplikacji na blok na dysku.
Sama tabela mapowania nie jest przechowywana na dysku, a dane pozostałe na dysku są bezużyteczne po ponownym uruchomieniu.
źródło