DOS/360 i następcy

Disk Operating System/360 , także DOS/360 lub po prostu DOS , jest wycofanym pierwszym członkiem serii systemów operacyjnych dla systemów IBM System/360 , System/370 i nowszych komputerów mainframe . Został ogłoszony przez IBM ostatniego dnia 1964 roku, a po raz pierwszy dostarczony w czerwcu 1966 roku. W swoim czasie DOS/360 był najczęściej używanym systemem operacyjnym na świecie.

wersje DOS-owe

BOS/360

Podstawowy system operacyjny (BOS) był wczesną wersją DOS i TOS, która mogła zapewnić użyteczną funkcjonalność w systemie z zaledwie 8 KB pamięci głównej i jednym dyskiem 2311.

TOS/360

TOS / 360 ( Tape Operating System / 360 , a nie DOS jako taki i nie tak zwany ) był systemem operacyjnym IBM dla System / 360 , używanym na początku około 1965 roku do obsługi System / 360 Model 30 i podobnych platform.

TOS, zgodnie z „Tape” w nazwie, wymagał napędu taśmowego. Dzielił większość bazy kodu i niektóre podręczniki z IBM DOS / 360.

TOS przeszedł przez 14 wydań i został wycofany [ nieudana weryfikacja ] , gdy dyski takie jak IBM 2311 i IBM 2314 stały się bardziej przystępne w czasach Systemu / 360 [ nieudana weryfikacja ] , podczas gdy w przypadku IBM 7090 były drogim luksusem .

DOS/360

DOS/360 był podstawowym systemem operacyjnym dla większości małych i średnich instalacji S/360.

DOS/VS

DOS/VS został wydany w 1972 roku. Pierwsze wydanie DOS/VS otrzymało numer „Release 28”, co oznacza stopniową aktualizację z DOS/360. Dodano pamięć wirtualną obsługującą nowy sprzęt z serii System / 370 . Używał stałej tablicy stron , która odwzorowywała pojedynczą przestrzeń adresową do 16 megabajtów dla wszystkich partycji łącznie.

DOS / VS zwiększył liczbę partycji (oddzielnych, równoczesnych programów) z trzech (nazwanych Tło, Pierwszy plan 1 i Pierwszy plan 2) do pięciu (BG i F1 do F4) i pozwolił na wykonanie łącznie piętnastu podzadań w całym systemie.

DOS/VS został zastąpiony przez DOS/VSE do z/VSE .

DOS/VSE

DOS/VSE został wprowadzony w 1979 roku jako „rozszerzona” wersja DOS/VS do obsługi nowych procesorów 4300 . Systemy 4300 zawierały funkcję o nazwie ECPS:VSE, która zapewniała jednopoziomową pamięć zarówno dla procesora, jak i kanałów we/wy. DOS/VSE zapewniał obsługę ECPS:VSE, ale mógł również działać na Systemie/370 bez tej funkcji. VSE była ostatnią darmową wersją DOS-a.

VSE/AF

VSE/Advanced Functions (VSE/AF) to produkt, który dodaje obsługę nowych urządzeń i funkcjonalność do DOS/VSE. Wiele instalacji zainstalowało VSE/AF przy użyciu produktów takich jak VSE System Installation Productivity Option/Extended (VSE System IPO/E), które łączą DOS/VSE, VSE/AF i różne inne produkty.

SSX/VSE

Pracownik IBM instalujący aplikację innej firmy działającą na SSX/VSE w zakładzie IBM Böblingen, w którym wykonano pracę SSX

SSX / VSE („Small System Executive”) był próbą IBM uproszczenia zakupu i instalacji VSE poprzez dostarczenie wstępnie wygenerowanego systemu zawierającego system operacyjny i najpopularniejsze produkty. SSX został wydany w 1982 roku, a później zastąpiony przez VSE / SP. SSX był sprzedawany przez IBM jako pakiet 14 produktów składowych (Advanced Functions/VSE, VSE/POWER, ACF/VTAME, VSE/VSAM, CICS/DOS/VS, DOS/VS, Sort/Merge, VSE/ICCF, VSE/ OCCF, VSE/IPCS, DOS/COBOL, Backup/Restore, Space Management, VSE/DITTO) i pierwotnie zgodził się oferować poszczególne produkty oddzielnie za pośrednictwem RPQ, chociaż później IBM zgodził się dodać te produkty indywidualnie do swojego cennika pod naciskiem niezależnych dostawców oprogramowania, którzy twierdzili, że sprzedaż wiązana naruszyła przepisy antymonopolowe.

