Xinu

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 22:58, 4 июня 2019.
Xinu
Xinu logo.png
Xinu Is Not Unix
Разработчик Douglas Comer
Написана на C
Линейка ОС C-based-OS
Состояние разработки Активная
Исходный код Открытый исходный код[1]
Дата первого релиза 1981; 39 years ago (1981)
Последний релиз The Second Edition Of The Text / 2015; 5 years ago (2015)
Целевой маркетинг Персональные компьютеры, встраиваемые устройства, высшее образование
Доступно в Английский
По умолчанию
пользовательский
интерфейс
Множество
Лицензия Открытая
Официальный веб-сайт

Xinu (или Xinu is not Unix) — это операционная система для встраиваемых устройств и систем, разработанная в 1980-х годах. Имя является рекурсивным акронимом ("Xinu is not Unix") и перевёрнутое задом наперед пишется как "Unix".

Код Xinu доступен на официальной странице операционной системы.

История

Xinu был создан Дугласом Комером для использования в образовательных целях в Университете Пердью (Perdue, USA) в 1979 году. Автор работал над Xinu на протяжении долгого времени единолично.

Xiny часто использовалась в учебной деятельности и компьютерной индустрии. Ниже представлено несколько примеров использования данной ОС: [Источник 1]

  • 1980е — Корпорация Digital Equipment включила Xinu в терминал X Windows на базе MIPS.
  • 1987 — NCR Towerview X-Station (один из первых тонких клиентов) запускал Xinu на Motorola 68000. NCR добавила подсистему STREAMS, и в течение срока ее службы система работала с XNS, TCP / IP и DECnet. Система даже имела полнофункциональный клиент NFS и возможность загружать локальные приложения, например, оконный менеджер.
  • 1990е — Корпорация Lexmark использует Xinu во всех своих принтерах до 1999 года; последний принтер на основе Xinu был выпущен в 2006 году. (Lexmark перешел на Linux, потому что они могли нанять обученную рабочую силу).
  • 1990 — По словам Майкла М. Минора, исследователя физических процессов, Xinu использовался в Лос-Аламосской национальной лаборатории для реализации распределенной системы сбора и управления данными (Minor [1990]). Приложение потребовало внедрения многочисленных лабораторных многоканальных анализаторов, используемых для сбора данных гамма-излучения на исследовательском реакторе мощностью 8 МВт. Несколько детекторов гамма-излучения и соответствующие им многоканальные анализаторы использовались в автоматизированной системе анализа активации нейтронов, требующей облучения, транспортировки и подсчета образцов под контролем микропроцессоров, работающих под управлением Xinu. Учёные использовали микропроцессоры Motorola серии 68000 в среде на основе VME в локальной сети, используемой совместно с рабочими станциями Sun Microsystems. Проект оставался активным в течение 10 лет.
  • 1997 — Williams Electronics Games, Inc. разрабатывает электронные пинбольные автоматы. и решает использовать Xinu как основную операционную систему.
  • 1998 — Подразделение Intel, "Shiva Systems", разработала на основе Xinu "ОS Shiva".
  • 2000 — Компания Williams Electronics Games выпустила новое поколение игровых автоматов для игры в пинбол, в которых ЭЛТ отражается на стекле (частично зеркально), создавая иллюзию взаимодействия мяча с видеоизображением. Игры запускают Xinu как ядро.
  • 2009 — IBM пишет, что разработка кода IP, ARP и UDP для Xinu стала отраслевым стандартом де-факто, и запрашивает у Дугласа Комера разрешение на его использование в своём коммерческом продукте.
  • 2010 — Barnard Software используют Xinu как часть своего программного продукта. К началу 2010-х Xinu используется более чем сотней университетов по всему миру.
  • 2011 — Xinu был портирован на 8-битный микропроцессор Atmel серии AVR.

Впоследствии Дуглас Комер написал книгу "Operating System Design: The Xinu Approach", которая описывает структуру операционных систем, её элементы и их значение, рассказывает о том как создать собственную ОС на примере созданной им ранее Xinu. [Источник 2]

Особенности

