> man operating_systems
Создавая новое поколение - часть 2
ОС
на Пятница, 22 Октябрь 2004, 00:36
добавил: Николас Блэхфорд (Nicholas Blachford) список авторов печатать элемент контента создать pdf-файл  элемент контента
категория Статьи
комментарии: 0
просмотров: 2456


Совместимость со старыми системами

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

Главная проблема любой новой платформы - недостаток приложений. Конечно, существуют эмуляторы, но они сложны и, как правило, работают не так хорошо, как родная среда, а зачастую и гораздо хуже.

В наши дни вы можете взять практически любые необходимые приложения для Linux или других Unix-подобных операционных систем. "Открытые " означает, что один из способов достижения совместимости - включение всей ОС, все что для этого необходимо, это удостовериться, что она работает на вашей аппаратуре.

В то же время, двойная загрузка это неприятность и, в конце концов, вы захотите запускать приложения из единой среды наряду с приложениями для вашей новой платформы.

Вы можете сделать что-нибудь вроде слоя виртуализации, например, MacOnLinux позволяет вам запускать OS X поверх вариаций Linux для PowerPC, но виртуализация всегда ударяет по производительноти и приложения по прежнему работают в своих средах.

Но есть и другой путь. Комбинация специализированого высокопроизводиельного виртуализационнго слоя и существующей технологией X Windows.

Виртуализационнй слой называется Xen [Xen], он позволяет нескольким операционным системам работать на одной аппаратуре с практически 100% производительнотю [XenPerf], разделяя аппаратуру между ОС. Использование X Windows позволит использовать дисплей вне основной ОС.

Итак, включая Unix или похожую ОС и запуская ее параллельно с основной, мы получаем полный набор современных приложений без необходимости когда-либо покидать основную ОС. Возможно это будет кошмар в плане удобства использования, но это можно деликатно поправить.

Основная ОС также сможет воспользоваться подсистемами вторичной ОС. Например, если основная ОС не поддерживает всех USB устройств (многие USB устройства не поддерживают стандарты и поэтому нуждаются в специальной поддержке), то она может пользоваться поддержкой USB во вторичной ОС. Это хак, но полезный и законный для новой ОС, которая поначалу будет ограничена в возможностях.

Включая Xen в качестве технологии для нашей новой ОС мы можем получить всю производительноть в основной системе и около 100% во вторичной, предложенная мной микроядерная / экзоядерная архитектура для новой ОС это позволяет, сам Xen это экзоядро и уже есть драйвера, которые позволяют запускать на нем Linux.

Так что, в конце концов, получается, что мы будем использовать Linux (или BSD)...

Что насчет драйверов?

Преимущество интегрированныхсистем (когда и аппаратура, и программная часть производятся одной компанией) в том, что основные драйвера сравнительно легко получить от самих компаний, так как вы покупаете их продукты. Но как вам скажет любой, кто занимался альтернативнымиОС, проблема возникает, когда вы захотите поддерживать продукты, которые вы не производите. Если у вас есть документация это хорошо, но если вы не можете заплатить за эти устройства, создание драйверов для любой новой платформы будет непростой задачей.

Начинать с чистого листа всегда дорого, но это также дает множество преимуществ. Используя микроядерный подход с драйверами можно будет работать по-разному, давая ОС возможность инсталляции драйверов по принципу drag&drop в работающей системе (а-ля BeOS). Также станет возможным перезапусскать даже самые критические части на живой системе, весьма полезно, если вы работаете над чем-либо, что еще не успели сохранить.

<img src=http://www.osrc.info/files/images/articles/newgen2/kernel.jpg alt="kernel" border="0" width="482">


Вывод

Итак, мы имеем экзоядрифицированную (exokernelified, а вот попробуйте скормить это проверяльщику грамматики) версию Haiku в качестве базовой ОС, но система также может нормально работать с существующими Unix приложениями в одной среде. Сервисы ОС будут обеспечиваться высокоуровневым "kits" из Haiku, так что у нас будут те же возможности, что и в BeOS, но это не все. Если мы говорим о новой системе, мы можем пойти дальше и сделать их лучше.

В третьей части я опишу, что я хотел бы сделать с безопасностью, файловой системой и управлением файлами.

Ссылки / Подробная информация

[RubyList] Список лучших предложений для Ruby OS.

[Haiku] Haiku (ранее OpenBeOS).

[Licenses] Дискуссия об использовании ПО с открытыми исходниками в коммерческих проектах.

[Micro] Страничка о микроядрах.

[Kernel] Введение в различные виды ядер.

[async] Полезная информация, Unix использует синхронный обмен сообщениями, что ставит микроядра в невыгодное положение.

[Zeta] Zeta - продолжатель дела BeOS от Yellowtab.

[Dragon] Есть попытки добавить асинхронный обмен сообщениями в Unix, одна из целей проекта DragonflyBSD как раз и является в том, чтобы сделать это для ядра FreeBSD. DragonFlyBSD.

[Exo] Подробная информация об экзоядрах: документы, слайдшоу.

[Xen] Xen разделяет аппаратуру между несколькими ОС. Проект Xen.

[XenPerf] Производительноть работы с Xen очень близка к нормальной производительноти систем.

© Nicholas Blachford July 2004

Об авторе:
Николас Блэхфорд (Nicholas Blachford) - 33-х летний эмигрант из Британии, ныне живущий в Париже, но не говорящий по-французски (еще). Интересуется различными причудливыми темами (Аппаратное обеспечение, программное обеспечение, фотография) и всякими другими вещами, особенно теми, в которых используются новые технологии. На сегодняшний день безработный.

индекс статьи
страница 1 : страница без заголовка
страница 2 : страница без заголовка
страница 3 - текущая : страница без заголовка


Комментарии доступны только авторизованным пользователям, авторизуйтесь или зарегистрируйтесь на сайте здесь

© OSRC.info, 2004-2010.
Авторские права на любые материалы, авторы которых явно указаны, принадлежат их авторам. По вопросам публикации таких материалов обращайтесь к авторам.
Авторские права на любые другие материалы принадлежат OSRC.info.
Сайт является помещением библиотеки. Копирование, сохранение на жестком диске или иной способ сохранения произведений осуществляются пользователями на свой риск.
При использовании материалов сайта ссылка на OSRC.info обязательна.