Projekt Star Trek - Star Trek project

Star Trek to nazwa kodowa, która została nadana tajnemu projektowi prototypu , uruchamiającego port Macintosha System 7 i jego aplikacje na komputerach osobistych x86 zgodnych z Intelem . Projekt, który rozpoczął się w lutym 1992 roku, powstał we współpracy Apple Computer , który zapewnił większość inżynierów, oraz Novella , który w tamtym czasie był jednym z liderów międzyplatformowych serwerów plików. Plan był taki, że Novell będzie sprzedawał powstały system operacyjny jako wyzwanie dla Microsoft Windows , ale projekt został przerwany w 1993 roku i nigdy nie został wydany, chociaż komponenty zostały ponownie wykorzystane w innych projektach. Projekt został nazwany na cześć serii science fiction Star Trek z hasłem „ Odważnie iść tam, gdzie wcześniej nie było Maca ”.

Historia

Impuls do stworzenia projektu Star Trek powstał z chęci utrzymania przez Novella niemal monopolu na sieci komputerowe za pośrednictwem NetWare przeciwko Microsoftowi i jego produktom Windows opartym na MSDOS. Podczas gdy Microsoft został ostatecznie skazany wiele lat później za nielegalny status monopolisty, Novell nazwał obecność Microsoftu „drapieżną”, a Departament Sprawiedliwości USA nazwał ją „wykluczającą” i „bezprawną”. Pierwszy pomysł Novell rozszerzyć swoją obecność na pulpicie z graficznym środowisku obliczeniowym było dostosowanie Digital Research „s GEM Desktop Environment, ale dział prawny firmy Novell odrzucił to spowodowane obawą ewentualnej reakcji prawnej firmy Apple, więc firma udał się bezpośrednio do Apple. Z powodu wspólnych obaw na rynku antykonkurencyjnym, dyrektor generalny Intela, Andy Grove, wspierał obie firmy w uruchomieniu ich wspólnego projektu Star Trek 14 lutego 1992 r. (Walentynki).

Apple wyznaczyło termin 31 października 1992 r. (dzień Halloween), obiecując członkom zespołu inżynierów premię za wydajność w postaci dużej nagrody pieniężnej i wakacji w Cancun w Meksyku. O projekcie członek zespołu Fred Monroe powiedział później: „Pracowaliśmy jak psy.

Osiągając wyznaczony termin i otrzymując premie, programiści w końcu osiągnęli punkt, w którym mogli uruchomić komputer Intel 486 (z bardzo specyficznym sprzętem) w Systemie 7.1, a jego wygląd na ekranie był nie do odróżnienia od komputera Mac. Jednak każdy program musiałby zostać przeniesiony do nowej architektury x86, aby mógł działać. Przypuszczano, że programy można przenieść przy niewielkim wysiłku, ponieważ Apple opracował równoważne nagłówki dla x86.

Hasłem przewodnim projektu było „odważnie iść tam, gdzie wcześniej nie dotarł żaden Mac”, co Computerworld wykpiło w komentarzu „OS, który śmiało idzie tam, gdzie wszyscy inni”.

Jednak projekt został anulowany w połowie 1993 roku z powodu konfliktów politycznych, problemów personalnych i wątpliwej atrakcyjności rynkowej takiego projektu. Po stronie projektu Apple odszedł wspierający CEO John Sculley na rzecz nowego CEO Michaela Spindlera . Spindler nie był zainteresowany projektem, zamiast tego realokował większość zasobów inżynierii oprogramowania w celu całkowitej migracji firmy do konkurencyjnej architektury PowerPC . Żaden system operacyjny Macintosh nie został uruchomiony natywnie na sprzęcie Intela do czasu oficjalnego przejścia na Mac OS X w 2006 roku.

Wszystkie MBA na świecie nie mogą nas przekonać, że to dobry model.

—  Roger Heinen, kierownik ds. architektury oprogramowania Mac,
o celach Star Trek w marcu 1992 r.

Architektura

Star Trek został zaprojektowany jako hybryda systemu operacyjnego Apple Macintosh , stworzony do działania jako aplikacja powłoki GUI systemu operacyjnego w następnej opracowywanej przez Novella wersji systemu operacyjnego DR DOS . Został zaprojektowany tak, aby użytkownik mógł myśleć o nim jako o samodzielnej platformie aplikacji i ogólnym środowisku komputerowym, w koncepcji podobnej do konkurencyjnego systemu Microsoft Windows 3.1x , działającego na szczycie systemu DOS. Było to radykalne i żmudne odejście zarówno pod względem technologicznym, jak i kulturowym, ponieważ w tamtym czasie oprogramowanie systemowe Macintosha było oficjalnie uruchamiane tylko na własnych komputerach Apple, z których wszystkie opierały się na architekturze Motorola 68000 .

