Введение

Операционная система

XINU Is Not Unix (XINU, рекурсивный акроним) — это операционная система для встраиваемых систем, первоначально разработанная Дугласом Комером для учебных целей в Университете Пердью в 1980-х годах. Название является одновременно рекурсивным и представляет собой слово Unix, написанное в обратном порядке. Она была портирована на множество аппаратных платформ, включая системы DEC PDP 11 и VAX, Motorola 68k (рабочие станции Sun 2 и Sun 3, AT&T UNIX PC, MECB), Intel x86, PowerPC G3, MIPS, архитектуру ARM и AVR (atmega328p/Arduino). Xinu также использовалась в некоторых моделях принтеров Lexmark. Несмотря на то, что название предполагает некоторое сходство с Unix, Xinu — это операционная система иного типа, написанная без ознакомления с исходным кодом Unix и без целей совместимости. Она использует различные абстракции и системные вызовы, некоторые из которых имеют названия, совпадающие с названиями в Unix, но отличаются семантикой.

История

Xinu впервые заработала на платформе LSI 11. Порт на Motorola 68000 был выполнен Дерриком Бернсом в 1984 году. Порт на VAX был выполнен в 1986 году Комером и Томом Стоунсайфером, совместимый с IBM PC порт – в 1988 году Комером и Тимоти Фоссомом, второй порт на Motorola 68000 (Sun 3) – около 1988 года Шоном Остерманом и Стивом Чапином, порт для платформы Macintosh – в 1989 году Комером и Стивеном Мансоном, версия для Intel 80486 была разработана Джоном Лином в 1995 году, порт SPARC – Джимом Гриффиоеном, а также порт PowerPC в 2005 году и порт MIPS для Embedded Xinu в 2006 году Деннисом Брайлоу.

Позднее развитие

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

Встроенный Xinu

Embedded Xinu – это современная перереализация архитектуры Xinu, написанная на ANSI C для встраиваемых RISC-систем. Порт Embedded Xinu для MIPS разрабатывался с 2006 по 2010 год в Университете Маркетте под руководством доктора Денниса Брайлоу. Авторские права на операционную систему Embedded Xinu принадлежат (c) 2007, 2008, 2009 и 2010 годам Дугласу Комеру и Деннису Брайлоу.

Университет Миссисипи встроенная лаборатория Xinu

Лаборатория Xinu в Департаменте компьютерных и информационных наук Университета Миссисипи была основана летом 2008 года доктором Полом Рутом. Ему в проекте помогали Цзяньшу Чжао и Патрик Гувер, которые в то время были аспирантами, а также Челси Норман и Кевин Кент, являвшиеся студентами бакалавриата. Исходная лаборатория была создана на базе лаборатории встроенного Xinu Университета Маркетт. Расположенная в серверной комнате Вейр-Холл на территории Университета Миссисипи, она состоит из дюжины модифицированных беспроводных маршрутизаторов Linksys WRT54GL, 32-портового серийного расширителя Digi Etherlite, 24-портового Ethernet-коммутатора 10/100 Мбит/с, сетевого фильтра BayTech с последовательным управлением и большого количества проводов. Система управляется стандартным ПК с установленной Debian Linux. Общая стоимость системы составила менее 3000 долларов, не включая ПК. Маршрутизаторы WRT54G используют архитектуру MIPSEL и служат в качестве серверных устройств, на которых работает встроенная операционная система Xinu. На ПК запущены несколько демонов, обеспечивающих и управляющих доступом пользователей к серверным устройствам.

Проект Nexos

Проект Nexos – это совместная работа Университета Маркетта, Университета Буффало и Университета Миссисипи, направленная на создание учебных материалов и поддерживающей экспериментальной лаборатории для практических проектов в курсах компьютерных систем. Этот подход основан на использовании недорогого, гибкого, стандартного встраиваемого оборудования, свободно доступных инструментов разработки и отладки, а также новой реализации классической операционной системы Embedded Xinu, идеально подходящей для изучения студентами. Virtual Xinu призван решить две проблемы, ограничивающие эффективность Nexos. Во-первых, потенциальные преподаватели неоднократно указывали, что даже при минимальных финансовых затратах на установку, модификация оборудования и временные затраты остаются существенным препятствием для заинтересованных педагогов. Во-вторых, необходимо преодолеть сложности, возникающие из-за общей подсети, позволяющей студенческим проектам мешать друг другу, что затрудняет воспроизведение, отладку и понимание этих помех. В конечном итоге, портирование операционной системы Xinu на виртуальное оборудование QEMU и разработка виртуальной сетевой платформы позволили добиться успеха при использовании Virtual Xinu в рамках одного семестра курса операционных систем в Университете Миссисипи под руководством доктора Рут.

Последние версии

Существует несколько версий Xinu для таких платформ, как x86, ARM, AVR (Arduino) и MIPS. Последние версии, разработанные Дугласом Комером, предназначены для Intel x86 (Galileo) и ARM Cortex A8 (BeagleBone Black). Версия для AVR требует 32 КБ флэш-памяти, поэтому поддерживаются платы Arduino Uno и подобные им. Исходный код этих версий находится в свободном доступе.