> man operating_systems
Центр информации по операционным системам :: Форумы :: Операционные системы :: Другие ОС
 
<< Предыдущая тема | Следующая тема >>
uOS - встраиваемая операционная система реального времени.
Переход на страницу  [1] 2 3 4 5 6 7 8
Модераторы: Roman I Khimov, Wanderer, Dron
Автор Добавил
den1
Воскресенье 16.10.2005 03:34
ID пользователя #363
Зарегистрирован: Вторник 05.07.2005 16:47
Местонахождение: Россия. Москва.
Сообщений: 151
Я долго думал, как лучше представить вам эту систему... Так уж получается, что, видимо, появляется традиция представлять новую систему с рассказа о моей встрече с разработчиком системы.

Итак, 15 сентября 2005 года эта, возможно , историческая встреча состоялась. Получилось встретиться и обсудить uOS с её автором Сергеем Вакуленко. uOS это как раз тот редкий случай, когда система полностью написана с самого начала и доведена до рабочего состояния, причём одним человеком.

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

Что же создал Сергей? uOS, как следует из её описания - это масштабируемая (в смысле архитектуы) встраиваемая операционная система реального времени. Открытая система! Хотя и была закрытой, до тех пор, пока Сергей не мог её открыть по не зависящим от него причинам. Своё мнение о системе вы сможете составить, если прочитаете лаконичное и простое описание к системе, составленное Сергеем. Лучше всего, о системе сказано в описании к ней:
uOS представляет собой переносимую масштабируемую операционную систему реального времени с вытесняющей многозадачностью.

Операционная система uOS может применяться в промышленных
и коммуникационных системах с самым широким диапазоном ресурсов, от 8-битных микроконтроллеров с 16 килобайтами ПЗУ и 2 килобайтами ОЗУ, до 32-битных микропроцессоров. Система поддерживает неограниченное количество задач, приоритетов и ресурсов.

Система uOS построена по модульному принципу. Базовый модуль ядра занимает около 2 килобайт ПЗУ и 200 байт ОЗУ. Набор используемых модулей может наращиваться в соответствии с потребностями конкретного применения.
В перечень модулей входят драйверы устройств, диспетчер памяти, сетевые протоколы.

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

Перенос.

В данной версии доступны переносы на следующие
архитектуры:

Atmel AVR. Используется компилятор GCC 3.2.

Samsung ARM7TDMI (S3C45x0) в режиме Thumb. Используется компилятор GCC 3.0.4.

Intel 80x86, под управлением MS-DOS. Используется компилятор
Borland Turbo C/C++.

Intel i386. Используется компилятор GCC 3.3 и загрузчик Grub 0.97.

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

В данной версии uOS имеются следующие драйверы устройств:

Таймер. Реализован для AVR, Thumb, 80x86, i386 и Linux.

Асинхронный порт. Реализован для AVR, Thumb и Linux (консоль).

Неразрушаемая память (NVRAM). Реализован для AVR.

Сторожевой таймер. Реализован для AVR.

Контроллер Ethernet Cirrus CS8900A. Реализован для AVR. Используется восьмибитный режим работы контроллера.

Сетевой протокол SLIP для асинхронного порта (RFC 1055). Реализован для AVR и Thumb.

Эмулятор сетевого контроллера. Реализован для Linux (/dev/tap0).

Буквенно-цифровой индикатор ЖКИ 16x2. Реализован для AVR.

Приемник инфракрасного дистанционного управления
Irman http://www.evation.com/irman. Реализован для AVR.

Управление скоростью вращения мотора постоянного тока методом ШИМ. Реализован для AVR.

Поддержка сетевых протоколов включает следующие модули:

Протокол IP+ICMP (RFC ...).

Протокол ARP (RFC ...).

Протокол UDP (RFC ...).

Протокол TCP (RFC ...) - пока не реализован.

Модуль таблицы маршрутизации.

Протокол SNMP версии 1.0 (RFC ...), включая модули поддержки базового набора параметров MIB2 (RFC 1213).

Дополнительные модули:

Динамическое выделение памяти.

Управление буферами ввода-вывода.

Вычисление контрольных сумм: CRC8-ATM, CRC8-Dallas, CRC16-CCITT, CRC16-IP.

Генератор случайных чисел.

Библиотека символьного ввода-вывода: printf, putchar, getchar.


Вот так... Как вам 2 килобайт ПЗУ и 200 байт ОЗУ? Это, конечно, минимум, но работающая система, что мы тестировали вчера, тебует не на много больше. Кстати - первое ощущение от работы системы - очень стабильная. Для чистоты оценки, видимо, мне следовало бы воздержаться от комментария, однако есть несколько особенностей, которые необходимо пояснить, чтобы о системе не сложилось неправильное представление из-за отсутствия информации о специфике.