VSE/SP

W 1986 roku IBM wypuścił VSE / SP („Produkt systemowy”) w związku z ogłoszeniem procesorów 9370 . VSE/SP zastąpił SSX/VSE i VSE w pakiecie z najpopularniejszymi produktami programu VSE, takimi jak VSE/AF, ACF/VTAM , CICS i POWER/VS . VSE/SP obsługiwał tylko adresy 24-bitowe, pomimo próśb klientów o dostarczenie wersji XA (31-bitowej).

VSE/ESA

VSE/ESA była 31-bitową wersją DOS/VSE, która została wydana w 1990 roku z obsługą do 384 MB rzeczywistej pamięci. Zapewniał do dwunastu partycji statycznych i umożliwiał uruchamianie VSE/POWER i ACF/VTAM w prywatnych przestrzeniach adresowych . Wprowadził nową funkcję zwaną partycjami dynamicznymi , która umożliwiała wykonywanie do 150 jednoczesnych zadań, każde we własnej przestrzeni adresowej. Wersja 1 może działać w trybie ESA lub 370, przy czym tryb ESA obsługuje również sprzęt XA z ograniczeniami. Wersja 2 (1995) obsługiwała tylko tryb ESA ze sprzętem ESA. Wersja 2 dodała obsługę przetwarzania wieloprocesowego za pośrednictwem nowego narzędzia Turbo Dispatcher , które umożliwia jednoczesne uruchamianie różnych partycji na różnych procesorach. Partycja może działać tylko na jednym procesorze na raz, co w większości ogranicza wieloprocesorowość do wielozadaniowości . Teoretycznie obsługiwanych („tolerowanych”) jest do dziesięciu procesorów, ale efektywnie wykorzystuje się do czterech. Te ograniczenia pozostają w ostatnim systemie z/VSE.

z/VSE

IBM wypuścił z / VSE 3.1 w 2005 roku. Ta zmiana nazewnictwa odzwierciedlała nową markę „System z” dla linii produktów IBM na komputerach mainframe, ale nie stanowiła fundamentalnej zmiany w architekturze w stosunku do VSE / ESA 2.7, który ją poprzedzał. W szczególności nie obsługiwał nowej 64-bitowej architektury z/Architecture, działającej tylko w trybie 31-bitowym, nawet na maszynach obsługujących 64-bity. z/VSE 4.1 wydany w 2007 roku wprowadził obsługę 64-bitowego adresowania rzeczywistego z maksymalnie 8 GB pamięci. Jednak chociaż części nadzorcy działają w trybie 64-bitowym, zapewnia on tylko 31-bitowe wirtualne przestrzenie adresowe dla aplikacji powodujących problemy. Według szacunków z 2011 r. Liczba witryn korzystających z z / VSE wynosiła około 4000.

Historia

Opracowując nową generację sprzętu ujednoliconych komputerów System / 360 (lub S / 360), IBM pierwotnie zobowiązał się do dostarczenia jednego systemu operacyjnego OS / 360 , kompatybilnego również z maszynami z niższej półki; ale sprzęt był już dostępny, a projekt OS/360 był coraz bardziej opóźniony w stosunku do harmonogramu, jak szczegółowo opisał Fred Brooks w The Mythical Man-Miesiąc . IBM został zmuszony do szybkiego opracowania czterech dodatkowych systemów:

