00:40:20 Stud_01: nichts 00:40:54 Stud_02: Hab ich was verpasst oder warum lagert man die modified pages aus dem working set aus? dann hat man ja gar keinen speicher gewonnen? Heißt man schreibt so schnell wie möglich auf die platte und die pages kommen dann in die standby list? 00:41:41 Stud_03: Ist es wirklich so, dass die anderen Prozesse leiden mussten? Wenn ich bei mir in den Task Manager schaue, hat kein Prozess einen aktuellen Arbeitssatz, der auch sein Maximum ist. (Und ich habe noch genug freien RAM, daran kann es also nicht liegen.) 00:42:44 Andreas Grapentin: @Stud_02 Die Seiten werden aus den Working Sets entfernt, und gehen in Standby / Modified. Damit sind sie lediglich *Kandidaten* für’s tatsächliche auslagern. Solange sie in diesen Listen sind, kann der Prozess sie sich zurück holen. 00:43:28 Andreas Grapentin: und das zurückholen aus Modified / Standby ist ein (sehr schneller) soft page fault, und kein hard page fault bei dem wir von der platte lesen müssten.. 00:45:42 Stud_04: was ist mit Erweiterungen eines Page files, die bei Neustart beseitigt werden, gemeint? 00:46:31 Andreas Grapentin: @Stud_04 wenn das system zur Laufzeit in Speichernot gerät, kann es das Pagefile vergrößern, um mehr Speicher auslagern zu können (also mehr Speicherseiten vor Prozessen auf die Platte zu schreiben). 00:46:45 Andreas Grapentin: Dazu werden Erweiterungen erstellt, was ein Feature des Dateisystems ist. 00:47:17 Andreas Grapentin: diese brauche ich natürlich nicht mehr, wenn ich das system neu starte und aller Hauptspeicher wieder zurückgesetzt ist, also kann ich sie wegwerfen :) 00:50:47 Stud_04: danke für die Erklärung! 00:52:30 Felix Gohla: Wer sich das mal bei sich zu Hause ansehen und das mal selbst ausprobieren will, kann sich RAMMap runterladen (https://docs.microsoft.com/en-us/sysinternals/downloads/rammap). Dort sieht man die Aufteilung des RAM u.a. in die Frame-Listen und im Endeffekt auch die PFNDB. :) 00:55:59 Stud_02: Cool, danke für die Antworten :) 00:59:12 Felix Gohla: Für x86 gibt es auch hier eine Übersicht, wie die einzelnen Entries aufgebaut sind: https://wiki.osdev.org/Paging. 01:01:16 Stud_05: CPU 01:01:19 Stud_06: im prozessor 01:01:21 Stud_06: unter dem Kühler 01:01:55 Stud_05: Adressübersetzung 01:21:43 Felix Gohla: Hier ein Codebeispiel, wie memory von einem Prozess committed werden kann, wenn es einen PageFault gibt: https://docs.microsoft.com/en-us/windows/win32/memory/reserving-and-committing-memory 01:23:44 Stud_07: Das Vorlesungsbeispiel war der Texteditor der will, dass der textbuffer beliebig *linear* wachsen kann oder? 01:34:16 Stud_06: nochmal zu reserved memory, dient das dazu die Fragmentierung im Heap zu bekämpfen? 01:36:03 Andreas Grapentin: @Stud_06 nein, das kam falsch rüber. Die Fragmentierung im Heap ist ein separates Problem. Das hängt nicht zusammen. 01:36:13 Stud_07: Auf einer Folie zum Virtual Address Space stand “System Space Contains - executive, kernel and HAL […]” Sind die permanente Residents? Und was ist der Unterschied zwischen Executive und Kernel? 01:37:07 Andreas Grapentin: Die Trennung Executive / Kernel haben wir in Unit OS2 besprochen :) Da gab es ein großes Strukturbild des Windows Kerns, in dem die Executive die oberste Schicht ist (Syscalls) 01:37:36 Stud_07: Achso, danke :) Schon zu lange her anscheinend :D 01:38:24 Stud_08: google chrome 01:38:49 Stud_07: Mein Firefox liegt auch bei 1,1 GB 01:40:47 Stud_05: Vielen Dank, tschau.