vms_create Kernel-Service
Zweck
Erstellt ein virtuelles Speicherobjekt des angegebenen Typs, der angegebenen Größe und der angegebenen Grenzwerte.
Syntax
Parameter
Element | Beschreibung |
---|---|
vmid | Verweist auf die Variable, in der die Objektkennung des virtuellen Speichers gespeichert werden soll |
Typ | Gibt den Typ und die Optionen des virtuellen Speicherobjekts als OR-Bit an. Der Parameter Typ muss den Wert V_CLIENThaben. Das Flag V_INTRSEG (INTRSEG) gibt an, dass der Prozess unterbrochen werden kann, wenn eine Seite auf dieses Objekt wartet. |
Devgno | Gibt die Adresse des g-Knotens für Clientspeicher an. Wenn der Parameter Typ den Wert V_CLIENThat, ist das dritte Argument ein g-node Ptr -Argument, andernfalls ein Devgno -Argument. |
Größe | Gibt die aktuelle Größe der Datei (in Byte) an Dies kann eine beliebige gültige Dateigröße sein. Wenn V_LARGE angegeben wird, wird dies als Anzahl der Seiten interpretiert. |
Uplim | Ignoriert. Die Durchsetzung von Dateigrößenbegrenzungen erfolgt durch einen Vergleich mit dem Wert u_limit (Grenzwert) im Block U . |
Downlim | Ignoriert. |
Beschreibung
Der Kernel-Service vms_create erstellt ein virtuelles Speicherobjekt. Die resultierende ID des virtuellen Speicherobjekts wird nach Referenz im Parameter VMID zurückgegeben.
Der Parameter Größe wird verwendet, um die Größe des zu erstellenden virtuellen Speicherobjekts in Byte festzulegen. Dieser Parameter legt eine interne Variable fest, die den Bereich des virtuellen Speichers bestimmt, der verarbeitet werden soll, wenn das virtuelle Speicherobjekt gelöscht wird.
Ein Eintrag für das Dateisystem ist in der Paging-Einheitentabelle erforderlich, wenn der vms_create -Kernel-Service aufgerufen wird.
Ausführungsumgebung
Der Kernel-Service vms_create kann nur über Prozessumgebung aufgerufen werden.
Rückgabewerte
Element | Beschreibung |
---|---|
0 | Zeigt eine erfolgreiche Operation an. |
ENOMEM | Gibt an, dass kein Speicherplatz für das virtuelle Speicherobjekt verfügbar ist. |
ENODEW | Gibt keinen Eintrag für das Dateisystem in der Tabelle der Paging-Einheiten an. |
EINVAL | Zeigt inkompatible oder fehlerhafte Parameter an. |