Автор: Igor Gabrielan То есть всё же среда разработки операционных систем, а не готовая операционная система. Программирование робота облегчается с использованием готовой библиотеки, но не сводится к привязке готовой ОС.
|
|
Ну в общем, да. Здесь весь вопрос в том, что подразумевать под операционной системой.
Eсли так подумать, то ОС (Windows , Linux , и т.д.) тоже в своем роде просто библиотеки. Но эти библиотеки создают дополнительный уровень абстракции. Который снимает с программиста кучу головной боли и делает программы (непосредственно логику выполнения задач) "мобильными" (легко переносимыми на любое железо, для которого написан вариант этой библиотеки, т.e операционной системы) и более компактными. Тажа JAVA или .NET , тоже в своем роде операционные системы, только они создают абстракцию не между железом и программами, а между операционными системами и программами. Объедините операционку (например Linux ) с ... ну скажем, с JAVA и получите новую операционную систему (Android , грубо говоря).
Теперь напрашивается вопрос, а что же особенного между ОС (как библиотеки) и другими библиотеками? A особенного в них то, что они предоставляют интерфейс для управления основными элементами самого компьютера, т.e процессами, памятью и другими физическими устройствами.
Так для чего нужны упомянутые вами выше специальные ОС ( типа robotics os)? Точно для того же самого, о чем я написал выше. Они снимают с программиста той или иной платформы много головной боли и рутинного труда, предаставляют абстракцию к всевозможным девайсам (т.e библиотеки драйверов) и т.д. Причём облегчение направлено и сконцентрировано для "написания приложений, управляющих роботами".
Некоторые из таких библиотек еще и диктуют определенный стиль программирования (на мой взгляд они более полезны так как берут на себя еще больше рутинной работы), ну например создание автомата, или дерева принятия решений и т.д (т.e еще более высокий уровень абстракции, элементами которой эта система управляет).
Если бы ОС самонастраивалась на любого робота. По крайней мере отвечающего определённым стандартам. |
|
зачем для этого писать свою прослойку к железу? Робот -- это тот же компьютер, поэтому любая обыкновенная ОС как раз и сделает то, о чем вы говорите. Различие между роботом и просто домашним компютером не столько в железе (в нем конечно тоже, но это различие легко устраняется дополнительными драйверами), а в тех задачах, которые он делает ( у программ
для роботов обычно нет графики, но обязательно есть та или иная навигация, чего обычно не встречается в программах для простого компьютера).