WarpOS

редактировать

WarpOS - это многозадачное ядро ​​для архитектуры PowerPC, разработанное Haage Partner для компьютерной платформы Amiga в конце 1990-х - начале 2000-х. Он работает на ускорительных платах PowerUP, разработанных phase5, которые содержат как ЦП семейства Motorola 68000, так и ЦП PowerPC с общим адресным пространством. WarpOS работает вместе с основанной на 68k AmigaOS, которая может использовать PowerPC в качестве сопроцессора. Несмотря на свое название, это не операционная система (ОС), а ядро; он предоставляет ограниченный набор функций, подобных тем, что есть в AmigaOS для использования PowerPC. Когда он был выпущен, его первоначальное название было WarpUP, но было изменено, чтобы отразить его расширенный набор функций и, возможно, чтобы избежать сравнения с его конкурентом, PowerUP.

Он был разработан Сэмом Джорданом с использованием 680x0 и ассемблера PowerPC. Распространяется бесплатно.

Содержание
  • 1 История
  • 2 WarpUP
  • 3 Возможности
  • 4 Противоречие
  • 5 Устаревшая поддержка в других операционных системах
  • 6 Игры для WarpOS
  • 7 Демоверсии для WarpOS
  • 8 эмуляторов для WarpOS
  • 9 программ для WarpOS
  • 10 См. Также
  • 11 Ссылки
  • 12 Дополнительная литература
История

В 1997 году Phase5, Компания Amiga, производитель оборудования, выпустила линейку ускорителей PowerPC (PPC) для Amiga. Поскольку AmigaOS еще не была родной для PowerPC, в качестве временной меры платы PowerUP были двухпроцессорными платами, включающими в себя PPC и процессор 68K (68LC040, 68040 на 25 МГц или 68060 на 50 МГц). Они несли на борту ядро ​​PowerUP в EPROM, аналогичном ядре, разработанном для того, чтобы приложения AmigaOS могли использовать приложения PPC и 68k через библиотеку API под названием ppc.library. AmigaOS по-прежнему требовался процессор 68K, в то время как PPC фактически использовался как чрезвычайно быстрый сопроцессор, выполняющий определенные инструкции.

К сожалению, это вызвало значительное замедление при переключении задачи ОС между 68K и PPC (переключение контекста), потому что для сохранения целостности памяти приходилось очищать кеши ЦП. Чем больше переключений ЦП происходит в приложении, тем больше замедление, часто настолько серьезное, что вообще было бессмысленно использовать процессор PPC, поскольку он медленнее, чем собственный двоичный код 68k. Основным обходным путем для этого было просто избежать как можно большего числа вызовов ОС 68k или сгруппировать их вместе, но это было сложно и отнимало много времени для разработчиков.

WarpOS была запущена как спорная альтернатива ядру PowerUP от Phase5, но со временем стала наиболее часто используемым и номинально стандартным ядром PPC в AmigaOS.

WarpUP

WarpUP - это высокий -speed kernel для PowerPC версий Amiga.

WarpUP формирует уровень абстракции оборудования между оборудованием и программное обеспечение, и обеспечивает правильную работу приложений на архитектуре PowerPC. Он также образует интерфейс между аппаратным обеспечением, управляемым PowerPC, и программным обеспечением, совместимым с 68k, что позволяет оптимально использовать скорость PowerPC CPU, одновременно делая перенос приложений 68k максимально простым.

Ряд преимуществ, которые предлагает WarpUP:

  • Высокая скорость обмена данными между 68k программами и процессорами PowerPC
  • Встроенная многозадачность, управление памятью, семафоры, список и тег управление, сигнализация и обработка сообщений
  • Защита памяти (при необходимости задачи могут выделяться в защищенные области памяти)
  • Виртуальные сигналы (сигналы распределяются между ЦП и всегда перенаправляются на нужные ЦП при необходимости)
  • Система обмена сообщениями между ЦП (сообщения передаются между ЦП при необходимости)
  • Оптимальное использование PowerPC Memory Management Unit и PowerPC Кэш
  • Поддержка модуля управления памятью и обработки исключений для приложений
  • Функция PowerSave, которая выключает PowerPC если нет приложений, которые его используют
  • PowerPC Enforcer (защищает первую страницу памяти)
  • Подробный запросчик сбоев, который предоставляет подробную информацию, чтобы помочь разработчикам обнаруживать ошибки
  • Интегрированная система отладки, которая упрощает отслеживание ошибок
  • Специальная поддержка высокооптимизированного программного обеспечения, такого как игры и демонстрационные версии
  • Поддержка Amiga-совместимых приложений
  • Библиотеки для PowerPC: родные, смешанные и Бинарные приложения FAT
  • WarpUP также можно использовать для альтернативных систем разработки, таких как Modula или E-компиляторов с поддержкой PowerPC. Это связано с тем, что объекты не создаются в обязательном порядке в ELF ; вместо этого также можно использовать Amiga-совместимую.
  • Простота установки
  • Независимость от оборудования
