Кіріспе
Компьютерлік операциялық жүйе
RSTS (айтылуы: /r//ᵻ//s//t//ᵻ//s/) – Digital Equipment Corporation (DEC, қазіргі Hewlett Packard компаниясының бір бөлігі) компаниясы PDP 11 сериялы 16 биттік шағын компьютерлер үшін әзірлеген көп пайдаланушылы уақыт бөлісу операциялық жүйесі. RSTS-тің алғашқы нұсқасы (RSTS 11, 1-ші нұсқа) 1970 жылы PDP 8 үшін TSS 8 уақыт бөлісу операциялық жүйесін жасаған DEC бағдарламалық жасақтама инженерлерімен іске асырылды. RSTS-тің соңғы нұсқасы (RSTS/E, 10.1 нұсқасы) 1992 жылдың қыркүйегінде жарық көрді. RSTS 11 және RSTS/E көбінесе жай ғана "RSTS" деп аталады және осы мақалада әдетте қысқартылған түрі қолданылады. RSTS 11 Бостон қаласындағы Evans Griffiths & Hart компаниясымен шарт бойынша жасалған BASIC PLUS деп аталатын кеңейтілген нұсқасы BASIC бағдарламалау тілін қолдайды. RSTS/E 5B нұсқасынан бастап DEC, RT 11 және RSX 11 операциялық жүйелерінің орындалу ортасын эмуляциялау арқылы қосымша бағдарламалау тілдерін қолдау мүмкіндігін қосты.
1990 жылдар
1994 жылы DEC өзінің PDP 11 бағдарламалық қамтамасыз ету бизнесінің басым бөлігін Mentec компаниясына сатты. Digital компаниясы Mentec қызметкерлерінің көмегімен PDP 11 клиенттерін қысқа мерзімге қолдауды жалғастырды. 1997 жылы Digital және Mentec RSTS 9.6 немесе одан ертерек нұсқаларын коммерциялық емес, хобби мақсатында пайдаланғысы келетін кез келген адамға тегін лицензия берді. Бұл лицензия тек SIMH PDP 11 эмуляторында ғана қолданылады. Лицензия сонымен қатар Digital компаниясының басқа да кейбір операциялық жүйелерін қамтиды. Лицензияның көшірмелері SIMH эмуляторының ресми веб-сайтынан жүктеуге болатын, рұқсат етілген бағдарламалық жасақтама жинағында бар.
Байланыс
RSTS оператормен өзара әрекеттесу үшін тізбектік байланыс арнасын пайдаланады. Бұл арна 20 мА ток тізбегі интерфейсі бар жергілікті компьютерлік терминал, RS 232 интерфейсі (жергілікті тізбектік порт немесе модем арқылы қашықтан қосылу) немесе DECnet немесе LAT қолданатын Ethernet арнасы болуы мүмкін. 128 терминалға дейін (көп терминалдық қызметті пайдалана отырып) RSTS жүйесіне қосылуға болады, сонда ең көп дегенде 63 тапсырма орындалуы мүмкін (қолданылатын процессорға, жад көлеміне, дискідегі бос орынға және жүйелік жүктемеге байланысты). Көптеген RSTS жүйелерінде терминалдардың саны одан да аз болды. Пайдаланушылар тапсырмаларды пакеттік режимде орындауға жіберуге болады. Сондай-ақ, "ATPK" деп аталатын пакеттік бағдарлама бар, ол пайдаланушыларға MS DOS пакеттік командаларына ұқсас, жартылай интерактивті режимде нақты емес терминалда (псевдотерминалда) командалар тізбегін орындауға мүмкіндік береді.
Орындау уақыты орталары
RSTS-тің ерекшеліктерінің бірі – бағдарламаларды орындау мүмкіндігі және оларды іске қосу үшін қолданылатын орта. Әртүрлі орталар BASIC PLUS, жетілдірілген және қатты компиляцияланған BASIC Plus 2 тілдерінде, сондай-ақ COBOL (кейін COBOL 85-ке жаңартылған) және FORTRAN IV (кейін FORTRAN 77-ге жаңартылған) сияқты дәстүрлі бағдарламалау тілдерінде бағдарламалауға мүмкіндік берді. DIBOL және MUMPS сияқты басқа тілдер де қолдау көрсетілді. Бұл орталар бір-бірінен тәуелсіз болды, сондықтан бағдарламаны бір ортадан бастап, жүйе басқа бағдарламаны орындағанда басқа ортаға ауысып, содан кейін пайдаланушыны бастапқы ортаға қайтаратын. Осы орталар Рантайм жүйесі (RTS) деп аталды. Көптеген RTS-тер үшін командалық қатар интерфейсі KBM болды. 9-шы нұсқаға дейін жүйе әкімшісі жүйені қай RTS-де іске қосу керектігін анықтауы керек еді, және ол компиляцияланған бағдарламаларды орындай алатын болуы керек еді. Жүйе әкімшісі сондай-ақ барлық KBM командаларына (DCL-ден басқа) басымдық беретін арнайы CCL (Concise Command Language) командаларын орната алатын. CCL – Windows жүйесіндегі бағдарламаға сілтеме немесе Unix негізделген жүйелердегі символдық сілтемеге ұқсас. CCL-дер жүйе іске қосылғанда немесе жүйе әкімшісі жүйенің жұмысын бақылағанда жадта орналасқан команда ретінде орнатылады (яғни, ол дискідегі файл сияқты тұрақты емес). Жүйеге кіргеннен кейін пайдаланушы осы орталардың кез келгеніне "АУЫСА" алады, BASIC PLUS бағдарламалау тілінде операторларды жаза алады, нақты бағдарламаларға RUN командасын бере алады немесе командалық опциялары бар бағдарламаны орындау үшін CCL деп аталатын арнайы команданы бере алады. Көптеген RSTS жүйе әкімшілері ядроны "Control T" бір жолдық мәлімдеме опциясымен жасады, ол пайдаланушыға қандай бағдарламаны орындап жатқанын, бағдарлама қандай RTS-де жұмыс істеп жатқанын, бағдарлама қанша жадты пайдаланып жатқанын, қаншаға дейін кеңейе алатынын және RTS қанша жадты пайдаланып жатқанын көрсете алатын.
BASIC-PLUS
BASIC PLUS-те жазылған бағдарламалар BASIC RTS арқылы іске қосылды, бұл оларға 32К байтқа дейін жадты (жалпы 64К-ның ішінде) пайдалануға мүмкіндік берді. Тіл интерпретацияланған, әрбір кілт сөз ішкі түрде бірегей байт-кодқа түрлендірілді, ал айнымалылар мен деректер индекстеліп, жад кеңістігінде бөлек сақталды. Ішкі байт-код форматы PCODE деп аталды. SAVE командасы берілген кезде, BASIC Plus RTS жұмыс жадын ".BAC" кеңейтіммен дискіге сақтады. Бұл формат құжатталмағанмен, Ұлыбританиядағы Саутгемптон университетінің екі электрондық инженерлік студенті (Ник де Смит және Дэвид Гаррод) BAC файлдарын бастапқы BASIC Plus кодына кері инженериялауға мүмкіндік беретін декомпиляторды жасады, олар бастапқы жол нөмірлерімен және айнымалы атауларымен толық болды (кейіннен екеуі де DEC компаниясында жұмыс істеді). Қалған жадтың бөлігі BASIC RTS-тің өзіне жұмсалды. Егер BASIC Plus 2, FORTRAN IV немесе Macro Assembler сияқты нақты екілік орындалатын файлдарға рұқсат беретін тілде бағдарлама жазылса, онда қолда бар жад көлемі 56К (RTS үшін 8К бөлінген) құрайды. Стандартты BASIC PLUS жауабы "Дайын" деген сөз, Control T пернесін басу мәртебені көрсетеді (мысал):
Жүйені іске қосу (INIT.SYS)
Егер пайдаланушы жүйе қосылғанда INIT.SYS іске қосу бағдарламасының "Option:" сұрауына танылмаған команданы енгізсе, "Көмек алу үшін 'HELP' деп теріңіз" деген хабарлама көрсетілетін. Егер пайдаланушы кейіннен 'HELP' (тырнақшаларымен қоса) деп теріп жазса, жауап "Қызық екен, әйтеуір" болып, содан кейін нақты көмек хабарламасы көрсетілетін.
PDP-11 консольдық жарықтары
Жүйелік менеджер ядроға консоль шамдарының айналасында бір-бірін қуып жететін екі жыланның көрінісін тудыратын айналмалы дисплей үлгісін енгізе алатын еді. Кәдімгі ядро төменгі жақтағы дерек шамдарында оңнан солға қарай қозғалатын бір жыланның көрінісін көрсетті. Егер жүйелік менеджер "жарықтар" объектілік модулін енгізсе, пайдаланушы жоғары жақтағы адрестік шамдарда солдан оңға қарай қозғалатын қосымша жыланды көретін еді. Бұл 9.0 нұсқасына дейінгі нұсқаларда бақылау режимін пайдалану арқылы іске асырылды. RSX-те де екі жылан "тауық ойнап" бір-біріне соғысып, консольдің ортасында кездесетін сияқты дисплей үлгісі болды.
Теколық Пасхалық жұмыртқа
"Make" командасы пайдаланушыға мәтіндік файл жасауға және TECO мәтіндік редакторына автоматты түрде кіруге мүмкіндік берді. Егер пайдаланушы "make love" деп жазса, жүйе "love" деп аталатын файл жасап, "Соғыс емес пе?" деп жауап береді.
Ашық файлдар тізімі
Кейін DEC компаниясында жұмыс істеген Кевин Герберт 90-шы жылдары пайдаланушыға ашық файлдар тізімін – олардың қолданылып жатқан блоктары мен файл көлемімен бірге – көруге мүмкіндік беретін құжатталмаған мүмкіндік қосты.
Басталу күні
9.0 нұсқасынан бастап, құжатталмаған мүмкіндік жүйелік әкімшіге жүйе күнінің көрсетілуін өзгертуге рұқсат беретін. RSTS жүйелік күнді "Жұлдыз жолы" телесериалынан таныс жұлдыздық күнді білдіретін сандар жиынтығы түрінде көрсеткен алғашқы операциялық жүйе болды.
Басқа компаниялардың қосымшалары
System Industries компаниясы SIMACS (SImultaneous Machine ACceSs) деп аталатын жақсартуды іске асыру үшін RSTS лицензиясының жалғыз бастапқы көзін сатып алды, бұл олардың арнайы дискілік контроллеріне дискіге қол жеткізу үшін семафор белгісін орнатуға мүмкіндік берді. Бұл, бірнеше PDP 11 RSTS жүйелері ортақ пайдаланатын RSTS жүйесіндегі бірдей файлдарға бірнеше жазу операциясын жүргізуге мүмкіндік берді. Бұл мүмкіндік System Industries контроллерлерінде іске асырылды, олар көптеген DEC компьютерлеріне қосылды және доктор Альберт Чу System Industries-те жұмыс істеген кезде әзірледі. Басты жаңалық – семафорды пайдалану, яғни кооперативтік ортақ пайдалану арқылы қай процессордың жазуға эксклюзивті құқығы бар екенін көрсететін белгі. Бұл RSTS операциялық жүйесінде дискілерге қол жеткізу әдісіне көптеген өзгерістер енгізуді қажет етті. I/O кіруді басқаратын FIPS (Файлдік ақпаратты өңдеу жүйесі) жүйесі RSTS-те бір жіпті болды. Дискіге қол жеткізуге рұқсат беру үшін, егер басқа машина блокқа белсенді түрде қол жеткізіп жатқан болса, FIPS сұраныстың мерзімін аяқтауы, келесі сұранысқа өтуі және дөңгелек тәртіппен тұрып қалған сұранысқа «қайтып оралуы» қажет болды. Бұған мүмкіндік беретін кодты Филип Хант Калифорния штатының Милпитас қаласындағы System Industries-те жұмыс істеген кезде жазды. Кейіннен ол 1980 жылдардың соңы мен 1990 жылдардың басында Жаңа Англия аймағындағы Digital Equipment компаниясында жұмыс істеді. SIMACS PDP 11 өнімдерімен ғана шектелмеді, VAX машиналары да оны қолдана алды.
Басқа PDP-11 эмуляторлары
RSTS және оның қолданбалары SIMH және Ersatz 11 сияқты көптеген PDP 11 эмуляторларында іске қосылуы мүмкін. Қосымша ақпарат алу үшін PDP 11 қараңыз.
Қолданбалар
Компьютерлік бюролар кейде RSTS/E жүйесінде деректерді басқару үшін User 11 қолданды.