Virtual Storage Access Method

VSAM (Virtual Storage Access Method) – specjalny, dodatkowy system dostępu i przetwarzania zbiorów danych, zlokalizowanych na nośnikach o dostępie bezpośrednim, wprowadzonych w maszynach cyfrowych IBM/370 i następnych, wyposażonych w pamięć wirtualną w systemie operacyjnym OS.

Budowa systemu

edytuj

System VSAM tworzą:

  • VSAM: metoda dostępu
  • IDCAMS: program usługowy zarządzający środowiskiem
  • VS: specjalne środki systemu OS.

Powyższe elementy tworzyły specjalizowane środowisko programowe, przeznaczone do rozszerzonego przetwarzania danych.

Organizacja zbiorów danych

edytuj

System VSAM udostępniał dodatkowe (w stosunku do systemu OS) organizacje zbiorów danych:

  • pozycyjną (entry sequenced data set, ESDS)
  • kluczową (key sequenced data set, KSDS)
  • komórkową (relative record data set, RRDS).

Operator – programista – posługujący się określonym źródłem danych programował przetwarzanie określonych kolekcji, na które były przechowywane w plikach:

  • danych
  • indeksów
  • indeksów pobocznych
  • innych.

Organizacja pozycyjna

edytuj

Ten rodzaj wywodzi się z organizacji szeregowej. Rozszerzenie organizacji szeregowej polegało w tym przypadku na wprowadzeniu:

  • indeksów jednoznacznych (unique index)
  • indeksów niejednoznacznych (non unique index).

Cechy kolekcji pozycyjnej:

  • ładowanie sekwencyjne „do przodu”
  • dowolna liczba indeksów pobocznych jednoznacznych i niejednoznacznych
  • przetwarzanie:
    • sekwencyjne
    • sekwencyjno-wyrywkowe
    • wyrywkowe
  • przetwarzanie:
    • „w przód”
    • „wstecz”
  • niezmienna pozycja rekordu w kolekcji
  • brak możliwości usunięcia rekordu lub zmiany rozmiaru.

Organizacja kluczowa

edytuj

Ten rodzaj wywodził się z organizacji indeksowej. Ładowanie rekordów odbywało się po uporządkowaniu kolekcji według wartości kluczy, przy czym dostępne były również indeksy jednoznaczne i niejednoznaczne. Cechy kolekcji kluczowej:

  • ładowanie sekwencyjne według kluczy
  • po załadowaniu kolekcji dowolna liczba indeksów pobocznych jednoznaczne i niejednoznaczne
  • przetwarzanie:
    • sekwencyjne
    • sekwencyjno-wyrywkowe
    • wyrywkowe
  • przetwarzanie:
    • „w przód”
    • „wstecz”

Organizacja komórkowa

edytuj

Wywodziła się ona z organizacji regionalnej-1 i była do niej bardzo zbliżona. Brak możliwości tworzenia indeksów pobocznych ograniczał mocno stosowanie tej organizacji kolekcji. Cechy kolekcji komórkowej:

  • ładowanie
    • sekwencyjne
    • sekwencyjno-wyrywkowe
    • wyrywkowe
  • przetwarzanie:
    • sekwencyjne
    • sekwencyjno-wyrywkowe
    • wyrywkowe
  • przetwarzanie:
    • „w przód”
    • „wstecz”
  • konieczność posługiwania się rekordami o stałej długości i identyfikowania rekordów numerami.

VSAM a języki programowania

edytuj

Program IDCAMS służył do tworzenia nowej kolekcji, czego nie można było wykonać w językach programowania. Po utworzeniu kolekcji można było ją przetwarzać, za pomocą języków programowania, takich jak PL/1 czy Cobol.

Ponieważ każda kolekcja musiała być skatalogowana, redukowało to złożoność zdań języka JCL – języka komunikacji pomiędzy operatorem a systemem OS.

Sterowanie systemem

edytuj

Sterowanie systemem opierało się na dyrektywach zapisywanych w układzie swobodnym, które wraz ze swoimi parametrami tworzyły dość rozbudowany język. Dyrektywy dzieliły się na:

  • pozycyjne
  • kluczowe.

Komentarze były zapisywane identycznie jak w PL/1, tzn. pomiędzy znakami „/*” a „*/”. Lista dyrektyw:

  • ALTER : zmiana atrybutów zbiorów, kolekcji, obiektów
  • BLDINDEX : tworzenie indeksu pobocznego
  • CHKLIST : informacje plików kontrolnych
  • DEFINE ALTERNATEINDEX : definiowanie indeksu pobocznego
  • DEFINE CLUSTER : definiowanie kolekcji
  • DEFINE MASTERCATALOG | USERCATALOG : definiowanie katalogu głównego lub użytkownika
  • DEFINE NONVSAM : definiowanie zbioru niebędącego kolekcją
  • DEFINE PATH : definiowanie łączników
  • DEFINE SPACE : definiowanie przestrzeni danych
  • DELETE : usuwanie zbiorów, kolekcji, indeksów, przestrzeni, katalogów
  • EXPORT : eksportowanie katalogów, obiektów
  • EXPORTRA : eksportowanie informacji z obszaru odzyskiwania utraconych danych
  • IMPORT : importowanie katalogów, obiektów
  • IMPORTRA : importowanie z obszaru utraconych danych
  • LISTCAT : wyprowadzenie raportów
  • LISTCRA : sporządzenie raportu
  • PRINT : ujawnienie zawartości zbioru lub kolekcji
  • REPRO : kopiowanie i łączenie: zbiorów, kolekcji, katalogów
  • RESETCAT : porównanie zgodności informacji katalogu i obszaru odzyskiwania utraconych danych
  • VERIFY : aktualizowanie informacji katalogowych

Każda dyrektywa generowała kod powrotu:

  • 0 – wykonanie pomyślne
  • 4 – wykonanie z pewnymi trudnościami
  • 8 – wykonanie niekompletne
  • 12 – odrzucenie dyrektywy
  • 16 – błąd nienaprawialny.

Bibliografia

edytuj