Функции

WarpOS имела функции, аналогичные PowerUP, но с некоторыми существенными отличиями. Наиболее уместно то, что он использовал PowerOpen ABI, в отличие от PowerUP, который использовал более новый и лучше поддерживаемый SysV, который гарантировал, что оба ядра не могут быть напрямую совместимы.

Начиная с версии 14, ядро ​​WarpOS использовало несколько иной планировщик многозадачности, чем AmigaOS (или PowerUP), основанный на таковом в системах Unix с «хорошими» значениями, а также своими собственными приоритетами. задачи и процессы. Это было сделано для того, чтобы все задачи получали процессорное время и не «истощали» процессорного времени из-за ресурсоемких задач (как в случае с исходным планировщиком AmigaOS). Однако это было неэффективно, поскольку все еще ограничивалось встроенным планировщиком AmigaOS и создавало дополнительные трудности при синхронизации со стороной 68k (особенно для звука). В версии 15 WarpOS представила концепцию, называемую атомарными задачами. Атомарные задачи не могут быть прерваны, и планирование не выполняется, если задача явно не разрешает это.

WarpOS также имеет встроенный отладчик, который может быть отправлен для вывода информации о любых сбойных задачах в любое окно консоли на экран или последовательный, в зависимости от переменных среды.

Одной из самых хвалебных особенностей WarpOS было то, что она продолжила формат «ломтика» исходных исполняемых файлов Amiga, который реализовал формат исполняемых файлов Amiga Hunk. Этот формат назывался EHF (расширенный формат фрагмента) и реализовывал тип фрагмента с именем HUNK_PPC_CODE . Это позволяло AmigaOS прозрачно обрабатывать исполняемые файлы WarpOS без необходимости исправлять ОС, чтобы распознавать их, что PowerUP действительно должен был сделать для запуска своего файлового формата ELF. Несмотря на то, что формат EHF элегантен в теории, его недостатком было отсутствие широкой поддержки компилятора (особенно GCC ), а формат файла ELF был принят в AmigaOS 4 и MorphOS <204.>В отличие от PowerUP, WarpOS также может создавать смешанные (толстые) двоичные файлы с кодом 68k и PPC, которые могут работать как на платах Amiga PPC, так и на обычных системах Amiga. Эта практика была очень редкой из-за сложности программирования, но тип данных изображения в AmigaOS 3.9 (разделяемая библиотека, которая загружала, обрабатывала и смешивала изображения через систему типов данных AmigaOS) был ярким примером его использования. Системы, оснащенные PPC, сразу же заметят значительное ускорение, в то время как системы 68k и эмуляторы будут по-прежнему совместимы без сбоев или установки другого двоичного файла.

WarpOS выполняла две служебные задачи под названием Defiant и Babylon5, которые, как предполагается, были названы в честь USS Defiant из Star Trek DS9 и Babylon 5, его разработчики - фанаты научной фантастики. Об этом часто сообщали новые пользователи, которые не знали, что они отображали в списках задач.

Противоречие

Haage Partner, производитель программного и аппаратного обеспечения для Amiga (который также создал AmigaOS 3.9), разработали ядро, конкурирующее с PowerUP, под названием WarpUP, которое, по их утверждениям, могло бы решить проблему переключения контекста., претензия, которая будет решительно оспорена Phase5. Phase5 правильно заявила, что эту аппаратную проблему нельзя обойти простой оптимизацией ядра и что это ограничение, присущее почти уникальной конструкции платы, которая разделяет шину памяти между двумя процессорами радикально разных семейств. Версии WarpOS до V7 были добавлены к ядру Phase5 PowerUP, но начиная с версии 8 это было собственное ядро ​​PPC, работающее вместе с AmigaOS, и было переименовано в WarpOS.

