OS/8
Deweloper | Firma Sprzęt Cyfrowy |
---|---|
Stan roboczy | Przerwane |
Model źródłowy | Zamknięte źródło |
Pierwsze wydanie | 1971 |
Platformy | PDP-8 |
Domyślny interfejs użytkownika |
Zwięzły język poleceń (CCL) ( interfejs wiersza poleceń ) |
Licencja | Prawnie zastrzeżony |
Poprzedzony | PS/8 |
OS/8 to podstawowy system operacyjny używany na minikomputerze PDP-8 firmy Digital Equipment Corporation .
Systemy operacyjne PDP-8 poprzedzające OS / 8 obejmują:
- Monitor RL, określany również jako MS/8 .
- P?S/8, wymagający tylko 4K pamięci.
- System monitorowania dysku PDP-8 4K
- PS/8 („System programowania/8”), wymagający 8K. To właśnie stało się OS/8 w 1971 roku.
Inne/pokrewne systemy operacyjne DEC to OS/78 , OS/278 i OS/12. Ta ostatnia jest praktycznie identyczną wersją OS/8 i działa na komputerze Digital PDP-12 .
Cyfrowe obrazy OS / 8 do celów niekomercyjnych, które można emulować za pomocą SIMH .
Przegląd
OS/8 zapewnia proste środowisko operacyjne, które jest współmierne pod względem złożoności i skali do komputerów PDP-8, na których działał. We/wy jest obsługiwane przez szereg dostarczonych sterowników, które wykorzystują techniki odpytywania (nie sterowane przerwaniami). Sterowniki urządzeń muszą być sprytnie napisane, ponieważ mogą zajmować tylko jedną lub dwie strony pamięci zawierające 128 12-bitowych słów i muszą działać na dowolnej stronie w polu 0. Często wymaga to znacznej sprytu, np. instrukcja OPR (7XXX) dla małych stałych ujemnych.
Rezydujący w pamięci „ślad” systemu OS/8 to tylko 256 słów; 128 słów na górze Pola 0 i 128 słów na górze Pola 1. Reszta systemu operacyjnego (USR, „Procedury obsługi użytkownika”) przechodzi do iz pamięci w sposób przejrzysty (w odniesieniu do programu użytkownika) jako potrzebne.
Zwięzły język poleceń
Wczesne wersje OS/8 mają bardzo prymitywny interpreter wiersza poleceń z bardzo małą liczbą podstawowych poleceń : GET , SAVE , RUN , ASSIGN , DASSIGN i ODT . W wersji 3 dodają bardziej wyrafinowaną nakładkę o nazwie CCL ( zwięzły język poleceń ), która implementuje znacznie więcej poleceń. CCL OS/8 jest bezpośrednio wzorowany na CCL znalezionym w systemach Digital PDP-10 z systemem TOPS-10 . W rzeczywistości znaczna część systemu oprogramowania OS/8 jest celowo zaprojektowana tak, aby jak najdokładniej naśladować środowisko operacyjne TOPS-10. (Język poleceń CCL jest używany na PDP-11 z RT-11 , RSX-11 i RSTS/E , zapewniając podobne środowisko operacyjne użytkownika we wszystkich trzech architekturach: PDP-8s, PDP-10s i PDP-11s. )
Podstawowy system operacyjny i CCL implementują wiele dość wyrafinowanych poleceń, z których wiele nadal nie istnieje we współczesnych językach poleceń, nawet w systemach operacyjnych typu MS-DOS , Windows lub Unix .
Na przykład polecenie COMPILE automatycznie wyszukuje właściwy kompilator dla danego pliku źródłowego i rozpoczyna cykl kompilacji/asemblacji/linkowania.
ASSIGN i DASSIGN pozwalają na użycie logicznych nazw urządzeń w programie zamiast nazw fizycznych (zgodnie z wymogami MS-DOS) . Na przykład program może zapisywać na urządzeniu FLOP:AAA.TXT , a z inicjałem „ ASSIGN FLOP: RXA2: ” plik jest tworzony na fizycznym urządzeniu RXA2 (drugi napęd dyskietek). VAX / VMS i system operacyjny Commodore Amiga AmigaOS (i inne systemy operacyjne zbudowane wokół Tripos ) w znacznym stopniu wykorzystują tę funkcję.
Komenda SET umożliwia ustawienie wielu opcji systemowych poprzez łatanie lokalizacji w kodzie binarnym systemu. Jednym z nich, poleceniem pod OS-78, jest SET SYS OS8 , który ponownie włącza polecenia MONITORA, które nie są częścią OS-78.
BUILD może na bieżąco rekonfigurować system operacyjny, nawet dodając sterowniki urządzeń , często bez konieczności ponownego uruchamiania systemu operacyjnego.
System operacyjny może uruchomić się z dysku twardego i wyświetlić wiersz polecenia w mniej niż pół sekundy.
System plików OS/8
OS/8 obsługuje prosty, płaski system plików na różnych urządzeniach pamięci masowej, w tym:
- Taśmy TU56 DEC
- Dyski z głowicą stałą DF32 32KW
- Tarcze z głowicą stałą RF08 256KW
- Napędy kasetowe RK01/02/03/04/05
- Napędy dysków kasetowych RL01/02
- Napędy dyskietek RX01/02
Nazwy plików na PDP-8 mają postać FFFFFF.XX , gdzie „F” oznacza wielką literę, znak alfanumeryczny nazwy pliku, a „X” reprezentuje wielką literę, znak alfanumeryczny rozszerzenia (typu pliku).
- .PA: język asemblera
- .SV : zapisane obrazy rdzeni (programy wykonywalne)
- .FT: Pliki źródłowe Fortran
- .DA: Pliki danych
Zawartość dowolnego pliku jest przechowywana w sposób ciągły w jednym „zakresie”. PIP zawiera opcję kompresji („ściśnięcia”) systemu plików, dzięki czemu całe nieprzydzielone miejsce jest przenoszone do jednego obszaru na końcu dysku. Można to wywołać poleceniem SQuish CCL , podobnie jak MUNG można użyć do uruchomienia makra TECO .
Woluminy OS/8 mają ograniczony maksymalny rozmiar pamięci (4096 bloków po 256 dwunastobitowych słów), a dysk z ruchomą głowicą RK05 (2,4 MB) przekracza ten rozmiar: „1,6 miliona słów pamięci”. Z tego powodu wkłady RK05 podzielone są na dwie przegrody. Na przykład pierwszy RK05 w systemie jest znany zarówno jako RKA0: (SY:), jak i RKB0:. Podział ten odnosi się do „cylindrów zewnętrznych” i „cylindrów wewnętrznych”.
pliki ASCII
Pliki ASCII są przechowywane jako trzy 8-bitowe znaki na parę 12-bitowych słów. Pierwsze dwa znaki (oznaczone poniżej bitami a0–a7 i b0–b7) są przechowywane w całości w swoich słowach, podczas gdy trzeci znak (bity c0–c7) jest przechowywany z połową swoich bitów w słowie 1, a drugą połową w słowie 2.
- SŁOWO 1: c0 c1 c2 c3 | a0 a1 a2 a3 a4 a5 a6 a7
-
SŁOWO 2: c4 c5 c6 c7 | b0 b1 b2 b3 b4 b5 b6 b7 Pliki ASCII kończą się CTRL/Z (ASCII 232).
Format daty OS/8
OS/8 przydziela 12-bitowe słowa PDP-8 do przechowywania dat na:
- 4 bity na miesiąc
- 5 bitów na datę w nim zawartą
- 3 bity na rok.
Niewystarczalność trzybitowego pola roku, zdolnego do przechowywania tylko ośmiu lat, została rozpoznana podczas opracowywania COS-310 .
OS/8 CUSP (programy narzędziowe)
CUSP (powszechnie używane programy systemowe, czyli narzędzia) dostarczane z systemem OS/8 obejmują:
- BUILD (program do instalowania skonfigurowanego systemu OS/8 na pamięci masowej)
- DIR (program wyświetlający katalogi)
- EDIT (edytor zorientowany liniowo)
- MACREL (przenoszący asembler, który w przeciwieństwie do PAL implementuje makra. Napisany przez Stanleya Rabinowitza z Small Systems Group firmy DEC. Stan miał w swoim biurze grafikę ASCII przedstawiającą rybę z napisem „MACREL IS A FISH”) [ potrzebne źródło ]
- FLAP (asembler absolutny wywodzący się z RALF)
- FORTRAN -II.
- FOTP (program transferu zorientowany na pliki, alternatywa dla PIP)
- PAL (monter)
- PIP (Peripheral Interchange Program, używany do kopiowania plików)
- PIP10 (wersja PIP używana do kopiowania plików z PDP-10 DECtapes)
- RALF (Kolejny przenoszący się asembler dla FPP)
- TECO (Edytor tekstu i COrrector, zaawansowany edytor). Polecenie MUNG uruchamia makra TECO.
- CCL, interpreter wiersza poleceń , dostarczany w formie źródłowej i rozszerzalny przez użytkownika.
Języki programowania
PODSTAWOWY
Wersja BASIC dla jednego użytkownika i dwie wersje BASIC dla wielu użytkowników są dostępne jako opcje.
BASIC dla jednego użytkownika wykorzystuje kilka nakładek, aby zapewnić pełną funkcjonalność języka; kiedy OS / 8 jest uruchamiany z taśmy DEC, za każdym razem, gdy BASIC jest wymagany do przełączania nakładek, pojawiało się zauważalne opóźnienie, ponieważ trzeba je odczytać z taśmy.
Wersje BASIC dla wielu użytkowników (EDU20 i EDU25) różnią się tylko tym, czy obsługują urządzenia z możliwością wymiany bloków (taśmy DEC lub dyski). Ze względu na ograniczenia kosztowe wiele PDP-8 ma czytniki taśm perforowanych jako jedyne urządzenie we / wy pamięci masowej. EDU20 ładuje z taśmy papierowej i może przesyłać dane do nagrywarki taśmy papierowej, jeśli maszyna ją posiada, podczas gdy EDU25 rozumie strukturę systemu plików, może ładować z taśmy DEC lub dysku i może tworzyć pliki na taśmie lub dysku DEC. Oba mogą jednocześnie uruchamiać wiele programów w języku BASIC przy użyciu prymitywnego harmonogramu zadań, który działa w trybie okrężnym wśród dołączonych terminali. Pamięć jest zawsze napięta, ponieważ PDP-8 korzysta z pamięci rdzeniowej, która była niezwykle droga w porównaniu z technologią RAM. W 8K 12-bitowych słów EDU20 może obsługiwać do 4 terminali jednocześnie, chociaż zalecano więcej pamięci. EDU25 wymaga dodatkowego banku pamięci 4K (minimum 12K), ponieważ kod zawiera sterownik urządzenia dyskowego i obsługę systemu plików. Podczas działania EDU20 i EDU25 są niezależnymi programami, które nie używają żadnych wywołań systemowych OS/8. Natychmiast po wywołaniu z interpretera poleceń OS/8 nadpisują całą rezydentną część OS/8 - wszystkie 256 słów. Po uruchomieniu EDU25 zapisuje zawartość pamięci na taśmie DEC lub dysku i przywraca ją po wyjściu. Ale EDU20 nie może tego zrobić, ponieważ jest ukierunkowany na konfiguracje sprzętowe bez urządzenia z możliwością wymiany bloku.
FORTRAN
Oprócz ogólnodostępnego kompilatora FORTRAN II dostępny jest również dość kompletny kompilator FORTRAN IV . Ten kompilator generuje kod dla opcjonalnego procesora zmiennoprzecinkowego FPP-8, który jest zasadniczo oddzielnym procesorem, dzielącym tylko pamięć z procesorem PDP-8. Po zainstalowaniu opcji FPP-8, kod wykonawczy FORTRAN wykrywa ją i używa FPP-8 do uruchomienia głównego kodu programu, a CPU PDP-8 pracuje jako procesor I/O. Bez FPP-8 kod wykonawczy zamiast tego wywołuje interpreter FPP-8 działający na procesorze PDP-8, więc program działa ze zmniejszoną prędkością.
Ten kompilator FORTRAN IV w wersji 1 ma interesujący błąd polegający na tym, że pętle DO liczyły się niepoprawnie: pętle DO liczyły 1,2,3,5,6,7,… (pomijając 4). Szybka łatka została wydana, aby to naprawić. [ potrzebne źródło ]
Zobacz też
przypisy
Linki zewnętrzne
- Zestawy oprogramowania SIMH zawierające obraz OS/8.
- Podręczniki OS/8 w Bitsavers.
- Linki do licencji hobbystycznej DEC i dokumentacji