Kiedy system OS/360 został ostatecznie wydany, z rocznym opóźnieniem, wymagał co najmniej 64 KB pamięci. DOS został zaprojektowany tak, aby zużywał mało pamięci i mógł działać na maszynach 16 KB, co jest konfiguracją dostępną w modelu S/360 z niższej półki 30 . W przeciwieństwie do OS/360, DOS/360 był początkowo systemem jednozadaniowym, który nie obsługiwał wielozadaniowości . Wersja z wielozadaniowością, obsługująca do trzech partycji pamięci , wymagająca 32 KB pamięci została później wydana. Pomimo swoich ograniczeń, DOS/360 stał się najczęściej używanym systemem operacyjnym dla procesorów z mniej niż 256 KB pamięci [ potrzebne źródło ] , ponieważ: sprzęt System/360 sprzedawał się bardzo dobrze; DOS/360 działał dobrze na procesorach System/360, na które mogły sobie pozwolić średnie organizacje; i był lepszy niż „systemy operacyjne”, które ci klienci mieli wcześniej.

DOS/360 był systemem operacyjnym, który wypełnił lukę czasową między ogłoszeniem Systemu/360 a dostępnością zamierzonego systemu operacyjnego OS/360. W wyniku opóźnienia wielu klientów wdrożyło systemy DOS i dokonało znacznych inwestycji w ich obsługę. IBM spodziewał się, że użytkownicy DOS / 360 wkrótce przejdą na OS / 360, ale w wyniku tych inwestycji niechętnie angażowali się w taką konwersję. IBM musiał następnie nadal oferować DOS/360 jako dodatkowy system operacyjny. The Hacker's Jargon File błędnie stwierdza, że ​​​​GECOS (znany również jako GCOS) został skopiowany z DOS / 360, co nie miało miejsca, jednak system operacyjny Xerox Data Systems (XOS) był celowo podobny do DOS, aby uprościć przenoszenie programów.

Wymagania sprzętowe

Dysk IBM 2311

DOS / 360 wymagał procesora System / 360 (model 25 i nowszy) ze standardowym zestawem instrukcji (opcjonalne zestawy instrukcji dziesiętnych i zmiennoprzecinkowych). Minimalne wymagania dotyczące pamięci wynosiły 16 KB; ochrona pamięci była wymagana tylko wtedy, gdy zastosowano wieloprogramowanie. klawiatura 1052 Model 7 , kanał selektora lub multipleksera i co najmniej jeden dysk - początkowo 2311 o pojemności 7,25 MB. Zwykle dołączano czytnik kart, dziurkacz kart i drukarkę liniową, ale można było zastąpić napędy taśm magnetycznych .

Typowa konfiguracja może składać się z modelu S/360 30 z pamięcią 32 KB i zestawem instrukcji dziesiętnych, czytnika/dziurkacza kart IBM 2540, drukarki IBM 1403 , dwóch lub trzech dysków IBM 2311, dwóch napędów taśm magnetycznych IBM 2415 oraz konsola 1052-7.

Szczegóły techniczne

Poniższy opis dotyczy systemu DOS/360, o ile nie zaznaczono inaczej. Późniejsze wersje oferują dodatkowe funkcje.

Ponieważ DOS / 360 został zaprojektowany do działania na modelach z niższej półki z wykorzystaniem pamięci System / 360, był to problem. Możliwe było wygenerowanie nadzorcy DOS , rezydentnej części systemu operacyjnego, o wielkości zaledwie 5902 bajtów. Szczegółowe wykresy przedstawiały wymagania dotyczące pamięci dla każdej sysgen , często zaledwie 100 bajtów. Minimalny system pozostawiłby nieco ponad 10 KB dostępnej pamięci dla pojedynczej partycji wsadowej, co wystarczyłoby do uruchomienia narzędzi i wszystkich kompilatorów z wyjątkiem COBOL , PL/I i pełnego FORTRAN IV . Aby zużycie pamięci było jak najmniejsze, DOS został w całości napisany w asemblerze .

Transjenty

Koncepcja obszaru przejściowego jest częścią dyskusji Mythical Man-Month na temat projektowania i wykorzystania pamięci głównej. Aby jeszcze bardziej zmniejszyć zużycie pamięci, kierownik zastosował nakładki zwane transjentami , które w razie potrzeby były wczytywane do jednego z dwóch zarezerwowanych obszarów transjentów .

  • Transjenty fizyczne zostały załadowane do 556-bajtowego obszaru A-Transient w celu obsługi błędów sprzętowych (ERP), rejestrowania danych specyficznych dla błędów (OBR/MDR) w IJSYSRC i wysyłania komunikatów o błędach. Wszystkie nazwy modułów A-Transient zaczynają się od $$A .
  • Logiczne transjenty zostały załadowane do 1200-bajtowego obszaru B-Transient, aby zapewnić wspólne usługi programowe, takie jak OPEN i CLOSE dla LIOCS. Wszystkie nazwy modułów B-Transient zaczynają się od $$B .

