BSD daemon

NetBSD Dokumentation:

UVM, das neue Virtuelle Speichersystem

UVM FAQs


Weitere Links:


UVM FAQs


Was ist UVM? (zurück)

UVM ist eine komplette Neufassung des NetBSD Speichersystems, welches sich als wesentlich besser als das Mach VM System herausgestellt hat. UVM unterstützt fortgeschrittene Eigenschaften wie z. B. Page Loanout und wird zur Entwicklung eines vereinheitlichten Buffer und Page Cache für NetBSD genutzt. Eine detaillierte Beschreibung können Sie auf der UVM Webseite finden.

Wer hat UVM geschrieben? (zurück)

Chuck Cranor hat UVM entworfen und implementiert. Matthew Green schrieb das Swap Subsystem und befasste sich mit Integrationsaspekten, Chuck Silvers schrieb den Anonymous Memory Object Pager (wodurch Unterstützung von mehrfach genutztem Speicher möglich wurde), und viele andere Entwickler haben die entsprechenden Übertragungen vorgenommen. Andrew Brown veränderte UVM um top down Speicherverwaltung zu ermöglichen.

Wie geht UVM mit Speicherknappheit um? (zurück)

UVM benutzt träge Zuweisung; dies bedeutet, dass Programme mehr virtuellen Speicher als vorhanden benutzen können. Stellt UVM einen vollen virtuellen Speicher fest und wird ein Bit aus der trägen Zuweisung angesprochen, so wird der anfordernde Prozeß geKILLt und das System arbeitet normal weiter. Des Weiteren besteht ein kleiner Puffer mit Pages, die für den Gebrauch des Paging Systems reserviert sind. Dadurch kann der Pagedaemon bequem weiter funktionieren, selbst wenn kein freier Arbeitsspeicher mehr vorhanden ist. Der Grossteil dieser Arbeit wurde von Chuck Silvers erledigt.

Welche Ports nutzen UVM? (zurück)

UVM ist nicht für 1.3.x Releases nutzbar, wird jedoch in allen Ports seit 1.4 und später verwendet.

Was bedeuetet das U in UVM? (zurück)

UVM war ehemals Teil eines anderen Projektes von Chuck Cranor, welches mit einem 'U' (für 'universal', also 'universell') anfing. Dieses Projekt mutierte jedoch in UVM, so dass das 'u' eigentlich für gar nichts steht: "UVM" ist bloss ein Name der sich von "vm" unterscheidete und gleichzeitig daran angelehnt bleibt.

Wieviel virtuellen Speicher habe ich? (zurück)

Der virtuelle Speicher in UVM ist gleich der Grösse Ihres physischen RAM (minus Kernel Overhead) plus der Grösse jeder Swap-Partition. Oder anders ausgedrückt, physischer Speicher ist nicht auf ein Paging Device angewiesen.

Was ist ``top down'' Speicherverwaltung? (zurück)

Hierdurch werden Speicherallokationen, die durch einen mmap(2) Aufruf erfolgen und keine spezielle Addresse beanspruchen so arrangiert, dass sie direkt unter dem Stack anfangen und sich von dort von oben nach unten arbeiten (also ``top down''), anstelle von der Mitte aufwärts. Dadurch wurden die Bereiche, die für heap growth und für mmap(2) Allokationen reserviert sind zusammengelegt, was bedeutet, dass ein Prozess grössere oder mehrere Objekte mmap(2)en, oder aber den heap grösser wachsen lassen kann. Für interne Speicherverwaltung nutzt der Kernel noch immer das traditionelle ``bottom up'' Schema.

Welche Ports nutzen ``top down'' Speicherverwaltung? (zurück)

Momentan wird die top down Speicherverwaltung als Kernel Option in den i386 und PowerPC Ports ( bebox, macppc, mvmeppc, ofppc, pmppc, prep, und sandpoint) genutzt. Es wird erwartet, dass letztendlich alle Ports top down nutzen werden. Sehen Sie auch die options(4) Manual Page für weitere Informationen.

Zurück zu NetBSD Dokumentation: Kernel
Home page
Zurück zu Dokumentation

(Ihre Meinung) $NetBSD: uvm.html,v 1.13 2005/09/28 17:24:39 mishka Exp $
Copyright © 1994-2003 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.