vms_create Kernel-Service

Zweck

Erstellt ein virtuelles Speicherobjekt des angegebenen Typs, der angegebenen Größe und der angegebenen Grenzwerte.

Syntax

#include <sys/types.h>
#include <sys/errno.h>
#include <sys/vmuser.h>
int vms_create (vmid, type, devgno, size,
uplim, downlim)
vmid_t * vmid;
int   type;
dev_t devgno;
int   size;
int   uplim;
int   downlim;

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.