Поскольку PowerUP находился в EPROM плат и Phase5 не мог работать одновременно с WarpOS, его пришлось деактивировать с помощью небольшого программного инструмента. Поскольку у HP не было доступа к EPROM, инструмент должен был сделать предположения о ядре PowerUP, и, естественно, это сломалось в обновленных версиях. Это привело к открытым обвинениям со стороны сторонников WarpOS и автора Сэма Джордана в том, что Phase5 намеренно пытались предотвратить запуск WarpOS на своих досках. Phase5 также заявила, что Haage и партнер злоупотребляли подаренной им бесплатной доской для запуска этого конкурирующего ядра (хотя и бесплатно, WarpOS поддерживалась почти исключительно коммерческим компилятором StormC ++ от HP), и что для этого у них была проведена обратная инженерия PowerUP. Компания HP указала, что этого нельзя было избежать, пока Phase5 отказывался разрешать пользователям выбирать, какое ядро ​​установить на EPROM платы, утверждая, что ядро ​​PowerUP необходимо для инициализации плат при загрузке, и их стирание просто сделает платы бесполезными.

Что еще хуже, пользователи изначально могли запускать только одно из этих ядер, что приводило к значительному дублированию усилий между конкурирующими разработчиками, решившими использовать одно или другое, часто с двумя версиями программного обеспечения, разрабатываемыми независимо. Несмотря на небольшую разницу в производительности, отладочных возможностях, удобстве использования или стабильности в любой системе или ее отсутствие, и стало очевидно, что ни одна из них не может надеяться на решение проблемы аппаратного переключения контекста, с каждой стороны был сделан ряд требований и последовало много боев в Usenet.

Это привело к появлению большого количества поспешно портированных, часто полуфункциональных портов программного обеспечения с открытым исходным кодом из Windows, часто просто «один вверх» на другую сторону. Штеффен Хойзер (получивший известность, заявив, что «ELF - это монстр !!!», имея в виду формат файла ELF) Hyperion Entertainment CVBA был особенно печально известен тем, что его «политические» порты были настолько спешными, что в них не было звука или они были очень нестабильными., выпущенный только для того, чтобы подсчитать цифры и составить список программного обеспечения, больший, чем у PowerUP.

Тупик между конкурирующими системами в конечном итоге был разрешен благодаря обертке PowerUP для WarpOS от Franke Wille, которая позволила пользователям запускать программное обеспечение PowerUP на своих системах WarpOS.

Горькая борьба в сообществе Amiga из-за двух ядер, хотя и кратковременная, привела к расколу, который в конечном итоге вылился в раскол между AmigaOS и MorphOS, когда большинство разработчиков WarpOS и PowerUP перешли на новую AmigaOS. реализация соответственно.

WarpOS предназначалась для использования в качестве основы для AmigaOS 4, но Haage и партнер отказались от проекта, когда Amiga, Inc. аннулировала свой контракт на AmigaOS 4 PPC в 2000 году. Когда Hyperion Entertainment взяло на себя проект, у них изначально была такая же идея, но позже их разработчики признали, что она оказалась очень малопригодной для модернизации ОС, поскольку была написана полностью на непонятном языке. ассемблер аннотированного машинного кода.

Выбор WarpOS над его конкурентом оказался пирровой победой, поскольку стандарты, которые он разработал вокруг, а именно EHF и PowerOpen, должны были быть полностью отброшены в более позднее развитие AmigaOS и ее клонов. Модель с двумя процессорами не пересматривалась.

Устаревшая поддержка в других операционных системах

AmigaOS 4