Użycie prefiksów $$A i $$B zapewniło szybkie ładowanie transjentów, ponieważ ich nazwy były przechowywane w katalogu jako pierwsze.

DOS/VS dodał programy sprawdzania maszyn i sprawdzania kanałów, które były kolejnym zestawem transjentów, z których wszystkie zaczynały się od $$RAST i były wykonywane w obszarze Recovery Transient. Dokonano tego w ramach ulepszeń niezawodności, dostępności i użyteczności (RAS) dla System/370 . Przed tym dodaniem kontrole maszyny powodowały zakończenie działania programu, a kontrole kanałów powodowały przerwanie programu uzyskującego dostęp do urządzenia w momencie wystąpienia błędu.

Wieloprogramowość

Podobnie jak OS/360 , pierwsze wersje DOS mogły uruchamiać tylko jeden program naraz. Późniejsze wersje „prawdziwego” DOS-u były w stanie uruchamiać do trzech programów jednocześnie, w oddzielnych partycjach pamięci, obsługiwanych przez te same sprzętowe funkcje ochrony pamięci, co bardziej skalowalny system operacyjny OS / 360. Zostały one zidentyfikowane jako BG ( tło ), F1 ( pierwszy plan 1 ) i F2 ( pierwszy plan 2 ). Wieloprogramowość była opcjonalną funkcją DOS / 360, którą można było wybrać podczas generowania systemu . Późniejsza opcja SYSGEN umożliwiała wsadowych na dowolnej partycji FG. W przeciwnym razie programy pierwszoplanowe musiały być uruchamiane ręcznie przez operatora komputera .

DOS/VS dopuszczał do siedmiu równoczesnych programów, chociaż pięć lub sześć było bardziej powszechną liczbą ze względu na mniejszą skalę sprzętu, który zwykle obsługuje systemy DOS. Zarówno DOS, jak i DOS/VS umożliwiają ustawienie liczby partycji podczas IPL (Initial Program Load), terminu IBM określającego ładowanie rozruchowe.

Biblioteki programów

Programy wykonywalne były przechowywane w Core Image Library . Podczas działania DOS nie mógł odzyskać miejsca, ponieważ programy zostały usunięte lub zastąpione nowszymi wersjami. Kiedy biblioteka Core Image Library się zapełniła, musiała zostać skompresowana przez program narzędziowy, co mogło wstrzymać prace programistyczne do czasu jej ukończenia. Wiele sklepów po prostu zamroziło zmiany na jeden dzień, skompresowało CIL „off-line” i na początku dnia roboczego przeprowadziło IPL z nową biblioteką Core Image Library. przenośna biblioteka dla programów obiektowych, które można łączyć, oraz biblioteka instrukcji źródłowych dla makr asemblera i dołączanego tekstu. Instalacje mogą definiować dodatkowe prywatne relokowalne i źródłowe biblioteki instrukcji na innych woluminach dyskowych.

Narzędzia

DOS/360 miał zestaw programów narzędziowych , asembler i kompilatory dla FORTRAN , COBOL i ostatecznie PL/I , i obsługiwał szereg organizacji plików z metodami dostępu , które pomagały w ich używaniu:

  • Sekwencyjne zestawy danych były tylko odczytywane lub zapisywane, jeden blok rekordu na raz od początku do końca.
  • W plikach indeksowanych ( ISAM ) określona sekcja każdego rekordu była zdefiniowana jako klucz, za pomocą którego można było wyszukać określone rekordy.
  • W plikach o dostępie bezpośrednim ( BDAM ) program użytkowy musiał określić fizyczną lokalizację na dysku danych, do których chciał uzyskać dostęp. Programowanie BDAM nie było łatwe i większość klientów nigdy sama z niego nie korzystała; ale był to najszybszy sposób dostępu do danych na dyskach i wiele firm programistycznych wykorzystywało go w swoich produktach, zwłaszcza w systemach zarządzania bazami danych , takich jak ADABAS , IDMS oraz IBM DBOMP i DL/I .