Операционная система Xinu обладает следующими особенностями:

  • Простой программный код, созданный для образовательных целей.
  • Отсутствие защиты памяти. Все процессы разделяют одно и то же пространство памяти вместе с ядром.
  • Нет виртуальной памяти, ни [[Страничная_память|таблицы страниц].
  • Нет понятия "защиты кольца". Ядро и процессы работают в одном кольце.
  • Максимальное количество процессов — 8. Таблица процессов представляет собой массив фиксированного размера из 8 записей.
  • Планирование процесса является циклическим, первым в первом запуске.
  • Приоритет процесса поддерживается. Каждый приоритет имеет свою готовую очередь. Все процессы с наивысшим приоритетом запускаются сначала в циклическом режиме, а затем запускаются на следующем уровне приоритета.
  • «Программа» — это просто функция. Все «программы» в системе имеют свои начальные функции, строго запрограммированные в cmdtab [] оболочки, такие как "cat", "ping" и т.п.. Выполнение "ping" — это просто создание процесса с адресом функции ping.
  • Загрузка программы с диска для запуска не поддерживается.
  • Локальная файловая система основана на блочном устройстве RAM. Доступ к данным на реальном диске не поддерживается. [Источник 3]

Развитие операционной системы

Вначале Xinu работал на платформе LSI-11. Порт Motorola 68000 был создан Дерриком Бернсом (Derrick Burns) в 1984 году. Позже, в 1986 году, Комер и Том Стоунчифер (Tom Stonecypher) создали Порт VAX , совместимый с IBM PC порт — Комер и Тимоти Фоссум (Timothy Fossum) в 1988 году, второй порт Motorola 68000 (Sun 3) — Шон Остерманн (Shawn Ostermann) в 1988, порт Macintosh — Комером и Стивеном Мансоном (Steven Munson) в 1989, версия Intel 80486 от Джона Лина (John Lin) в 1995 году, порт SPARC и порт PowerPC от Джима Гриффоена (Jim Griffioen) в 2005 году и порт MIPS Embedded Xinu (встроенный Xinu) в 2006 году от Дениса Брылова (Dennis Brylow). Встроенный XINU — это реализация оригинальной ОС Xinu на процессоре MIPS, которая может работать на недорогих беспроводных маршрутизаторах и подходит для курсов и исследований в области ОС, аппаратных систем и компиляторов. [Источник 4]

Деннис Брайлоу из Университета Маркетт перенес Xinu на архитектуры процессоров PowerPC и MIPSEL. Перенос Xinu на архитектуры с сокращенным набором команд (RISC) значительно упростил его реализацию, расширив возможности его использования в качестве инструмента для обучения и исследований. MIPSEL был выбран в качестве целевой архитектуры в связи с распространением в тот момент маршрутизатора WRT54GL на основе MIPSEL. В университете Миссисипи была создана встроенная лаборатория Xinu, которая заложила основу для дальнейшей работы по созданию виртуальной лаборатории Xinu.

Xinu перенесен на широкий спектр платформ, включая: IBM PC , Macintosh, Digital Equipment Corporation VAX и DECstation 3100, Sun Microsystems Sun-2, Sun-3 и станции SPARC , а также Intel Pentium. Он был использован в качестве основы для многих исследовательских проектов. Кроме того, Xinu использовался в качестве встроенной системы в продуктах таких компаний, как Motorola, Mitsubishi, Hewlett-Packard и Lexmark. [Источник 5]

История версий

Код Xinu различных версий доступен на официальной странице операционной системы. Всего существует несколько версий, которые сгруппированы автором в несколько категорий: [Источник 1]

  • Versions For The Second Edition Of The Text (выложенные в открытый доступ в 2015) — которые включают в себя: X86 version, ARM version, Xboot code, Virtual Box version (работает на Vbox 5.2.18).
  • Versions For The Previous Edition Of The Text (выложенные в открытый доступ в 2009) — которые включают в себя: MIPS version, x86 version, x86 forwarding version that implements NAT, Remote file server, Remote disk server.
  • Very Old Versions — каталог FTP, которая содержит код Xinu для старых архитектур.

Источники

  1. 1,0 1,1 Description // Xinu. [2015]. Дата обновления: 01.03.2019. URL: https://xinu.cs.purdue.edu/#description (дата обращения: 02.04.2019).
  2. Textbook // Xinu. [2015]. Дата обновления: 01.03.2019. URL: https://xinu.cs.purdue.edu/#textbook (дата обращения: 02.04.2019).
  3. Xinu – A small, elegant operating system // Hacker News. [2005–2018]. Дата обновления: 05.10.2018. URL: https://news.ycombinator.com/item?id=17734837 (дата обращения: 03.06.2019).
  4. Introduction to Xinu and Kernel Programming // Slideserve. [2019]. Дата обновления: 06.07.2013. URL: https://www.slideserve.com/merrill/introduction-to-xinu-and-kernel-programming (дата обращения: 02.04.2019).
  5. Garfinkel, Simson; Spafford, Gene; Schwartz, Alan. Practical UNIX and Internet Security: Securing Solaris, Mac OS X, Linux & Free BSD. [Электронный ресурс]: https://books.google.ru/books?id=50maN7VmpusC&hl=ru. – Third Edition. – USA, Sebastopol: O'Reilly Media, Inc; 2003 г. – 988 c.

Ссылки