Кіріспе

Кіріктірілген операциялық жүйе

A/ROSE (Apple Real time Operating System Environment) – Apple Computer компаниясының "Macintosh Coprocessor Platform" платформасында, Macintosh-қа қосымша карта ретінде жұмыс істейтін кішкентай кіріктірілген операциялық жүйе. Бұл идеяның мақсаты – үшінші тарап өндірушілерге кез келген өнімді құрастыруға мүмкіндік беретін, арнайы жасалған аппараттық платформаны ұсыну, соның арқасында NuBus негізіндегі қосымша картаны жасауға кететін күш-жігерді азайту еді. Дегенмен, MCP карталарының жоғары бағасы осы тұжырымдаманың танымалдылығын шектеді. A/ROSE көбінесе тек Apple компаниясының тізбекті I/O, Ethernet, Token Ring және Twinax желілік карталарында ғана қолданылды. GreenSpring Computers компаниясы 68000 процессорымен A/ROSE операциялық жүйесінде жұмыс істейтін және деректерді жинау нарығына бағытталған RM1260 IndustryPack (IP) тасымалдаушы картасын жасады.

Тарих

A/ROSE және MCP 1987 жылдың тамызында Macintosh II әзірленген кезде пайда болды. Жаңа жүйе үшін әртүрлі желілік өнімдерді жасау барысында, әзірлеушілер қазіргі классикалық Mac OS-тің кез келген "нақты" картаны жасауды қиындататынын, үлкен кешігулер мен күрделі құрылғы драйверлерін жазудың қиындығын байқады. Олардың шешімі – картадағы толыққанды компьютер сияқты болатын "интеллектуалды" NuBus картасын жасау болды, ол өз Motorola 68000 процессорын, негізгі жүйедегі RAM-де көшірмеленген жұмыс кеңістігін және өзінің қарапайым операциялық жүйесін қамтыды. Жүйенің алғашқы нұсқасы 1988 жылдың ақпан айында қолдануға дайын болды. A/ROSE іштен MR DOS (Multitasking Realtime Distributed Operating System) деп аталды, бірақ MS DOS-ты жасаған Microsoft компаниясы бұл атауды ұнатпады және Apple-ге оны өзгертуге қысым жасады. A/ROSE-ді іске асыратын Token Ring картасының сапаны бақылау инженері Эрик М. Трехус: «A/ROSE басқа қандай атаумен болса да, әлі де MR DOS» деген пікір білдірді. A/ROSE Mac пайдаланушылары көбінесе түсінбейтін эзотерикалық мақсатымен және Basilisk II сияқты көптеген Mac эмуляторларында жүктелу кезінде жүйелік қателер тудыруымен танымал.

Шолу

A/ROSE – 28 кБ көлемдегі өте кішкентай, ал ядросы 6 кБ-қа тең. A/ROSE алдын ала көп тапсырмалылықты қолдайды, тапсырмаларды дөңгелек тізбек бойынша кезектендіру арқылы, 110 микросекундтық контексттік ауысу уақытымен және тек 20 микросекундтық кешігумен (кепілді үзіліс жауап беру уақыты). Жүйенің негізгі міндеті – деректерді жылжыту және карталардағы тапсырмаларды іске қосу және тоқтату, ал барлық API-да он ғана шақыру бар. A/ROSE – хабар алмасу жүйесі, оның бағдарламаларындағы негізгі шақырулар – «Жіберу» және «Қабылдау». Хабарлар қысқа, тек 24 байттық пайдаланушы деректерін қамтиды және асинхронды түрде жіберіледі. Тиісті түйінді табу үшін, оның атау сервері қолданбаларға өздерінің атауларын тапсырма ID-лерімен байланыстыруға мүмкіндік береді, бұл оларға жүйеде жылжуға және динамикалық түрде табылғанға мүмкіндік береді. Операциялық жүйеде басқа карталарда тапсырмаларды табу, іске қосу және тоқтату үшін бірнеше процедуралар бар, олардың бірі – хост компьютерін бейнелейтін виртуалды карта. Байланысты үйлестіру және хосттың процессорымен (CPU) байланыс құру механизмін қамтамасыз ету үшін A/ROSE-тің қысқартылған көшірмесі Mac OS-те «Prep» деп аталатын жүйелік кеңейтім немесе «INIT» түрінде жұмыс істейді. A/ROSE карталарына арналған құрылғы драйверлері INIT болып табылады және автоматты түрде іске қосылады. Іске қосылғаннан кейін, олар Prep stub-ты тауып, карталармен байланыс орнату үшін осы stub қамтамасыз ететін стандартты A/ROSE байланыс арнасын пайдаланады. Мысалы, Apple TokenTalk NB картасы өзінің драйверін INIT ретінде орнатады және егер бұрын орнатылмаған болса, Prep stub-ты қосымша орнатады. Іске қосылған кезде драйвер Prep stub-ты табады және одан машинаға орнатылған TokenTalk карталарын тізімдеуді сұрайды, сондай-ақ оларға кодты немесе параметрлерді жүктейді. Осы уақыттан бастап Prep картамен байланысты басқарады және нәтижелерді TokenTalk драйверіне жібереді.