Bei Pubsets hat der Benutzer mit Ausnahme der physikalischen Allokierung keinen Einfluss darauf, auf welchen Platten der Speicherplatz zugewiesen wird (wenn der Pubset aus mehreren Platten besteht). Mit dem Makro FSTAT, dem Kommando SHOW-FILE-ATTRIBUTES oder dem Dienstprogramm SPCCNTRL kann man sich über die Verteilung der Datei auf einzelne Platten informieren.
Jeder Pubset enthält folgende Informationen:
Eintrag für alle Benutzer, die auf diesen Pubset zugreifen dürfen; andere Benutzer haben keinen Zugang zu diesem Pubset.
Für jeden Benutzer, der das Zugriffsrecht hat, ist eine obere Schranke, das Public-Space-Limit, festgelegt.
Für jeden Benutzer, der das Zugriffsrecht hat, ist festgelegt, ob er sein Public-Space-Limit überschreiten darf (PUBLIC-SPACE-EXCESS=*NO im Benutzereintrag).
Ein Benutzer, der auf einen Pubset nicht zugreifen darf, kann auf diesem Pubset auch keinen Speicherplatz anfordern.
Hat ein Benutzer die Zugriffsberechtigung für einen Pubset, kann er solange Speicherplatz anfordern, bis sein Public-Space-Limit erschöpft ist. Nur wenn er sein Public-Space-Limit überschreiten darf, dann kann er auch darüber hinaus Speicherplatz anfordern.
Der Operator erhält eine Meldung, wenn das Public-Space-Limit überschritten wurde. Ist diese Grenze auch bei Auftragsende noch überschritten, gibt das DVS bei der Logoff-Behandlung eine entsprechende Meldung an den Benutzer aus.
Die Speicherplatzbeschränkung wird von der Systembetreuung festgelegt. Mit dem Kommando SHOW-USER-ATTRIBUTES können Sie sich darüber informieren.
Speicherplatzerweiterung
Reicht der angeforderte Speicherplatz nicht aus, kann er erweitert werden. Dies kann explizit z.B. über das Kommando /MODIFY-FILE-ATTRIBUTES ...,SUPPORT= *PUBLIC-DISK(SPACE=*RELATIVE(...)) oder den Makro FILE ...,SPACE=... bzw. implizit während der Dateiverarbeitung durch das DVS erfolgen.
Die Allokierungsstrategie des DVS ist daraufhin ausgerichtet, eine Extent-Zersplitterung möglichst zu vermeiden, d.h. Anschluss an den letzten belegten Extent zu bekommen.
Speicherplatzfreigabe
Mit dem Makro ERASE (Operand SPACE) bzw. mit dem Kommando DELETE-FILE (Operand OPTION=*SPACE) kann Speicherplatz freigegeben werden. Der Katalogeintrag der betroffenen Dateien bleibt erhalten, er hat die Form eines mit dem Makro CATAL oder dem Kommando CREATE-FILE erstellten Katalogeintrags.
Reservierter, aber nicht belegter Speicherplatz kann mit dem Makro FILE (Operand SPACE=<-n>) bzw. dem Kommando MODIFY-FILE-ATTRIBUTES (Operand SPACE=*RELEASE(...)) freigegeben werden. Gilt aus dem Katalogeintrag DESTROY=YES, wird so freigegebener Speicherplatz überschrieben. Da beim Überschreiben keine Unit-Grenzen berücksichtigt werden, kann es vorkommen, dass (rückwärts) bis zur letzten belegten Seite die Restdaten überschrieben werden.