Обертка была сделана для AmigaOS 4.0 и 4.1, сначала она была включена, а затем распространена командой GuruMedation (не путать с Amiga's " Синий «Экран смерти», тоже имеющий такое же название). Эта оболочка поддерживает процессоры PowerPC 603e, 604e, AMCC440EP, G3 и G4. Но не удалось работать с AMCC460 и P.A.Semi PA6T,

Ведутся работы по созданию новой оболочки под названием ReWarp. За новую обертку отвечает группа под названием Сакура.

MorphOS

MorphOS также использует оболочку для запуска программ WarpUP, у них также есть оболочка для PowerUP, конкурента WarpOS.

Игры для WarpOS

Игра сначала была выпущена на WarpOS, затем портирована на AmigaOS4.0

Исходное название: DOOM

(только для WarpOS, не для AmigaOS)

Оригинальное название: Hexen: Beyond_Heretic (та же игра под названием UHexen для AmigaOS4)

Игра сначала была выпущена на WarpOS, затем портирована на AmigaOS4.0

(Только для WarpOS, не для AmigaOS)

(Только для WarpOS, не для AmigaOS)

Демо-версии для WarpOS
  • Демо-версия PPC / Warp3D от CdBS Software (2-е место в Ukonx Party2000)
  • V1.0 Demo PPC / Warp3D от CdBSSoftware.
  • DeathTrial FixPatch 0.1
  • MusicDisk Earth-Tribe-Media
  • Чудо одного дня от Fit ASM'02 64k intro
  • Booring Trip PPC. Для UkonxParty 4 во Франции.
  • Greuh! Zillement Beta (2nd @ LTP4)
  • Salvation (PPC dentro) от Horizontal Lamerz
  • "Flow", победитель 64kb на FuckYanica Один
  • Quick PPC Port of Megademo IV
  • DeathTrial от Mkd: AGA / CGXwarposPPCAhi + dbplayer
  • Приглашение на демонстрацию Equinoxe
  • PRO_GEAR_SPEC WarpOS PPC demo от человечества
  • Mankind MesaGLUT wos + ahi surreal demo.
  • 212 от Madwizards; 1-е место в Delirium 2001
  • AMSTERDAM BLESSINGS от Madwizards; 3-е место на M / S 2001
  • CULL BAZAAR от Madwizards; 11 место на Assembly 2001
  • Nuance «Subtle Shades 2» - 5 место на MS2K + 1
  • 4 место на MS99 по NUANCE
  • NoSyncIzBack! - Демонстрация WOS, третья на IGDRP 2.
  • "Planet Potion" - вступление 64 КБ от Potion
  • "SUICIDAL" - вступление 64 КБ от Potion
  • Sayontsheck PPC AGA Demo от Lamers
  • Luminance PPC WOS v1.1 - UKONX - 1-е место на Slach 2 - 1999
  • NoSync by Universe - демо WOS 3-е на Equinoxe 2003
  • PowerUp by Universe: победитель WOS демо на Slash 2001.
  • Everything Dies by Venus Art - PPC WarpUP версия
  • Ghost... by Venus Art - PPC WarpUP версия
Эмуляторы для WarpOS
  • IFusion / FusionPPC - Эмулятор Mac, эмулирующий MacOS 8/9
  • WarpSNES
Программы для WarpOS
  • Frogger - Видеоплеер
  • fxpaint
  • perfectpaint
  • wosdb - простой отладчик
См. также
  • Портал Amiga
Ссылки
Примечания
  1. ^Проблемы деформации: (Штеффен Хаусер объясняет ядро ​​WarpUp на comp.sys.amiga.games
  2. ^См. Также страницы, посвященные истории процессора PPC на Amiga на сайте Amiga.History.
  3. ^Спецификации EHF на сайте Haage Partners.
  4. ^BlizzardPPC Flash Почему WarpOS и Warp3D имеют проблемы с Blizzard PPC
  5. ^Журнал Amiga Report Haage и партнер объявляют о WarpUP, Phase5 Blasts HP
  6. ^comp.sys.amiga.games Штеффен Хойзер комментирует ELF
  7. ^ppclibemu ppc. эмуляция библиотеки под WarpOS
  8. ^Список программных проектов Сэма Джордана
  9. ^Интервью с Беном Хермансом из Hyperion Комментарии Бенджамина Херманса WarpOS
  10. ^Jordan, S: powerpc.library / WarpOS history. 2001
Дополнительная литература
  • Жак Портан (ноябрь 1997 г.). «Что делать для карт PowerPC?». AmigaNews (на французском). № 106. НовостиИздание. С. 7–10. ISSN 1164-1746.
  • «Новости, разработчики сходят с ума по ядру». Формат Amiga. № 104. Будущее издательство. Декабрь 1997. с. 8. ISSN 0957-4867.
  • «Карты PowerUP seraient de la poudre aux yeux!». Мечта (по-французски). № 46. Posse Press. Декабрь 1997. с. 12. ISSN 1259-1165.
  • Кренжелок, Петр (январь 1998 г.). "WarpUp ваш PowerUp?". Обзор Amiga (на чешском языке). № 33. Издательство Атлантида. С. 7–11. ISSN 1211-1465.
  • Фроментин, Брайс; Поцци, Жан-Поль (март 1998 г.). "Les cartes PPC PowerUP de P5". AmigaNews (на французском). № 110. НовостиИздание. С. 12–13, 16. ISSN 1164-1746.
  • «Новости, PPC разработчики хоронят топоры». Формат Amiga. № 112. Будущее издательство. Июль 1998. с. 9. ISSN 0957-4867.
  • «Программное обеспечение PowerPC». Обзор Amiga (на чешском языке). № 36. Издательство Атлантида. Сентябрь 1998. С. 16, 18, 20–21. ISSN 1211-1465.
  • Драммонд, Ричард (июль 1999 г.). «WarpUp 4.0». Формат Amiga. № 125. Будущее издательство. п. 51. ISSN 0957-4867.
  • «Новости, NG AmigaOS для классических AmigaOS». Формат Amiga. № 136. Будущее издательство. Май 2000. с. 7. ISSN 0957-4867.
Последняя правка сделана 2021-06-20 08:34:31
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте