WarpOS - WarpOS

WarpOS je víceúčelové jádro pro architekturu PowerPC vyvinuté společností Haage & Partner pro počítačovou platformu Amiga na konci 90. a na počátku 2000. To běží na LaptopBat urychlovače desek vyvinutých phase5 který obsahuje jak Motorola 68000 rodiny CPU a procesor PowerPC s sdíleného adresního prostoru. WarpOS běží po boku AmigaOS založeného na 68k , který může používat PowerPC jako koprocesor . Přes své jméno nejde o operační systém (OS), ale o jádro; poskytuje omezenou sadu funkcí podobných těm v AmigaOS pro používání PowerPC. Když vyšel jeho původní název byl WarpUP, ale byl změněn tak, aby odrážel jeho větší sadu funkcí, a možná aby se zabránilo srovnání s jeho konkurentem, PowerUP .

Byl vyvinut Samem Jordanem pomocí 680x0 a PowerPC assembleru. Byla distribuována zdarma.

Dějiny

V roce 1997 Phase5 , výrobce hardwaru Amiga , uvedl na trh řadu akcelerátorů PowerPC (PPC) pro Amigu. Jelikož AmigaOS ještě nebyl nativní PowerPC, jako mezeru byly desky PowerUP desky s dvěma procesory, které obsahovaly PPC a 68K procesor (68LC040, 68040 na 25 MHz nebo 68060 na 50 MHz). Nosili jádro PowerUP na palubě v EPROM , podobném jádře, které umožňuje aplikacím AmigaOS používat aplikace PPC i 68k prostřednictvím knihovny API s názvem ppc.library. AmigaOS stále vyžadoval 68K procesor, zatímco PPC byl ve skutečnosti používán jako extrémně rychlý koprocesor, který vykonával konkrétní pokyny.

To bohužel způsobilo výrazné zpomalení, když se úloha OS přepíná mezi 68K a PPC (kontextový přepínač), protože pro zachování integrity paměti musely být vyprázdněny mezipaměti CPU. Čím více přepínačů CPU se v aplikaci vyskytuje, tím více zpomalení, často tak vážné, že bylo zbytečné vůbec používat procesor PPC, protože je pomalejší než 68k nativní binární. Hlavním řešením bylo jednoduše vyhnout se co největšímu počtu 68k volání OS, nebo je seskupit, ale pro vývojáře to bylo obtížné a časově náročné.

WarpOS byl spuštěn jako kontroverzní alternativa k jádru PowerUP Phase5, ale nakonec se stal nejpoužívanějším a nominálně standardním PPC jádrem na AmigaOS.

WarpUP

WarpUP je vysokorychlostní jádro pro PowerPC verze Amigy .

WarpUP tvoří vrstvu hardwarové abstrakce mezi hardwarem a softwarem a zajišťuje správnou funkci aplikací na architektuře PowerPC. Tvoří také rozhraní mezi hardwarem poháněným PowerPC a softwarem kompatibilním s 68k, což umožňuje optimální využití rychlosti procesoru PowerPC a zároveň co nejjednodušší portování 68k aplikací.

Řada výhod, které WarpUP tvrdí, že nabízí, je:

  • Vysokorychlostní komunikace mezi 68k programy a procesory PowerPC
  • Nativní multitasking, správa paměti, semafory , správa seznamů a značek, signalizace a zpracování zpráv
  • Ochrana paměti (úkoly je možné v případě potřeby přidělit do chráněných oblastí paměti)
  • Virtuální signály (signály jsou sdíleny mezi CPU a v případě potřeby budou vždy přesměrovány na správný CPU)
  • Systém zpráv mezi CPU (v případě potřeby jsou zprávy předávány mezi CPU)
  • Optimální využití jednotky správy paměti PowerPC a mezipaměti PowerPC
  • Jednotka správy paměti a podpora zpracování výjimek pro aplikace
  • Funkce PowerSave, která vypíná PowerPC, pokud jej nepoužívají žádné aplikace
  • PowerPC Enforcer (chrání první stránku paměti)
  • Podrobný žadatel o selhání, který poskytuje podrobné informace, které vývojářům pomohou najít chyby
  • Integrovaný systém ladění, který umožňuje jednodušší sledování chyb
  • Specifická podpora pro vysoce optimalizovaný software, jako jsou hry a ukázky
  • Podpora aplikací vyhovujících Amiga
  • Knihovny pro nativní, smíšené a FAT binární aplikace PowerPC
  • WarpUP je také použitelný pro alternativní vývojové systémy, jako jsou Modula - nebo E-kompilátory s podporou PowerPC. Je to proto, že objekty nejsou v ELF povinně vytvářeny ; místo toho je možné použít také kusový formát vyhovující Amize .
  • Snadná instalace
  • Nezávislé na hardwaru

