Ағылшыншамен салыстырыңыз: абзацты басыңыз — түпнұсқа терезеде ашылады. Абзац астындағы EN түймесі оны мәтін ішінде көрсетеді.
Мазмұны
Кіріспе
C. mmp – Уильям Вулфтың 1971 жылы Карнеги-Меллон университетінде (CMU) әзірлеген көп нұсқаулық, көп дерек (MIMD) мультипроцессорлық жүйесі. C. mmp атауы Гордон Белл мен Аллен Ньюэллдің PMS нотациясынан шыққан, онда орталық процессор (CPU) C әрпімен белгіленген, нұсқасы нүкте арқылы көрсетілген, ал mmp – Multi Mini Processor деген сөзді білдіреді. 2020 жылдың мәліметі бойынша, бұл машина CMU-да, Уэйн залының тоғызыншы қабатында қойылған.
The C. mmp was an early multiple instruction, multiple data (MIMD) multiprocessor system developed at Carnegie Mellon University (CMU) by William Wulf (1971). The notation C. mmp came from the PMS notation of Gordon Bell and Allen Newell, where a central processing unit (CPU) was designated as C, a variant was noted by the dot notation, and mmp stood for Multi Mini Processor. as of 2020, the machine is on display at CMU, in Wean Hall, on the ninth floor.
Операциялық жүйе
Операциялық жүйе (ОС) «Гидра» деп аталды. Ол мүмкіндіктерге негізделген, объектілі-бағдарланған, көп пайдаланушылы және микроядролы болды. Жүйелік ресурстар нысандар түрінде ұсынылды және мүмкіндіктер арқылы қорғалды. ОС және көптеген қолданбалы бағдарламалық жасақтама BLISS 11 бағдарламалау тілінде жазылды, ол PDP 10 машинасына кросс-компиляциялауды қажет етті. ОС-та өте аз мөлшерде ассемблер тілі қолданылды. Жүйеде қолжетімді бағдарламалау тілдерінің ішінде C. mmp-ді тиімді пайдалану үшін параллель есептеуді қолдайтын кеңейтімдері бар ALGOL 68 нұсқасы да болды. ALGOL компиляторы «Гидра» ОС-де тікелей жұмыс істеді.
The operating system (OS) was named Hydra. It was capability based, object oriented, multi user, and a microkernel. System resources were represented as objects and protected through capabilities. The OS and most application software was written in the programming language BLISS 11, which required cross compiling on a PDP 10. The OS used very little assembly language. Among the programming languages available on the system was an ALGOL 68 variant which included extensions supporting parallel computing, to make good use of the C. mmp. The ALGOL compiler ran native on Hydra OS.
Сенімділік
Жалпы жүйелік сенімділік барлық 16 процессордың жұмыс істеуіне байланысты болғандықтан, аппараттық сенімділікпен байланысты ауыр проблемалар туындады. Егер бір процессордың орташа істен шығу аралығы (MTBF) 24 сағат болса, онда жүйенің жалпы сенімділігі 16/24 сағат, яғни шамамен 40 минутты құрады. Жалпы алғанда, жүйе әдетте екі және алты сағат аралығында жұмыс істеді. Осы істен шығулардың көптегені процессорларға қосылған көптеген арнайы схемалардағы уақытты дұрыс есептемеуге байланысты болды. Аппараттық сенімділікті жақсартуға көп күш жұмсалды, және процессор анық істен шығып жатса, ол бөлініп, бірнеше сағат бойы диагностикадан өтті. Алғашқы диагностикадан сәтті өткеннен кейін, ол қайтадан I/O процессоры ретінде қосылып, қолданбалық кодты іске қоспады (бірақ оның сыртқы құрылғылары қолжетімді болды); ол диагностиканы жалғастырды. Егер ол тағы бірнеше сағаттан кейін осы сынақтан өтетін болса, процессорлар жиынтығының толық құрамына қайта қосылатын еді. Сол сияқты, егер жад блогы (бір бет) ақаулы деп анықталса, ол қолжетімді беттер тізімінен алынып тасталды, және басқаша хабарланғанша, операциялық жүйе осы бетті назарға алмайтын болды. Осылайша, операциялық жүйе – аппараттық проблемалар туындағанда олармен күресе алатын, қателерге төзімді жүйенің алғашқы мысалы болды.
Because overall system reliability depended on having all 16 CPUs running, there were serious problems with overall hardware reliability. If the mean time between failures (MTBF) of one processor was 24 hours, then the overall system reliability was 16/24 hours, or about 40 minutes. Overall, the system usually ran for between two and six hours. Many of these failures were due to timing glitches in the many custom circuits added to the processors. Great effort was expended to improve hardware reliability, and when a processor was noticeably failing, it was partitioned out, and would run diagnostics for several hours. When it had passed a first set of diagnostics, it was partitioned back in as an I/O processor and would not run application code (but its peripheral devices were now available); it continued to run diagnostics. If it passed these after several more hours, it was reinstated as a full member of the processor set. Similarly, if a block of memory (one page) was detected as faulty, it was removed from the pool of available pages, and until otherwise notified, the OS would ignore this page. Thus, the OS became an early example of a fault tolerant system, able to deal with hardware problems which arose, inevitably.