Кіріспе
DEC PDP 8 миникомпьютерінде қолданылатын негізгі операциялық жүйе OS/8 – Digital Equipment Corporation компаниясының PDP 8 миникомпьютерінде қолданылатын негізгі операциялық жүйе. OS/8-ден бұрынғы PDP 8 операциялық жүйелері: R L Monitor, сондай-ақ MS/8 деп те аталады. PS/8, тек 4К жадты қажет етеді. PDP 8 4К Диск мониторы жүйесі. PS/8 ("Программалау жүйесі/8"), 8К жадты қажет етеді. Осы жүйе 1971 жылы OS/8 болып өзгерді. Басқа / байланысты DEC операциялық жүйелері OS/78, OS/278 және OS/12. Соңғысы OS/8-дің дерлік толықтай бірдей нұсқасы болып табылады және Digital компаниясының PDP 12 компьютерінде жұмыс істейді. Digital коммерциялық емес мақсаттар үшін OS/8 бейнелерін шығарды, оларды SIMH арқылы эмуляциялауға болады.
OS/8 is the primary operating system used on the Digital Equipment Corporation's PDP 8 minicomputer. PDP 8 operating systems which precede OS/8 include:
R L Monitor, also referred to as MS/8. P?S/8, requiring only 4K of memory. PDP 8 4K Disk Monitor System
PS/8 ("Programming System/8"), requiring 8K. This is what became OS/8 in 1971. Other/related DEC operating systems are OS/78, OS/278, and OS/12. The latter is a virtually identical version of OS/8, and runs on Digital's PDP 12 computer. Digital released OS/8 images for non commercial purposes which can be emulated through SIMH.
Шолу
OS/8, PDP 8 компьютерлерімен салыстырылатын күрделілік және масштабтағы қарапайым операциялық ортаны қамтамасыз етеді. I/O, сұраныс бойынша (үрiлiс бойынша емес) техникаларды қолданатын берiлген драйверлер арқылы қолдау көрсетiледi. Құрылғы драйверлерi тиiмдi жазылуы керек, себебi олар 128 12 биттiк сөзден тұратын бiр немесе екі жад бетiн ғана ала алады және 0 өрiсiнде кез келген бетте жұмыс iстей алуы керек. Бұл көбiнесе үлкен шеберлiк талап етедi, мысалы, шағын терiс тұрақтылар үшiн OPR нұсқауын (7XXX) пайдалану. OS/8 жадындағы "iз" тек 256 сөзден тұрады; 0 өрiсiнiң жоғарғы жағында 128 сөз және 1 өрiсiнiң жоғарғы жағында 128 сөз. Операциялық жүйенiң қалған бөлігі (USR, "User Service Routines") қажет болған жағдайда жадыға кiрiп, шығып отырады (пайдаланушының бағдарламасына қатысты). OS/8-дiң бұл дискіде тұрақты (немесе дұрысырақ айтқанда, жүйелiк құрылғыда тұрақты) бөлігі SYS: құрылғысының алғашқы 14K сөзi (56 блок), соның iшiнде ауыстыру кеңiстiгi. Қалған жад мазмұны кейбiр негiзгi пайдаланушы командалары арасында сақталады. Бұл орындалатын бағдарламаларды құру процесінде пайдаланылады: мысалы, жинастыру тiлiндегi бағдарлама алдымен BN (бинарлық) файлға жинастырылады. Содан кейiн бiр немесе бiрнеше BN файлдары LOAD (ABSLDR) командасын пайдалана отырып жадқа жүктеледi. Содан кейiн жүктелген бағдарламаны START командасымен орындауға, ODT арқылы жөндеуге немесе оны кейiннен GET командасымен немесе R немесе RUN командаларымен дереу орындауға болатын SV файлына сақтауға болады. Қазiргi жүктелiп жатқан бағдарлама туралы ақпарат SYS: құрылғысында орналасқан CCB (Core Control Block) -де сақталады. Бұл ақпаратқа бағдарламаның қандай жад бөліктерін пайдаланғаны (қалай сақталуы керек) және бағдарламаның бастапқы мекенжайы кiредi. Бұл сақталған жадтың пайдаланушымен немесе жұмыспен байланысты болуы басқа DEC операциялық жүйелерiнде, соның iшiнде PDP 10 үшiн TOPS 10-да кездеседi, онда мұндай жад контекст ретiнде белгiлi. OS/8 қатты дискіден жүктеліп, командалық қабылдауды жарты секундтың iшiнде көрсетедi.
Қысқаша командалық тіл
OS/8-дің алғашқы нұсқаларында өте қарапайым команда жолы интерпретаторы бар, онда өте аз негізгі командалар бар: , , , , және . 3-ші нұсқада олар CCL (Concise Command Language) деп аталатын күрделірек жапсырманы қосады, ол көптеген командаларды іске асырады. OS/8-дің CCL-і Digital-дің PDP 10 жүйелеріндегі TOPS 10-да қолданылатын CCL-ге тікелей үлгі алынған. Шын мәнінде, OS/8 бағдарламалық жүйесінің көп бөлігі TOPS 10 операциялық ортасын мүмкіндігінше жақын көшіру үшін әдейілеп жобаланған. (CCL команда тілі RT 11, RSX 11 және RSTS/E жүйелерінде PDP 11 компьютерлерінде қолданылады, бұл PDP 8, PDP 10 және PDP 11 архитектураларында бірдей пайдаланушылық ортаны қамтамасыз етеді.) Негізгі операциялық жүйе және CCL көптеген күрделі командаларды іске асырады, олардың көптегені тіпті MS DOS, Windows немесе Unix сияқты заманауи команда тілдерінде де жоқ. Мысалы, команда берілген бастапқы файлға арналған дұрыс компиляторды автоматты түрде тауып, компиляция/ассемблялдау/байланыстыру циклын бастайды. және командалары бағдарламада физикалық атаулардың орнына логикалық құрылғы атауларын пайдалануға мүмкіндік береді (MS DOS-та қажетті). Мысалы, бағдарлама құрылғыға жаза алады, ал бастапқы "" файлы физикалық құрылғы RXA2 (екінші дискета) құрылады. VAX/VMS және Amiga операциялық жүйесі AmigaOS (және TRIPOS негізінде құрылған басқа операциялық жүйелер) осы мүмкіндікті кеңінен пайдаланады. Команда жүйелік бинарлық кодтағы орналасқан жерлерді түзету арқылы көптеген жүйелік параметрлерді орната алады. Олардың бірі, OS 78-дегі команда, OS 78-ге кірмейтін MONITOR командаларын қайта қосады. Команда операциялық жүйені жылдам қайта конфигурациялай алады, тіпті құрылғы драйверлерін қосады, көбінесе операциялық жүйені қайта жүктемей.
ASCII-де
ASCII мәтінін өңдеуге арналған екі жүйе бар. ASCII файлдары 12 биттік сөздердің жұптары түрінде, әрбір жұпқа 8 биттен үш таңбадан сақталады. Алғашқы екі таңба (төменде a0–a7 және b0–b7 биттерімен белгіленген) өз сөздерінде толық сақталады, ал үшінші таңбаның (c0–c7 биттері) жартысы 1-ші сөзде, қалған жартысы 2-ші сөзде сақталады. Сегіз жылды ғана сақтауға қабілетті үш биттік жылдық өрістің жеткіліксіздігі COS 310 әзірленген кезде анықталды.
ТАҢДЫРЫЛЫҚ
Бір пайдаланушылық BASIC және BASIC-тің екі көп пайдаланушылық нұсқасы опция ретінде қол жетімді. Бір пайдаланушылық BASIC тілінің толық функционалдығын қамтамасыз ету үшін бірнеше жапсырмалар қолданылады; OS/8 DECtape-тан жүктелген кезде, BASIC-ке жапсырмаларды ауыстыру қажет болған сайын көзге түсетін кешігу пайда болатын, себебі оларды таспадан оқу қажет еді. BASIC-тің көп пайдаланушылық нұсқалары (EDU20 және EDU25) блокпен алмастырылатын құрылғыларды (DECtape немесе диск) қолдайтындығында ғана ерекшеленеді. Құнның шектелуіне байланысты көптеген PDP 8 құрылғылары тек қана қағаз таспа оқу құрылғыларын I/O құрылғысы ретінде пайдаланады. EDU20 қағаз таспадан жүктеледі және егер машинада қағаз таспаға жазу құрылғысы болса, шығаруды жүзеге асыра алады, ал EDU25 файлдық жүйенің құрылымын түсінеді, DECtape немесе дискіден жүктей алады және DECtape немесе дискіден файлдарды жасай алады. Екеуі де бірнеше BASIC бағдарламаларын бір уақытта іске қоса алады, қосылған терминалдар арасында кезегімен алмасатын қарапайым тапсырма жоспарлаушыны пайдалана отырып. Жад әрқашан жетіспейтін, себебі PDP 8 өте қымбат болған негізгі жадты пайдаланды, RAM технологиясымен салыстырғанда. 8K 12 биттік сөздермен EDU20 бір уақытта 4 терминалға дейін қолдау көрсете алады, бірақ көбірек жад ұсынылды. EDU25 қосымша 4K жад блогын қажет етеді (кемінде 12K үшін), себебі кодта дискілік құрылғы драйвері және файлдық жүйе басқарушысы бар. EDU20 және EDU25 жұмыс істеген кезде, олар OS/8 жүйелік шақыруларын пайдаланбайтын өздігінен толық бағдарламалар болып табылады. OS/8 командалық интерпретаторынан шақырылғаннан кейін, олар OS/8-дің тұрақты бөлігінің барлығын – барлық 256 сөзін ауыстырады. Іске қосылған кезде EDU25 жадтың мазмұнын DECtape немесе дискіге сақтайды және шығу кезінде оны қалпына келтіреді. Бірақ EDU20 мұны істей алмайды, себебі ол блокпен алмастырылатын құрылғысы жоқ аппараттық конфигурацияларға бағытталған.
FORTRAN
Еркін қолжетімді FORTRAN II компиляторынан басқа, FORTRAN IV компиляторы да қолбар. Бұл компилятор, негізінен PDP 8 процессорымен жадыны бөлісетін, дербес CPU болып табылатын, опциялық FPP 8 қозғалмалы нүктелі процессоры үшін код жасайды. FPP 8 опциясы орнатылғанда, FORTRAN орындалу коды оны анықтап, FPP 8-де бағдарламаның негізгі кодын іске қосады, ал PDP 8 процессоры кіріс-шығыс процессоры ретінде жұмыс істейді. FPP 8 болмаған жағдайда, орындалу коды PDP 8 процессорында жұмыс істейтін FPP 8 интерпретаторын шақырады, сондықтан бағдарламаның жұмыс жылдамдығы төмендейді. Бұл FORTRAN IV компиляторының 1-ші нұсқасында DO циклдарының дұрыс есептелмеуіне байланысты қызықты қателік бар: DO циклдары 1, 2, 3, 5, 6, 7 (төртінші санды жіберіп) ретімен есептеледі. Бұл қателікті жою үшін жедел түзету шығарылды.