Pliki sekwencyjne i ISAM mogą przechowywać rekordy o stałej lub zmiennej długości, a wszystkie typy mogą zajmować więcej niż jeden wolumin dysku.

Telekomunikacja

DOS/360 oferował Podstawową Metodę Dostępu Telekomunikacyjnego ( BTAM ) i Kolejkowaną Metodę Dostępu Telekomunikacyjnego ( QTAM ). BTAM był prymitywny i trudny w użyciu według późniejszych standardów, ale pozwalał na komunikację z prawie każdym typem terminala, co było dużą zaletą w czasach, gdy standaryzacja protokołów komunikacyjnych była niewielka. Prostota jego API pozwoliła również na stosunkowo łatwy interfejs zewnętrznych procesorów komunikacyjnych, co ułatwiło maszynom DOS / 360 stanie się węzłami w wielowarstwowych sieciach dużych organizacji. I odwrotnie, użytkownicy QTAM nie potrzebowali tak dużej wiedzy na temat poszczególnych urządzeń, ponieważ QTAM działał na poziomie logicznym za pomocą makr OPEN/CLOSE/GET/PUT.

Kontrola pracy

Wszystkie instrukcje sterowania zadaniami DOS-a zaczynały się od „ // ” w pierwszej i drugiej kolumnie karty, z wyjątkiem końca zadania , którym było „ /&␢ ”, końca danych , „ /*␢ ” i komentarzy , „ *␢ ” . ( W poniższym opisie znak „ ” oznacza pojedynczą spację .)

  • Instrukcja JOB wskazuje „początek informacji sterującej dla zadania”. Format to // JOB <nazwa zadania> <komentarze> . <nazwa zadania> musi zawierać od jednego do ośmiu znaków alfanumerycznych, aby identyfikować zadanie. <komentarze> są ignorowane.
  • Instrukcja EXEC identyfikuje program do wykonania jako krok zadania . „Wszystkie instrukcje sterujące niezbędne do wykonania muszą zostać przetworzone” przed odczytaniem instrukcji EXEC . Format to // EXEC <program>
  • Instrukcja PAUSE „może być użyta do umożliwienia działania operatora między etapami zadania”. Format to // PAUSE <komentarz> . Komentarz służy do przekazania wiadomości operatorowi.
  • Instrukcja komentarzy może być wykorzystana do wyświetlenia komunikatu dla operatora. Format to * <komentarz> .
  • Koniec instrukcji danych oznacza koniec danych w strumieniu wejściowym. Format to /* . Wszelkie dane na wyciągu następującym po pustym polu są ignorowane.
  • Koniec instrukcji zadania oznacza koniec zadania i może wskazywać koniec danych do opróżnienia, jeśli zadanie zakończy się nienormalnie. Format to /& . Wszelkie dane na wyciągu następującym po pustym polu są ignorowane.
  • Instrukcja OPTION określa wartości opcji systemowych, które mają zastosowanie do tego zadania. Format to // OPCJA <opcja1>[,<opcja2>...] .
  • Instrukcja ASSGN „służy do przypisania logicznej jednostki we/wy do urządzenia fizycznego”. Format to // ASSGN SYSxxx,<urządzenie>[,<opcja taśmy>] . SYSxxx wskazuje jednostkę logiczną, taką jak SYS001 lub SYSIPT. <urządzenie> oznacza albo „X'cuu”, aby wskazać urządzenie fizyczne (kanał i jednostkę), „IGN” oznacza ignorowanie, albo „UA” oznacza nieprzypisane. <opcja taśmy> określa albo ustawienia trybu taśmy, takie jak gęstość, parzystość itp., albo „ALT”, aby wskazać alternatywne urządzenie.
  • Instrukcja RESET resetuje określone przypisania jednostek I/O do ich stałych wartości. Format to // RESET <opcja> . <opcja> może mieć wartość „SYS”, aby zresetować wszystkie przypisania jednostek logicznych systemu, „PROG”, aby zresetować wszystkie przypisania programistów, „ALL”, aby zresetować wszystkie przypisania, lub „SYSxxx”, aby zresetować przypisanie jednostki logicznej „SYSxxx”, np. przykład SYS002.
  • Instrukcja LISTIO nakazuje systemowi wydrukowanie listy wszystkich aktualnie obowiązujących przypisań wejść/wyjść. Format to // LISTIO <opcja> . <opcja> to „SYS”, aby wyświetlić listę wszystkich przypisań systemowych, „PROG”, „F1” lub „F2”, aby wyświetlić listę wszystkich przypisań dla tła lub określonej partycji pierwszego planu, „ALL”, „SYSxxx”, „X'cuu” ", "JEDNOSTKI", aby wyświetlić listę wszystkich przydzielonych jednostek, "UA", aby wyświetlić listę wszystkich nieprzypisanych jednostek, lub "DOWN", aby wyświetlić listę wszystkich jednostek oznaczonych jako niedziałające.
  • Oświadczenie MTC wydaje polecenie jednostce z taśmą magnetyczną. Format to // MTC <opcode>,SYSxxx[,<nn>] . <kod operacji> to funkcja taka jak „FSF” do przesunięcia jednego pliku do przodu lub „REW” do przewinięcia taśmy do tyłu. <nn> to liczba, która może określać, ile razy operacja ma zostać wykonana, na przykład przesuń dwa pliki do przodu.
  • Instrukcja VOL udostępnia informacje o etykiecie woluminu dysku lub taśmy do standardowego sprawdzania etykiet. Format to // VOL SYSxxx,<wolumin> .
  • DOS pierwotnie dostarczył instrukcję TPLAB dla informacji o etykiecie taśmy oraz instrukcje DLAB i XTENT dla etykiety dysku i informacji o zasięgu. Przynajmniej już w 1968 roku TPLAB zostało zastąpione przez TLBL , a oświadczenie DLAB przez DLBL . Instrukcje te wykorzystywały wiele parametrów pozycyjnych i miały dość dużą gęstość informacji.

Różnice w stosunku do systemu OS/360

Język kontroli pracy

DOS JCL został zaprojektowany z myślą o szybkości i prostocie analizowania; wynikowa składnia pozycyjna była znacznie bardziej tajemnicza niż sterowanie zadaniami oparte na słowach kluczowych w systemie OS / 360.

Buforowanie

Wczesny DOS nie zawierał podsystemu buforowania , który poprawiałby wydajność operacji we/wy kart perforowanych i drukarek liniowych . Pod koniec lat sześćdziesiątych zarówno IBM, jak i dostawcy z rynku wtórnego zaczęli wypełniać tę pustkę. Bufor IBM był opcją o nazwie POWER , a Software Design, Inc., niezależna firma programistyczna, sprzedała bufor o nazwie GRASP .

Ładowanie programu

DOS / 360 nie miał programu ładującego do przenoszenia , więc programiści musieli łączyć edytowanie oddzielnej wersji wykonywalnej każdego programu dla każdej partycji lub przestrzeni adresowej, w której program miał być uruchamiany. Alternatywnie programy w języku asemblera mogłyby być napisane jako self-relocating , ale to nakładało dodatkową złożoność i karę za rozmiar, choć niewielką. Duże sklepy DOS z wieloma maszynami i wieloma układami partycji często pisały własne przenoszące moduł ładujący, aby obejść ten problem.

Interfejs aplikacji do programowania

Interfejs programowania aplikacji DOS/360 był niekompatybilny z OS/360. Programy w języku wysokiego poziomu napisane dla systemu DOS musiały zostać skompilowane i połączone, zanim mogły być używane w systemie OS/360. Drobne różnice między kompilatorami DOS i OS czasami wymagały modyfikacji programów. Port w innym kierunku był jednak trudniejszy. Ponieważ interfejs API systemu OS/360 obsługiwał znacznie więcej funkcji, wszelkie użycie tych funkcji musiałoby zostać usunięte z programów przenoszonych do systemu DOS. Było to mniejszym problemem dla programistów pracujących w językach wysokiego poziomu, takich jak COBOL . Z drugiej strony programy asemblera częściej wykorzystywały te funkcje i zwykle wymagały większych modyfikacji, aby działały w systemie DOS.

Zobacz też

Notatki

Linki zewnętrzne