Funkce

WarpOS měl podobné funkce jako PowerUP, ale s několika zásadními rozdíly. Nejvýhodněji používal PowerOpen ABI , na rozdíl od PowerUP , který používal novější a lépe podporovaný SysV , což zajišťovalo, že obě jádra nemohla být přímo kompatibilní.

Od verze 14 jádro WarpOS používalo trochu jiný plánovač multitaskingu než AmigaOS (nebo PowerUP), založený na tom v unixových systémech s „pěknými“ hodnotami a prioritami pro jeho vlastní úkoly a procesy. To mělo zajistit, aby všechny úkoly získaly čas CPU a nebyly „vyhladověny“ času CPU úlohami náročnými na výpočet (jak tomu bylo v případě původního plánovače AmigaOS). To však bylo neúčinné, protože to bylo stále omezeno nativním plánovačem AmigaOS a vytvořilo to další potíže se synchronizací se stranou 68k (zejména u zvuku). Ve verzi 15 představil WarpOS koncept zvaný atomové úkoly. Atomové úkoly jsou nepřerušitelné a plánování neprobíhá, pokud to úkol výslovně neumožňuje.

WarpOS také měl vestavěný debugger, který mohl být poslán k výpisu informací o jakýchkoli havarovaných úkolech buď do okna konzoly na obrazovce, nebo do seriálu, v závislosti na proměnných prostředí.

Jedním z nejuznávanějších rysů WarpOS bylo to, že pokračoval ve "hromadném" formátu původních spustitelných souborů Amiga, který implementoval spustitelný formát Amiga Hunk . Tento formát se nazýval EHF (Extended Hunk format) a implementoval typ bloku s názvem HUNK_PPC_CODE . To umožnilo AmigaOS zcela transparentně zpracovat i WarpOS spustitelné soubory, aniž byste museli opravit OS je rozpoznat, který LaptopBat se musí udělat, aby spustit svůj ELF FileFormat. Zatímco teoreticky elegantní, pádem formátu EHF byl nedostatek rozšířené podpory kompilátorů (zejména GCC ) a formát souboru ELF byl přijat AmigaOS 4 a MorphOS .

Na rozdíl od PowerUP mohl WarpOS také vyrábět smíšené (tlusté) binární soubory s kódem 68k i PPC, které by mohly běžet na deskách Amiga PPC i na běžných systémech Amiga. Tato praxe byla velmi vzácná kvůli složitosti programování, ale pozoruhodný příklad jejího použití byl datový typ obrázku v AmigaOS 3.9 (sdílená knihovna, která načítala, zpracovávala a rozkládala obrázky prostřednictvím systému datových typů AmigaOS). Systémy vybavené PPC by si všimly okamžitého velkého zrychlení, zatímco 68k systémy a emulátory by byly stále kompatibilní, aniž by narazily nebo instalovaly další binární soubory.

WarpOS měl dvě úklidové úkoly s názvem Defiant a Babylon5, myšlenka být pojmenoval podle USS Defiant ze Star Trek DS9 a Babylon 5 , jeho vývojáři bytí sci-fi fanoušci. Ty by často hlásili noví uživatelé, kteří nevěděli, co se objevují v seznamech úkolů.

Kontroverze

Haage & Partner , výrobce softwaru a hardwaru v Amize (který také vytvořil AmigaOS 3.9), vyvinul konkurenční jádro pro PowerUP s názvem WarpUP, o kterém tvrdili, že obejde problém s přepínáním kontextu, což je problém, který by Phase5 hořce zpochybnil. Fáze 5 správně tvrdila, že tento hardwarový problém nelze obejít pouhou optimalizací jádra a je omezením spojeným s téměř jedinečným designem desky, který sdílí paměťovou sběrnici mezi dvěma CPU radikálně odlišných rodin. WarpOS verze až V7 byly obaly přidáno kolem Phase5 je LaptopBat jádro se však vychází z verze 8 bylo vlastní PPC jádro běží podél AmigaOS a byl přejmenován WarpOS.

Protože PowerUP byl na EPROM desek a Phase5 nemohl běžet současně s WarpOS, musel být deaktivován malým softwarovým nástrojem. Protože společnost H&P neměla přístup k EPROM, musel nástroj vytvořit předpoklady o jádře PowerUP, což se samozřejmě v aktualizovaných verzích rozpadlo. To vedlo k otevřeným obviněním obhájců WarpOS a autorem Sam Jordanem, že Phase5 se záměrně pokouší zabránit tomu, aby WarpOS běžel na jejich deskách. Fáze 5 rovněž tvrdila, že společnost Haage & Partner zneužila bezplatnou vývojářskou desku, která jim byla nadána, aby spustila toto konkurenční jádro (i když zdarma, WarpOS byl podporován téměř výhradně komerčním kompilátorem StormC ++ od H&P), a že k tomu měli reverzní inženýrství PowerUP. H&P poukázal na to, že je to nevyhnutelné, pokud Phase5 odmítla umožnit uživatelům vybrat si, jaké jádro umístí na EPROM desky, a tvrdila, že jádro PowerUP je nezbytné pro inicializaci desek při bootování a jejich vymazání by prostě učinilo desky zbytečnými.

Ještě horší je, že uživatelé byli původně schopni spustit pouze jedno z těchto jader, což vedlo ke značnému zdvojení úsilí mezi konkurenčními vývojáři, kteří se rozhodli použít jedno nebo druhé, často se dvěma verzemi softwaru vyvíjenými samostatně. Přestože v obou systémech existuje malý nebo žádný skutečný rozdíl ve výkonu, schopnostech ladění, použitelnosti nebo stabilitě a bylo zjevně jasné, že ani jeden z nich nemůže doufat, že obejde problém s přepínáním kontextu hardwaru, byla na každé straně podána řada tvrzení následovalo mnoho bojů v Usenetu.

To mělo za následek velké množství spěšně přenesených, často polofunkčních portů softwaru s otevřeným zdrojovým kódem z Windows, často jen „na jednu“ druhou stranu. Steffen Haeuser (který si získal proslulost prohlášením „ELF je monstrum !!!“ s odkazem na formát souboru ELF) Hyperion Entertainment CVBA byl obzvláště nechvalně známý tím, že jeho „politické“ porty byly tak spěchané, že jim chyběl zvuk nebo byly velmi nestabilní , který byl vydán jen proto, aby se spočítal počet a vytvořil seznam většího softwaru, než je software PowerUP.

Bezvýchodná situace mezi konkurenčními systémy byla nakonec ukončena obálkou PowerUP pro WarpOS od Franke Wille, která uživatelům umožňovala spouštět software PowerUP na jejich systémech WarpOS.

Hořké boje v komunitě Amigy nad těmito dvěma jádry, i když byly krátké, měly vyprodukovat trhlinu, která nakonec vyvrcholí rozkolem mezi AmigaOS a MorphOS, přičemž většina vývojářů WarpOS a PowerUP přepne buď novou implementaci AmigaOS.

WarpOS byl zamýšlen jako základ pro AmigaOS 4, ale Haage & Partner od projektu upustil, když byla jejich smlouva „AmigaOS 4 PPC“ zrušena společností Amiga, Inc. v roce 2000. Když společnost Hyperion Entertainment převzala projekt, původně měli stejný nápad , ale jejich vývojáři později připustili, že se ukázalo velmi malé využití při modernizaci operačního systému, protože byl napsán zcela v neanotovaném strojovém kódu.

Volba WarpOSu nad jeho soupeřem se ukázala být Pyrrhovým vítězstvím , protože standardy, které vyvinul kolem - jmenovitě EHF a PowerOpen - měly být v pozdějším vývoji AmigaOS a jeho klonů zcela opuštěny. Model se dvěma procesory nebyl znovu navštíven.

Starší podpora v jiných operačních systémech

AmigaOS 4

Pro AmigaOS 4.0 & 4.1 byl vyroben obal, nejprve byl zahrnut, poté byl distribuován týmem GuruMedation (nesmí být zaměňován Amigovou "modrou" obrazovkou smrti, která má také stejný název). Tento obal podporoval procesory PowerPC 603e, 604e, AMCC440EP, G3 a G4. Ale nepodařilo se pracovat na AMCC460 a PASemi PA6T,

Probíhají práce na vytvoření nového obalu s názvem ReWarp. Skupina s názvem Sakura je zodpovědná za nový obal.

MorphOS

MorphOS také používá wrapper ke spouštění programů WarpUP, mají také obal pro PowerUP, konkurenta WarpOS.

Hry pro WarpOS

Hra byla nejprve vydána na WarpOS, poté portována na AmigaOS4.0

Originální název: DOOM

(Pouze pro WarpOS, ne pro AmigaOS)

Originální název: Hexen: Beyond_Heretic (stejná hra s názvem UHexen pro AmigaOS4)

Hra byla nejprve vydána na WarpOS, poté portována na AmigaOS4.0

(Pouze pro WarpOS, ne pro AmigaOS)

(Pouze pro WarpOS, ne pro AmigaOS)

