Эллипс
Компания
Услуги
Продукты и решения
Проекты
Поддержка
Публикации
Контакты
Публикации  >   Статьи  >   О проблеме развития ОС для персональных устройств


О проблеме развития ОС для персональных устройств


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

Примерами таких персональных устройств могут быть сетевые дисковые накопители, подключаемые к домашней РС по Ethernet и приемники информации, использующие широковещательные станции и подключаемые к домашней РС через USB канал.

Во всех случаях персональное устройство представляет собой компьютер на базе процессора с низким потреблением энергии (Intel StrongARM, Motorola PowerPC, MIPS), значительной памятью (до 256 Мб), стандартной PCI шиной, дисковым накопителем, развитой периферией. Отсутствуют клавиатура и монитор, которые могут быть подключены по серийному соединению на этапе разработки системы.

Операционная система такой машины выполняет, в первую очередь, обычные функции управления выполнением нескольких (фиксированных) приложений. Однако специфика персональных устройств предъявляет чрезвычайно жесткие и необычные требования к операционной системе. Дальнейшее рассмотрение мы будем проводить на примере ОС Linux, имея ввиду последнюю стабильную версию ядра 2.2.16 и экспериментальное ядро 2.4.0-test7.

Первой проблемой является проблема выключения питания и связанная с ней проблема надежности файловой системы. Любая Unix-подобная ОС крайне болезненно реагирует на внезапное отключение питания. Однако, для персональных устройств такая ситуация типична. Одним из решений, достаточно широко используемых сейчас, является "мягкий" (software) выключатель. Специальный драйвер ядра распознает ситуацию "выключено" и выдает команду на остановку ОС с последующим реальным отключением блока питания. Такие устройства просты и разработка соответствующего драйвера для них не составляет проблем. Однако, такой выключатель не гарантирует нормальной работы устройства в случае "нетерпеливого" пользователя – просто выдергивающего сетевой шнур из розетки. В этом случае основным решением является использование надежной файловой системы. Общеизвестным примером может служить "Журнальная файловая система" (JFS) разработки IBM. Однако, портирование этой системы в Linux наталкивается на серьезные препятствия и к сегодняшнему дню не завершена. Существенным является то, что такого рода файловые системы используют значительные ресурсы процессора, который, по понятным коммерческим причинам, выбирается не из самых мощных. Таким образом, сегодня в этом направлении есть поле для деятельности и идей.

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

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

Последней, и наиболее разработанной, проблемой оказывается портирование исходного кода ядра и приложений на разные архитектуры процессоров.

Если теперь обратиться к упомянутым ранее примерам ОС, то становится очевидным невозможность их прямого использования. Даже для устойчивого ядра Linux и его поддерживающих подсистем вышеприведенные трудности нелегко преодолеть. При этом необходимо упомянуть и непростые приложения работающие на нём – Samba, WWW-сервер, системы парольного доступа и пр.

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

В качестве итогов этого анализа можно выдвинуть несколько направлений развития ОС для персональных устройств:

  • дальнейшее развитие известных ОС с целю повышения их надежности и выработки приемов использовании и модификации "в полевых условиях". Возможно, это направление приведет к появлению клонов каких-то ОС (как было с появлением NetBSD) ограниченных по своим возможностям поддержки произвольной аппаратуры;
  • разработка монолитных ОС (по примеру RTOS) предназначенных для конкретных персональных устройств. Очевидным недостатком такого подхода является длительное время разработки и отладки, невысокая надежность первых версий;
  • разработка модульных ОС (по примеру eCos) для быстрой сборки небольших систем с последующей "доводкой" под конкретное персональное устройство. Для этого необходима разработка стандартных в каком-то смысле интерфейсов между отдельными блоками, что является старой мечтой разработчиков не только ОС, но и программного обеспечения вообще.

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



Автор: Антонец Д.К. SET Engineering, Inc. USA | e-mail: d.antonets#computer.org

 
614068, Россия, г. Пермь, ул. Луначарского, д. 80 (1 этаж)
телефон: +7 (342) 271-77-81
e-mail: web@ellips.ru

Подписаться на рассылку новостей

Rambler's Top100
© ЭЛЛИПС, 2001-2017
Создание сайта: Амадо

Написать письмо Карта сайта Главная