Сначала немного эмоций - QNX... QNX, где он теперь, да и не был он по хорошему открыт... Монолитное ядро Линуса тут даже не нужно сопоставлять - настолько архаично оно выглядит по отношение к данной системе... Попробуйте работать с 2.6-м на 4 Мб памяти... . Какая там MenuetOS с её ассемблером и запросами памяти от 10 что ли Мб ... и так далее.

Обратите внимание на нативные для uOS процессоры - да, да - это те самые правильные АРМ/ы. Но всё же главное - красота и одновременная простота структуры построения ОС (пара страниц совершенно логичного описания). По сути, uOS - OO система. Точнее (здесь необходимо некоторое пояснение) осталась лишь небольшая часть - чтобы uOS стала таковой. Я не готов сейчас подробно описывать моё впечатление о системе, но наконец-то, то о чём многие говорили - есть в открытом коде. Чтобы предупредить возможное недопонимание, хочу уточнить - система так нетребовательна к ресурсам именно потому, что реализована и спроектирована правильно - похоже очень близким к оптимальному - образом. Компромисс между красотой и возможностью программировать систему на С, пока не позволяет переписать систему полностью на Ada 95. Возможно, это получится сделать в дальнейшем. Сергей также указал, что структура ОС достаточно гибкая и потребуются не самые существенные дополнения, чтобы позволить uOS выполняться на многопроцессорной системе. Так же в угоду возможности портирования POSIX приложений Сергей уже реализовал соответсвующую надстройку к uOS. Титанический, в моём представлении, труд по адаптации графического nano-X сервера к uOS, выполненный Сергем - он назвал не очень сложной работой и даже успел отказаться от неё - подготавливая переход к более перспективной системе вывода графики.

Вообще, появление такой системы в моих поисках не Линукс ядра для маленькой РОС в целом прогнозируемо увенчались определённым успехом. Теперь, вероятно, мне придётся пересмотреть концепцию маленькой РОC. Надеюсь, хотя бы часть моих наработок и несколько идей, особенно в плане построения среды окружения пользователя смогут быть полезны системе Сергея. Конечно, для uOS должно быть выполнено ещё много работы - но у неё есть действительный шанс стать основной открытой системой тех самых персональных устройств, к которым с одной стороны уменьшаются десктопы, ноутбуки и кпк, а с другой стремятся мобильные телефоны - то есть следующего поколения персональных компьютеров.

Что хотелось бы уточнить, так это: uOS или runtime...Но это вопрос сложный.

Конечно, критика приветствуется, однако, помните, что многое в системе ещё просто не реализовано.

Всего, конечно, не перескажешь в коротком комментарии. Однако, подобной и такой классной - небольшой и грамотной системы я ещё не встречал, тем более - там у них, а видел я довольно много. Так что, как и следовало ожидать, открытая - и именно та система появилось всё таки у нас www.vak.ru


<span class='smalltext'>[ 363_nanomix.gif ]</span><span class='smallblacktext'>[ Редактирование ]</span>
Наверх
Сайт
den1
Воскресенье 16.10.2005 14:07
ID пользователя #363
Зарегистрирован: Вторник 05.07.2005 16:47
Местонахождение: Россия. Москва.
Сообщений: 151
Хм. Что-то не найду так сразу, возможно ли указать размер изображения или как его заменить - слишком большая картинка получилась.
Наверх
Сайт
sklif
Вторник 18.10.2005 09:44

ID пользователя #348
Зарегистрирован: Пятница 17.06.2005 14:59
Сообщений: 25
подредактируй хотя бы фотожопом, а то читать очень не удобно

"ПисАть как и пИсать нужно тогда когда уже не можешь" (с) Жванецкий
Наверх
Roman I Khimov
Вторник 18.10.2005 12:23

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
sklif, Дену это неподвластно, единожды загруженные изображения таковыми остаются навсегда. Если, конечно, кто-то хитрый не заходит с SSH и не начинает творить всякое.

Так лучше? Или еще уменьшить?


Греби и улыбайся!
Наверх
Сайт
sklif
Вторник 18.10.2005 12:35

ID пользователя #348
Зарегистрирован: Пятница 17.06.2005 14:59
Сообщений: 25
еще бы поменьше, чтобы на 1024*728 нормально страница по ширине влезала бы. а то то и дело скролить по горизонтали приходится

