Virtual Storage Access Method

Z Wikipedii, wolnej encyklopedii
(Przekierowano z VSAM)

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]

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 | edytuj kod]