DEC MICA

GLIMMER
Utvecklare Digital Equipment Corporation
Skrivet i PILARE, C , SPASM
Arbetstillstånd Övergiven
Källmodell Proprietär programvara
Marknadsföringsmål Minidatorer , arbetsstationer
Tillgänglig i engelsk
Plattformar DEC PRISMA
Typ av kärna Monolitisk kärna
Användarland VMS och ULTRIX
Influerad Windows NT
Påverkad av VAX/VMS , Ultrix , VAXELN

Standardanvändargränssnitt _
DCL , Unix-skal , DECwindows
Licens Proprietär

MICA var kodnamnet på operativsystemet utvecklat för DEC PRISM- arkitekturen. MICA designades av ett team på Digital Equipment Corporation under ledning av Dave Cutler . MICAs design drevs av Digitals behov av att tillhandahålla en migreringsväg till PRISM för Digitals VAX/VMS- kunder, samt att låta PRISM-system konkurrera på den allt viktigare Unix-marknaden. MICA försökte ta itu med dessa krav genom att implementera VMS- och ULTRIX -användargränssnitt ovanpå en gemensam kärna som kunde stödja systemanrop (eller "systemtjänster" på VMS-språk), bibliotek och verktyg som behövs för båda miljöerna.

MICA avbröts 1988 tillsammans med PRISM-arkitekturen, innan båda projekten var färdiga. MICA är mest anmärkningsvärt för att inspirera designen av Windows NT . När PRISM-arkitekturen utvecklades till DEC Alpha -arkitekturen valde Digital att porta OSF/1 och VMS till Alpha istället för att återanvända MICA.

Designmål

Det ursprungliga målet för MICA var att alla applikationer skulle ha full och utbytbar åtkomst till både VMS- och ULTRIX-gränssnitten, och att en användare kunde välja att logga in i en ULTRIX- eller VMS-miljö och köra valfri MICA-applikation från endera miljön. Det visade sig dock vara omöjligt att tillhandahålla både full ULTRIX och full VMS-kompatibilitet till samma applikation samtidigt, och Digital skrotade denna plan till förmån för att ha ett separat Unix-operativsystem baserat på OSF/1 (detta hänvisades på olika sätt till som PRISM ULTRIX eller OZIX ). Som ett resultat skulle MICA ha fungerat som en bärbar implementering av ett VMS-liknande operativsystem, med kompatibla implementeringar av DCL , RMS , Files-11 , VAXclusters och VAX/VMS RTL och systemtjänster. Förslag lades fram för att återinföra Unix-kompatibilitet i MICA per applikation så att en MICA-applikation kunde kompileras och länkas mot VMS-gränssnitten, eller ULTRIX-gränssnitten, men inte båda samtidigt.

På grund av schemaläggningsproblem skulle de första PRISM-systemen ha levererats med begränsade delmängder av det fullständiga MICA-operativsystemet. Detta inkluderade system som Cheyenne och Glacier som var dedikerade till att köra specifika applikationer och där kundernas direkta interaktion med operativsystemet skulle vara begränsad.

Programmering

MICA skulle skrivas nästan helt i ett högnivåprogrammeringsspråk som heter PILLAR . PILLAR utvecklades från EPascal (den VAXELN -specifika dialekten av Pascal ) via ett interimsspråk som kallas Systems Implementation Language (SIL). PILLAR skulle ha backporterats till VAX/VMS, så att applikationer kunde utvecklas som kunde kompileras för både VAX/VMS och MICA. En vanlig uppsättning runtime-bibliotek på hög nivå med namnet ARUS (Application Runtime Utility Services) skulle ytterligare ha underlättat portabilitet mellan MICA, OSF/1, VAX/VMS och ULTRIX. Som en del av PRISM-projektet utvecklades en gemensam optimerande kompilatorbackend vid namn GEM (denna överlevde och blev kompilatorbackend för Alpha- och Itanium-portarna i VMS, såväl som Tru64 ).

Förutom PILLAR gav Mica förstklassigt stöd för ANSI C för att stödja Unix-applikationer. En assembler som heter SPASM (Simplified PRISM Assembler) var avsedd för den lilla mängd monteringskod som behövs för operativsystemet och skulle inte ha gjorts allmänt tillgänglig för att avskräcka kunder från att utveckla icke-portabel programvara. På samma sätt utvecklades en implementering av BLISS endast för internt bruk, för att tillåta redan existerande VAX/VMS-applikationer att porteras till MICA. MICA skulle ha haft portar eller omskrivningar av många VAX/VMS-lagerprodukter, inklusive Rdb , VAXset , DECwindows och de flesta kompilatorer som är tillgängliga för VAX/VMS.

Arv

När PRISM och MICA avbröts lämnade Dave Cutler Digital för Microsoft , där han fick ansvaret för utvecklingen av det som blev känt som Windows NT . Cutlers arkitektur för NT var starkt inspirerad av många aspekter av MICA. Förutom implementeringen av flera operativsystems API:er ovanpå en gemensam kärna ( Win32 , OS/2 och POSIX i NTs fall) delade MICA och NT separationen av kärnan från den verkställande , användningen av en objekthanterare som abstraktionen för gränssnitt med operativsystemets datastrukturer och stöd för multithreading och symmetrisk multiprocessing .

Efter upphävandet av PRISM började Digital ett projekt för att producera en snabbare VAX-implementering som kunde köra VMS och ge jämförbar prestanda med dess DECstation -linje av Unix-system. När dessa försök misslyckades drog designgruppen slutsatsen att själva VMS kunde portas till en PRISM-liknande arkitektur. Detta ledde till DEC Alpha- arkitekturen och Alpha-porten för VMS .