Ukázky pro WarpOS

  • PPC / Warp3D Demo od CdBS Software (2. na Ukonx Party2000)
  • V1.0 Demo PPC / Warp3D od CdBSSoftware.
  • DeathTrial FixPatch 0.1
  • MusicDisk Earth-Tribe-Media
  • Jednodenní zázrak od Fit ASM'02 64k intro
  • Booring Trip PPC. Pro UkonxParty 4 ve Francii.
  • Greuh! Zillement Beta (2. místo LTP4)
  • Salvation (PPC dentro) od společnosti Horizontal Lamerz
  • „Flow“, vítěz 64 kB na FuckYanica One
  • Rychlý PPC port Megademo IV
  • DeathTrial od Mkd: AGA / CGXwarposPPCAhi + dbplayer
  • Pozvánka demoparty na rovnodennost
  • PRO_GEAR_SPEC WarpOS PPC ukázka lidstva
  • Mankind MesaGLUT wos + ahi surreal demo.
  • 212 od Madwizards; 1. v Delirium 2001
  • AMSTERDAMOVÁ POŽEHNÁNÍ od Madwizards; 3. místo v M / S 2001
  • CULL BAZAAR od Madwizards; 11. na shromáždění 2001
  • Nuance „Subtle Shades 2“ - 5. místo na MS2K + 1
  • 4. místo na MS99 od NUANCE
  • NoSyncIzBack! - WOS demo 3. na IGDRP 2.
  • „Planet Potion“ - 64kB úvod do lektvaru
  • „SUICIDAL“ - 64kB úvod lektvarem
  • Demonstrace Sayontsheck PPC AGA od společnosti Lamers
  • Luminance PPC WOS v1.1 - UKONX - 1. na Slach 2 - 1999
  • NoSync by Universe - WOS demo 3. na Equinoxe 2003
  • PowerUp by Universe: Vítěz demo WOS na Slash 2001.
  • Všechno umírá Venus Art - verze PPC WarpUP
  • Duch ... od Venus Art - verze PPC WarpUP

Emulátory pro WarpOS

  • IFusion / FusionPPC - emulátor Mac, který emuluje MacOS 8/9
  • WarpSNES

Programy pro WarpOS

  • Frogger - přehrávač videa
  • fxpaint
  • perfektní barva
  • wosdb - jednoduchý debugger

Viz také

Reference

Poznámky
  1. ^ Problémy s Warpsness: (Steffen Haeuser vysvětluje jádro WarpUp na comp.sys.amiga.games
  2. ^ Viz také stránky týkající se historie procesoru PPC v Amize na stránkách Amiga.History.
  3. ^ Specifikace EHF na stránkách Haage & Partners.
  4. ^ BlizzardPPC Flash Proč mají WarpOS a Warp3D problémy s Blizzard PPC
  5. ^ Amiga Report Magazine Haage a partner oznamují WarpUP, Phase5 Blasts H&P
  6. ^ comp.sys.amiga.games Steffen Haeuser komentuje ELF
  7. ^ ppclibemu ppc.library emulace pod WarpOS
  8. ^ Seznam softwarových projektů Sam Jordan
  9. ^ Rozhovor s Benem Hermansem z Hyperionu Benjamin Hermans komentuje WarpOS
  10. ^ Jordan, S: powerpc.library / WarpOS historie. 2001

Další čtení

  • Pourtant, Jac (listopad 1997). „Quel noyau pour les cartes PowerPC?“. AmigaNews (ve francouzštině). Ne. 106. Novinky. s. 7–10. ISSN   1164-1746 .
  • „Zprávy, vývojáři zblázní jádro“. Amiga format . Č. 104. Budoucí publikování. Prosince 1997. str. 8. ISSN   0957-4867 .
  • „Les cartes PowerUP seraient de la poudre aux yeux!“. Sen (ve francouzštině). Č. 46. Posse Press. Prosince 1997. str. 12. ISSN   1259-1165 .
  • Krenželok, Petr (leden 1998). "WarpUp váš PowerUp?". Amiga Review (v češtině). Č. 33. Atlantida Publishing. s. 7–11. ISSN   1211-1465 .
  • Fromentin, Brice; Pozzi, Jean-Paul (březen 1998). "Les cartes PPC PowerUP de P5". AmigaNews (ve francouzštině). Č. 110. NewsEdition. s. 12–13, 16. ISSN   1164-1746 .
  • „Novinky, vývojáři PPC zakopávají sekery“. Amiga format . Č. 112. Budoucí publikování. Července 1998. str. 9. ISSN   0957-4867 .
  • "Software PowerPC". Amiga Review (v češtině). Č. 36. Atlantida Publishing. Září 1998. s. 16, 18, 20–21. ISSN   1211-1465 .
  • Drummond, Richard (červenec 1999). "WarpUp 4.0". Amiga format . Č. 125. Budoucí publikování. p. 51. ISSN   0957-4867 .
  • "Zprávy, NG AmigaOS pro klasický Amigas". Amiga format . Č. 136. Budoucí publikování. Květen 2000. str. 7. ISSN   0957-4867 .