System został zbudowany na następcy DR DOS 6.0 firmy Digital Research ( BDOS poziom 6.7 i 7.1) oraz NetWare PalmDOS 1.0 (o nazwie kodowej "Merlin", BDOS poziom 7.0), DR DOS "Panther" firmy Novell jako w pełni kompatybilny z PC DOS 16-bitowy dyskowy system operacyjny (z prawdziwie zgodnymi z DOS wewnętrznymi strukturami danych) do ładowania , dostępu do multimediów, sterowników urządzeń i obsługi systemu plików . System będzie wykorzystywać DR-DOS za nowy „Vladivar” Extended składnik DOS z obsługą pamięci płaska, który został w fazie rozwoju od 1991 roku „Vladivar” ( DEVICE=KRNL386.SYSaka DEVICE=EMM386.EXE /MULTI+ TASKMGR) był dynamicznie ładowalny 32-bitowy tryb chroniony podstawowy system zaawansowanego zarządzania pamięcią, sprzęt wirtualizacja , planowanie i zarządzanie domeną w celu wywłaszczania wielowątkowości w aplikacjach, a także wielozadaniowości niezależnych aplikacji działających na różnych wirtualnych maszynach DOS (podobne do trybu rozszerzonego Windows 386, ale bez GUI ).

Tym samym wcześniej załadowane środowisko DOS, w tym wszystkie jego sterowniki urządzeń, stało się częścią domeny systemowej w ramach wielozadaniowości. O ile nie zostały załadowane określone sterowniki urządzeń wirtualnych trybu chronionego , dostęp do sprzętu był domyślnie tunelowany przez ten 16-bitowy podsystem. Aby uzyskać maksymalną prędkość przy minimalnym zużyciu zasobów, BIOS DR DOS, jądro BDOS, sterowniki urządzeń, menedżery pamięci i multitasker zostały napisane w czystym języku asemblera x86 . Port Systemu 7.1 firmy Apple działałby na szczycie tego wysokowydajnego, ale lekkiego, hybrydowego środowiska wielozadaniowego 32-bitowego/16-bitowego w trybie chronionym jako system graficzny i powłoka w przestrzeni użytkownika . Macintosh widelce zasobów i długie nazwy plików były odwzorowywane na FAT12 i FAT16 systemów plików.

Dziedzictwo

Chociaż wspólne wysiłki zostały anulowane, Novell opublikował długo oczekiwany DR DOS 7.0 jako Novell DOS 7 (BDOS 7.2) w 1994 roku. Oprócz wielu innych dodatków w obszarach zaawansowanego zarządzania pamięcią i dyskami oraz sieci, Novell DOS 7 zapewniał wszystkie Podstawowe komponenty Novella „STDOS” projektów DR DOS Panther i Vladivar, z wyjątkiem samego graficznego komponentu Star Trek, który został opracowany wspólnie przez Apple i Novell. Zamiast tego TASKMGR zapewnia interfejs trybu tekstowego do bazowego wielozadaniowca w EMM386, ale system zapewnia również interfejs API, aby umożliwić przejęcie kontroli przez GUI innych firm. Microsoft Windows , ViewMAX 2 i 3 oraz PC/GEOS / NewDeal są znane z tego, że wykorzystują ten interfejs, gdy działają na Novell DOS 7 (lub jego następcach OpenDOS 7.01 lub DR-DOS 7.02 i nowszych), a Star Trek byłby kolejnym jeden. W rzeczywistości kilka dodatkowych zaczepów zostało zaimplementowanych specjalnie dla GUI Star Trek w celu uzyskania dostępu do bufora ramek. Te haki nigdy nie zostały usunięte z EMM386, ale po prostu pozostawiono je nieudokumentowane.

Apple ponownie wykorzystało część technologii abstrakcji platformy opracowanej dla Star Trek, włączając ją do równolegle opracowywanej migracji do architektury PowerPC . Ta technologia abstrakcji obejmuje możliwość ładowania danych ROM Macintosha z pliku zamiast z układu ROM.

Byli członkowie zespołu Star Trek, Fred Monroe i Fred Huxham, założyli firmę Fredlabs, Inc. W styczniu 1997 roku firma wydała VirtualMac, wirtualną maszynę kompatybilną z aplikacjami Mac OS dla BeOS .

Podobne koncepcje

W Apple

Pierwsza i szybko zarzucona koncepcja przeniesienia flagowego systemu operacyjnego firmy Apple na systemy Intela pojawiła się w 1985 roku, po odejściu Steve'a Jobsa . Apple nie podjęło tej próby aż do Star Trek i nie wypuściło takiego produktu do 2006 roku.

Firma Apple faktycznie wysłała produkty oparte na koncepcji hybrydyzacji Systemu 7 z platformą aplikacji powłoki . Zostało to osiągnięte w postaci startmacprocesu i innych hybrydowych aplikacji uruchomionych na systemie A/UX opartym na UNIX . Zostało to również zrealizowane w formie Macintosh Application Environment (MAE), które było funkcjonalnym odpowiednikiem Star Trek plus wbudowany emulator 68k (jak w przypadku Systemu 7 dla Power Macintosh), działający jako aplikacja dla Solarisa i HP /UX. Firma Apple dostarczyła również swoje „kompatybilne z systemem DOS” modele komputerów Mac, które są hybrydowym komputerem Mac z jednocześnie działającą kartą z procesorem Intel. System 7 i późniejsze zawsze były zgodne z systemem plików DOS.

