Czy jednocześnie jest tylko jeden proces w pamięci, a przełączniki kontekstowe stale przenoszą procesy tam iz powrotem między DRAM na dysk? A może wiele procesów jest jednocześnie przechowywanych w pamięci DRAM, a przełączniki kontekstu zmieniają tylko proces wykonywany przez procesor?
czym różni się pamięć wirtualna?
memory-management
glen4096
źródło
źródło
Odpowiedzi:
To pytanie naprawdę nie ma sensu.
Informacje są ładowane i przechowywane w pamięci na podstawie częstotliwości ich wykorzystywania i decyzji podjętych przez menedżera pamięci wirtualnej. Procesy są planowane przez program planujący. Jeden nie ma nic wspólnego z drugim.
To nie procesy są przechowywane w pamięci w nowoczesnych systemach operacyjnych, to strony. A jeśli na przykład wyobrażasz sobie dwa procesy uruchamiające ten sam plik wykonywalny, wiele stron zostanie udostępnionych i załadowanych do pamięci, jeśli zajdzie taka potrzeba, gdy którykolwiek z nich uzyska do nich dostęp.
źródło
Od czasu do czasu myślałem o tym z filozoficznego punktu widzenia, próbując zastosować to u ludzi, aby pomyśleć o naszym doświadczeniu jakiegoś procesu. Użyłem komputerów jako analogu dla nas; świadomość jest produktem procesu informacji pochodzącej z pamięci.
Nie było to dla mnie pomocne, ale myślę, że dotyczy to twojego pytania, ponieważ w prostym przypadku odpowiedź brzmiałaby „tak”.
W rdzeniu procesora, jeśli proces stanowi wykonanie procedury, wiemy, że procesor pracuje z danych z pamięci rejestru. Może to wciąż nie jest wystarczająco niskie. Idąc głębiej, do progu realizacji, gdzie proces prowadzi do produktu, zobaczymy, to kończy się na jednostkę arytmetyczno-logiczną . ALU ma funkcję wykonywania operacji na dwóch liczbach . Dlatego mówię tak, jeśli nasz pogląd jest tu ograniczony, w pamięci jest tylko jeden proces na raz.
Więc:
To nie jest odpowiedź na pytanie, ale mam nadzieję, że sprawisz, że pomyślisz o różnych poziomach i rodzajach pamięci i pamiętasz, że na dole jest fizyczna maszyna. Odpowiedź zakłada, że ALU w końcu zakończy proces na podstawie dwóch danych wejściowych i jednego wyniku. Współczesne procesory są prawdopodobnie zbyt skomplikowane, abym mógł nawet powiedzieć, ile potencjalnie końcowych sub-ALU znajduje się na końcu jednostki.
źródło
Części przestrzeni adresowej wielu procesów z pewnością mogą znajdować się i prawie zawsze znajdują się jednocześnie w pamięci fizycznej. Rezerwa wszystkich procesów jest bardzo rzadka. To prawie tak rzadkie, aby żaden z nich nie był rezydentem. (W rzeczywistości w systemie Windows, ponieważ każdy proces niesie ze sobą niewielką ilość niestronicowanych informacji, jest to niemożliwe. Nie wiem o innych systemach operacyjnych, ale spodziewam się, że jest tak samo.)
Pamięć nie jest stronicowana i stronicowana ze względu na zachowanie związane z planowaniem - z tym wyjątkiem, że wątek, który nie działa, nie powoduje błędów stron; jeśli wszystkie wątki w procesie nie są uruchomione, nie ma powodu, aby stronicować w dowolnej wirtualnej przestrzeni adresowej.
I odwrotnie, w przypadku długiego bezczynności proces systemu może odzyskać część pamięci z zestawu roboczego (i być może, choć niekoniecznie, utracony z pamięci RAM) przez system operacyjny, jeśli brakuje pamięci RAM i / lub wysokiego wskaźnika błędów stron.
Nie określono, o który system operacyjny pytasz. W systemie Windows, Menedżer zadań, zakładka „Procesy” (Windows Vista i 7) lub „Szczegóły” (Windows 8.x), „Pamięć (prywatny zestaw roboczy) pokaże, ile pamięci RAM znajduje się w zestawie roboczym każdego procesu, dla procesów-prywatnych vas Kolumna „Pamięć (wspólny zestaw roboczy)” informuje o ilości pamięci RAM w ws każdego procesu, która może również znajdować się w zestawie roboczym innych procesów.
Ponadto zwykle będą istnieć strony powiązane z każdym z wielu procesów na zmodyfikowanych i rezerwowych listach stron. Lista rezerwowa jest częścią tego, co system Windows zgłasza jako „Dostępny”, lista zmodyfikowana nie. Nie ma ich w zestawach roboczych żadnego procesu, ale jeśli odpowiadające im strony wirtualne zostaną uszkodzone, można je szybko „wczytać”, bez przechodzenia na dysk.
źródło