Metoda dostępu do wirtualnej pamięci masowej
Virtual Storage Access Method ( VSAM ) to metoda dostępu do pamięci masowej plików IBM DASD , po raz pierwszy użyta w systemach operacyjnych OS/VS1 , OS/VS2 Release 1 (SVS) i Release 2 (MVS), później używana w wielu wirtualnych pamięciach masowych (MVS) ) i teraz w systemie z/OS . Pierwotnie zorientowany na rekordy system plików , VSAM składa się z czterech organizacji zbiorów danych : z sekwencją kluczy (KSDS), rekord względny (RRDS), z sekwencjonowaniem wejściowym (ESDS) i liniowym (LDS). Organizacje KSDS, RRDS i ESDS zawierają rekordy, podczas gdy organizacja LDS (dodana później do VSAM) zawiera po prostu sekwencję stron bez wewnętrznej struktury rekordów, do wykorzystania jako plik mapowany w pamięci .
Przegląd
Redbook IBM o nazwie „VSAM PRIMER” (zwłaszcza w przypadku korzystania z podręcznika „Virtual Storage Access Method (VSAM) Options for Advanced Applications”) wyjaśnia koncepcje potrzebne do korzystania z VSAM. IBM używa terminu zestaw danych w oficjalnej dokumentacji jako synonimu pliku i urządzenia pamięci masowej o dostępie bezpośrednim ( DASD ), ponieważ obsługuje inne urządzenia podobne do dysków .
Rekordy VSAM mogą mieć stałą lub zmienną długość. Są one zorganizowane w bloki o stałym rozmiarze zwane przedziałami kontrolnymi (CI), a następnie w większe działy zwane obszarami kontrolnymi (CA). Rozmiary przedziałów kontrolnych są mierzone w bajtach – na przykład 4 kilobajty – podczas gdy rozmiary obszarów kontrolnych są mierzone w ścieżkach dysku lub cylindrach. Przedziały kontrolne to jednostki transferu między dyskiem a komputerem, więc żądanie odczytu spowoduje odczytanie jednego pełnego przedziału kontrolnego. Obszary kontrolne to jednostki alokacji, więc po zdefiniowaniu zestawu danych VSAM zostanie przydzielona całkowita liczba obszarów kontrolnych.
Program narzędziowy Access Method Services IDCAMS jest powszechnie używany do manipulowania („usuwania i definiowania”) zestawów danych VSAM. Programy niestandardowe mogą uzyskiwać dostęp do zestawów danych VSAM za pośrednictwem instrukcji Data Definition (DD) w języku Job Control Language (JCL), poprzez alokację dynamiczną lub w regionach online, takich jak system kontroli informacji o kliencie (CICS).
Zarówno IMS/DB [ potrzebne źródło ], jak i Db2 są zaimplementowane na bazie VSAM i wykorzystują leżące u ich podstaw struktury danych .
Pliki VSAM
Fizyczna organizacja zestawów danych VSAM różni się znacznie od organizacji używanych przez inne metody dostępu, jak poniżej.
Plik VSAM jest zdefiniowany jako klaster komponentów VSAM, np. dla KSDS komponent DATA i komponent INDEX.
Przedziały kontrolne i obszary kontrolne
Komponenty VSAM składają się z bloków fizycznych o stałej długości, pogrupowanych w przedziały kontrolne o stałej długości (CI) i obszary kontrolne (CA). Rozmiar CI i CA jest określany przez Access Method Services (AMS), a sposób, w jaki są one używane, jest zwykle niewidoczny dla użytkownika. W każdym obszarze kontrolnym będzie ustalona liczba okresów kontrolnych.
Przedział kontrolny zwykle zawiera wiele rekordów. Rekordy są zapisywane w przedziale kontrolnym począwszy od niskiego adresu wzwyż. Informacje kontrolne są przechowywane na drugim końcu przedziału kontrolnego, zaczynając od wysokiego adresu i przesuwając się w dół. Przestrzeń między rekordami a informacjami sterującymi jest wolna. Informacja kontrolna obejmuje dwa typy wpisów: pole deskryptora przedziału kontrolnego (CIDF), które jest zawsze obecne, oraz pola deskryptora rekordu (RDF), które są obecne, gdy w przedziale kontrolnym znajdują się rekordy i opisują długość powiązanego rekordu. Wolne miejsce w CI jest zawsze ciągłe.
Gdy rekordy są wstawiane do przedziału kontrolnego, są one umieszczane we właściwej kolejności względem innych rekordów. Może to wymagać przesunięcia rekordów w interwale kontrolnym. I odwrotnie, kiedy rekord jest usuwany, późniejsze rekordy są przenoszone w dół, tak że wolne miejsce pozostaje ciągłe. Jeśli w interwale kontrolnym nie ma wystarczającej ilości wolnego miejsca na wstawienie rekordu, interwał kontrolny jest dzielony. Mniej więcej połowa rekordów jest przechowywana w pierwotnym przedziale kontrolnym, podczas gdy pozostałe rekordy są przenoszone do nowego przedziału kontrolnego. Nowy okres kontrolny jest pobierany z puli wolnych terminów kontrolnych w obrębie tego samego obszaru kontrolnego, co pierwotny okres kontrolny. Jeżeli w tym obszarze regulacyjnym nie ma już wolnego przedziału kontrolnego, sam obszar kontrolny zostaje podzielony, a okresy kontrolne są rozdzielane równo między stary i nowy obszar kontrolny.
W VSAM można używać trzech rodzajów organizacji plików zorientowanych na rekordy (zawartość liniowych zestawów danych nie ma struktury rekordów):
Sekwencyjna organizacja VSAM
ESDS może mieć zdefiniowany indeks, aby umożliwić dostęp za pomocą kluczy, poprzez zdefiniowanie indeksu alternatywnego. Rekordy w ESDS są przechowywane w kolejności, w jakiej są zapisywane według dostępu adresowego. Rekordy są ładowane niezależnie od ich zawartości, a ich adresy bajtowe nie mogą być zmieniane.
Indeksowana organizacja VSAM
KSDS składa się z dwóch części: komponentu indeksu i komponentu danych. Mogą one być przechowywane na osobnych woluminach dyskowych.
Chociaż podstawowy KSDS ma tylko jeden klucz (klucz podstawowy), można zdefiniować indeksy alternatywne, aby umożliwić użycie dodatkowych pól jako kluczy drugorzędnych. Indeks alternatywny (AIX) sam w sobie jest KSDS.
Struktura danych używana przez KSDS jest obecnie znana jako drzewo B+ .
Względna organizacja VSAM
RRDS może mieć zdefiniowany indeks, aby umożliwić dostęp za pomocą kluczy, poprzez zdefiniowanie indeksu alternatywnego.
Liniowa organizacja VSAM
LDS to nieustrukturyzowany zestaw danych VSAM o rozmiarze interwału kontrolnego będącym wielokrotnością 4K. Jest używany przez niektóre usługi systemowe.
Techniki dostępu do danych VSAM
Istnieją cztery rodzaje technik dostępu do danych VSAM:
- Lokalne zasoby udostępnione (LSR) są zoptymalizowane pod kątem dostępu „losowego” lub bezpośredniego. Dostęp LSR jest łatwy do uzyskania z CICS .
- Globalne zasoby wspólne (GSR)
- Non-Shared Resources (NSR), które są zoptymalizowane pod kątem dostępu sekwencyjnego. Dostęp NSR był historycznie łatwiejszy w użyciu niż LSR dla programów wsadowych.
- Distributed File Management (DFM), implementacja serwera architektury Distributed Data Management Architecture , umożliwia programom na komputerach zdalnych tworzenie i zarządzanie plikami VSAM oraz uzyskiwanie do nich dostępu.
Udostępnianie danych VSAM
Udostępnianie danych VSAM między regionami CICS można wykonać za pomocą udostępniania na poziomie rekordów VSAM (RLS). Dodaje to buforowanie rekordów i, co ważniejsze, blokowanie rekordów. Rejestrowanie i przetwarzanie zatwierdzania pozostaje w gestii CICS, co oznacza, że udostępnianie danych VSAM poza środowiskiem CICS jest poważnie ograniczone.
Udostępnianie między regionami CICS i zadaniami wsadowymi wymaga Transactional VSAM, DFSMStvs. Jest to opcjonalny program, który opiera się na VSAM RLS, dodając rejestrowanie i zatwierdzanie dwufazowe przy użyciu podstawowych usług systemowych z/OS. Pozwala to na uogólnione udostępnianie danych VSAM.
Historia
VSAM został wprowadzony jako zamiennik starszych metod dostępu i miał na celu dodanie funkcji, ułatwienie użytkowania oraz przezwyciężenie problemów związanych z wydajnością i zależnością od urządzenia. VSAM został wprowadzony w latach 70., kiedy IBM ogłosił wirtualnej pamięci masowej (DOS/VS, OS/VS1 i OS/VS2) dla swojej nowej serii System/370, jako następców systemów operacyjnych DOS/360 i OS/360 działających na jego Seria komputerów System/360. Chociaż zachowano kompatybilność wsteczną, starsze metody dostępu miały problemy z wydajnością z powodu translacji adresów wymaganej do wirtualnej pamięci masowej.
Organizacja KSDS została zaprojektowana w celu zastąpienia ISAM , Indexed Sequential Access Method. Zmiany w technologii dyskowej spowodowały, że wyszukiwanie danych w zbiorach danych ISAM stało się bardzo nieefektywne. Przenoszenie zestawów danych ISAM było również trudne, ponieważ zawierały wbudowane wskaźniki do fizycznych lokalizacji na dysku, które traciły ważność po przeniesieniu zestawu danych. IBM dostarczył również interfejs kompatybilności, aby umożliwić programom zakodowanym do używania ISAM używanie zamiast tego KSDS.
Organizacja RRDS została zaprojektowana w celu zastąpienia BDAM , podstawowej metody bezpośredniego dostępu. W niektórych przypadkach zestawy danych BDAM zawierały osadzone wskaźniki, które uniemożliwiały ich przenoszenie. Jednak większość zestawów danych BDAM tego nie robiła, a zachęta do przejścia z BDAM na VSAM RRDS była znacznie mniej przekonująca niż zmiana z ISAM na VSAM KSDS.
Liniowe zestawy danych zostały dodane później, a następnie VSAM RLS, a następnie Transactional VSAM.
Zobacz też
- Język kontroli zadań (JCL)
- Programy narzędziowe IBM dla komputerów mainframe
- ISAM
- Genewa ERS
- Record Management Services , podobny system opracowany przez Digital Equipment Corporation