Chociaż bezpośredni port x86 klasycznego systemu Mac OS nigdy nie został udostępniony publicznie, zdeterminowani użytkownicy mogli uruchomić detaliczny system operacyjny Apple na komputerach innych niż Mac poprzez emulację . Mówi się, że rozwój tych środowisk emulacyjnych został zainspirowany inicjatywą pokazaną w projekcie Star Trek. Dwa z bardziej popularnych emulatorów Macintosha 68k to vMac i Basilisk II , a emulator PowerPC Macintosh to SheepShaver ; każdy z nich jest napisany przez osoby trzecie.

Dziesięć lat po Projekcie Star Trek stało się możliwe natywne uruchamianie Darwina , opartego na Uniksie rdzenia Mac OS X , na platformie x86 dzięki fundamentowi NeXTstep . Port ten był powszechnie dostępny, ponieważ Darwin był oprogramowaniem typu open source na licencji Apple Public Source License . Jednak graficzny interfejs użytkownika systemu Mac OS X o nazwie Aqua był zastrzeżony. Nie był dołączony do Darwina, który był zależny od innych menedżerów okien działających na X11 dla interfejsów graficznych, a zatem większość komercyjnych aplikacji Mac OS nie może działać natywnie na samym Darwinie.

Apple prowadził podobny projekt do Star Trek dla Mac OS X, nazwany Marklar , później nazwany przez Steve'a Jobsa „sekretnym podwójnym życiem” systemu Mac OS przeznaczonego tylko dla komputerów Power PC. Projekt ten miał zachować port x86 OPENSTEP , zachowując Mac OS X i wszystkie pomocnicze aplikacje (w tym iLife i Xcode ) działające na architekturze x86, a także PowerPC. Marklar został publicznie ujawniony przez dyrektora generalnego Apple, Steve'a Jobsa w czerwcu 2005 roku, kiedy ogłosił przejście Macintosha na procesory Intela od 2006 roku.

W IBM

Porównując i przeciwstawiając się wysiłkom Apple, IBM już dawno próbował zastosować inną strategię, aby zapewnić ten sam zasadniczy cel, jakim jest innowacja nowej platformy oprogramowania na zwykłym sprzęcie, przy jednoczesnym zachowaniu istniejących instalacji dziedzictwa MS-DOS w sposób nieniszczący. Jednak jego strategia opierała się na systemie operacyjnym OS/2 , który już dawno osiągnął bezproblemową wsteczną kompatybilność z aplikacjami MS-DOS. W 1992 roku, mniej więcej zbiegając się z ramami czasowymi projektu Star Trek, IBM opracował nowy i zasadniczo integralny podsystem zapewniający wsteczną kompatybilność z aplikacjami Windows 3.0 i Windows 3.1 . Ten nowy podsystem dla OS/2, nazwany Win-OS/2 , został zintegrowany począwszy od OS/2 2.0. Chociaż system Win-OS/2 został opracowany z uwzględnieniem różnych wymagań i kultur biznesowych, został zaprojektowany z podobnymi celami inżynierii oprogramowania i technikami wirtualizacji, jak Star Trek. Tak się złożyło, że IBM nadał swoim wydaniom OS/2 nazwę kodową z motywami Star Trek i ostatecznie uczynił takie odniesienia integralną częścią publicznej marki OS/2, począwszy od OS/2 Warp .

Apple i IBM podjęły kilka prób współpracy międzyplatformowej, w tym niewydany port QuickTime do OS/2, znaczący rozwój oprogramowania OpenDoc , sojusz AIM , Kaleida Labs i Taligent . Obie firmy wykorzystały rzeczywisty personel z serialu telewizyjnego i filmowego Star Trek do celów promocyjnych.

Inni

Korporacja wcześniej znana jako ARDI opracowała produkt o nazwie Executor , który może uruchamiać zgodny zestaw aplikacji Macintosh 68k i jest hostowany na MSDOS/PCDOS/DRDOS lub Linux na procesorze zgodnym z 386. Executor to reimplementacja do cleanroomu Macintosh Toolbox oraz wersji 6 i 7 systemu operacyjnego, a także zintegrowany emulator procesora 68k o nazwie Syn68k. Podobnie jak w przypadku Andataco, dla stacji roboczych Sun i HP, emuluje środowisko sprzętowe Macintosh, w tym procesor 68k, na którym użytkownik musi zainstalować System 6.0.7. Firma Quorum Software Systems stworzyła dwie aplikacje przeznaczone dla stacji roboczych z systemem UNIX: Equal zapewnia zgodność binarną, emulując interfejsy Mac API i procesor 68k, aby umieścić każdą wstępnie certyfikowaną aplikację na Maca w jej własnym oknie X na stacjach roboczych Sun i SGI; Latitude udostępnia warstwę przenoszenia kodu źródłowego ze sterownikiem Display Postscript.

Zobacz też

Uwagi

Bibliografia

Linki zewnętrzne