"ПисАть как и пИсать нужно тогда когда уже не можешь" (с) Жванецкий
Наверх
Roman I Khimov
Вторник 18.10.2005 12:47

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
Я боюсь, что меньше будет совсем худо. И так вот уже часики пострадали...


Греби и улыбайся!
Наверх
Сайт
sklif
Вторник 18.10.2005 15:33

ID пользователя #348
Зарегистрирован: Пятница 17.06.2005 14:59
Сообщений: 25
А нельзя сделать маленькую копию а по клику мыши бы открывалась полная на отдельной странице?

"ПисАть как и пИсать нужно тогда когда уже не можешь" (с) Жванецкий
Наверх
Roman I Khimov
Среда 19.10.2005 00:17

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
ИМХО, нет смысла. На сайте uOS есть полный скрин.

Ну и, собственно, надо бы уже приступить к обсуждению ОС.


Греби и улыбайся!
Наверх
Сайт
den1
Среда 19.10.2005 03:13
ID пользователя #363
Зарегистрирован: Вторник 05.07.2005 16:47
Местонахождение: Россия. Москва.
Сообщений: 151
Roman I Khimov написал(а) ...
Ну и, собственно, надо бы уже приступить к обсуждению ОС.
Вот вот . Я о том же.

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

Вот http://www.teleology.ru/1/viewtopic.php?id=57, вероятно, далеко не полный список не наших минисистем только на Linux ядре, ни про одну из которых нельзя сказать, что она хотя бы приближается к uOS.

Кстати, uOS пока полностью написана на чистом С (без С++), что "плюс" как раз для неё, на мой взгляд.

Ещё я рассказал Сергею, что разместил информацию о uOS здесь - он зарегистрировался, так что, возможно ему задать вопросы по системе, надеюсь, он ответит, полагаю, если не будет сильно занят.
Наверх
Сайт
Roman I Khimov
Среда 19.10.2005 08:39

ID пользователя #1
Зарегистрирован: Воскресенье 27.06.2004 12:37
Местонахождение: Санкт-Петербург
Сообщений: 601
А тогда позвольте поработать бякой.
den1 написал(а) ...
Монолитное ядро Линуса тут даже не нужно сопоставлять - настолько архаично оно выглядит по отношение к данной системе... Попробуйте работать с 2.6-м на 4 Мб памяти...

Маааленькое примечание - с патчем -tiny можно. Правда, о качестве такой работы я бы не стал говорить ничего.
den1 написал(а) ...
Конечно, для uOS должно быть выполнено ещё много работы - но у неё есть действительный шанс стать основной открытой системой тех самых персональных устройств, к которым с одной стороны уменьшаются десктопы, ноутбуки и кпк, а с другой стремятся мобильные телефоны - то есть следующего поколения персональных компьютеров.

Самое главное, чем гордятся практически все новые ОС с новыми ядрами - "посмотрите какие мы маленькие, не то, что некоторые мастодонты!" (такой же культурный шок испытывают те, кто впервые знакомится с Menuet - "ой, всего лишь дискетка, а уже столько!") Уж тем паче те ОС, которые выросли из embedded среды, как и здесь. Оно понятно и очень здорово кружит голову. Потом все начинают вспоминать "а вот были времена, когда Linux вмещался аж в (впишите нужное) килобайт оперативки!" Были. Но прошли. И это хорошо.

Я, конечно же, ровным счетом ничерта не знаю об устройстве uOS, но вполне серьезно опасаюсь, что к тому времени, как она дорастет до уровня функциональности, скорости, масштабируемости и платформонезависимости работы Linux (это, кстати, не шутка), она будет иметь сопоставимый размер. И сопоставимую скорость. Буду рад, если будет лучше, но практически уверен, что ненамного.

Почему? Причины те же - переизобретение велосипедов и показательное стукание лбом о все те же грабли. Функциональности в текущем виде uOS, на самом деле, совсем мало (хотя отдельный респект за nanoX). Для некоторых embedded применений этого может и хватит, для настольной машины - далеко, очень далеко. В то же самое время я практически уверен, что uOS запустится не на каждом i386-совместимом компьютере. Железячники всегда готовы порадовать разработчиков ОС...

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

Если Сергею удастся каким-то хитрым образом это преодолеть - мой респект, но я пока похожу, посомневаюсь (и поработаю над Linux).


Греби и улыбайся!
Наверх
Сайт
Переход на страницу  [1] 2 3 4 5 6 7 8  

Перейти:     Наверх

Транслировать сообщения этой темы: rss 0.92 Транслировать сообщения этой темы: rss 2.0 Транслировать сообщения этой темы: RDF
Powered by e107 Forum System

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