roboforum.ru

Технический форум по робототехнике.
Текущее время: 30 ноя 2024, 13:09

Часовой пояс: UTC + 4 часа




Начать новую тему Ответить на тему  [ Сообщений: 68 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 27 мар 2009, 23:41 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
А можно простыми словами чем ОС отличается от системы которая каждые 2 мс вызывает подпрограмму №1 и каждую 5-ю мс - подпрограмму №2??


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 00:00 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
А если программа № 1 выполняется дольше 5мс ?
Или одна из задач вошла в цикл ожидания флага на долго ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 00:39 
Не в сети
Аватара пользователя

Зарегистрирован: 30 янв 2009, 01:24
Сообщения: 784
Откуда: Запорожье
прог. языки: Си, AvrASM, STL, САС, учу Си++
ФИО: Павел
Ааа, разница в том что в моем варианте разработчик должен позаботится о том чтобы подпрограмма успела, а если ОС - то задачи большие а ОС сама их по кусочку выполняет?? Шото я сегодня не догоняю :o


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 00:58 
Не в сети
Аватара пользователя

Зарегистрирован: 04 фев 2008, 13:18
Сообщения: 1060
Откуда: Москва
прог. языки: PHP
Ну вот вам пример фишки, которую самому писать гиморойно.

У нас задача ждёт флаг в цикле.
И в цикл вставлена функция delay и проверка флага.
Только delay не вставляет тупо nop-ы, передаёт управление ОС и ОС уже переключает на другую задачу управление.

В результате мы можем спокойно ожидать флаги не останавливая весь МК.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 07:02 
Не в сети
Аватара пользователя

Зарегистрирован: 29 апр 2008, 21:15
Сообщения: 4130
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич
Сергей писал(а):
Я думаю следует также упомянуть о наличии\отсутствии контроллера виртуальной памяти.

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

В любом случае список что я привел не полный.

_________________
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!



Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 11:34 
Не в сети

Зарегистрирован: 01 дек 2008, 19:21
Сообщения: 281
Цитата:
...ОС сама их по кусочку выполняет??

Ага и Win не исключение - это тож RTS, только квантует задачи на более мелкие кусочки, поскольку МК более быстрый.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 11:51 
Не в сети
Аватара пользователя

Зарегистрирован: 28 ноя 2005, 12:05
Сообщения: 583
Откуда: Москва
ОС

А что скрывается под этой аббревиатурой?
Какой функционал несет операционная система?

Просто Большая Злая Муха, которая жужжит? :crazy:

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

- разделение вычислительной мощности между процессами
- управление памятью
- взаимодействие между процессами
- взаимодействие с ресурсами процессора (таймеры, компараторы, интерфейсы, ...)

- взаимодействие с внешними устройствами (экран, клавиатура, внешний накопитель...)
- управление энергопитанием (контроль, зарядка, ...)

специфические для роботов задачи:
- аппаратура на нижнем уровне (двигатели, сервоприводы, датчики ...)


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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 28 мар 2009, 18:09 
А естли простинкая ОС для МЕГИ-128, (для быстрого старта) на пару задач выбираемых пользователем, ну на пример:
1. управление яртом
2. управление и2с
3. какието пользовательские задачи и пр.
чтоб можно было полутче разобраться да и опробовать что оно такое.
Понятное дело что для мегии и без ОС можно прожить, но вот для ат91сам7... и пр. из данной оперы будет тяжко, а начинать изучать ОС сразу для них наверное будет тяжковато (ресурсоемко), лутче начинать с простого.
П.С. Это мое личное мнение, хотя с этими монстриками пока не работал.


Вернуться к началу
  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 20:56 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
а теперь назовите мне задачи для которых НУЖНА ОС?
причины Виталия работать в этой области мне понятны более или менее...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 21:22 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Ну ,к примеру, при некотором возмущении мы должны начать какое-либо вычисление, которое может занимать длительное время, и чтобы не тормозить на это время контроллер - мы используем "параллельность". При этом, к примеру, нам еще нужно что-то опрашивать.

Добавлено спустя 1 минуту 2 секунды:
bolt писал(а):
Ага и Win не исключение - это тож RTS, только квантует задачи на более мелкие кусочки, поскольку МК более быстрый.
Бред какойто..


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 21:29 
Не в сети
Аватара пользователя

Зарегистрирован: 28 ноя 2005, 12:05
Сообщения: 583
Откуда: Москва
вот именно эта причина послужила для разборок с механизмами переключения задач.
потом удалось решить все проще и обойтись без ОС, зато стало понятно, что есть значительный объем накладных расходов на переключение задач, особенно на процессорах, которые для этого не предназначены.

Сергей писал(а):
Ну ,к примеру, при некотором возмущении мы должны начать какое-либо вычисление, которое может занимать длительное время, и чтобы не тормозить на это время контроллер - мы используем "параллельность". При этом, к примеру, нам еще нужно что-то опрашивать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 21:30 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
прерывания решают вопрос... юзаем 1 таймер для организации прерываний не реже определенного промежутка времени... в нем смотрим нада ли решать другие задачи... если есть что-то срочное - выполняем.. нету - reti...
имхо, народ зачастую юзает оси для упрощения... чтобы каждый раз не придумывать систему полностью... я считаю это неправильным...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 21:49 
Не в сети

Зарегистрирован: 29 дек 2004, 23:15
Сообщения: 3744
Откуда: Санкт-Петербург
прог. языки: C, C++, C#, Asm
ФИО: Кашликов Сергей
Только вот если задача долгая( долгие вычисления, ну просто к примеру ), то МК будет ждать когда закончится прерывание от таймера. Следовательно нужно делать переключение задач, что собсно и есть зародыш ОС


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 21:53 
Не в сети
Аватара пользователя

Зарегистрирован: 15 сен 2007, 13:03
Сообщения: 6338
Откуда: Красноярск
прог. языки: ASM(МК), C(PC)
ФИО: Гагарский Андрей Александрович
зародыш - да... но тем не менее это частное и более правильное решение конкретной задачи...

_________________
«Как сердцу выразить себя? … Мысль изреченная есть ложь!»
В этом мире меня подводит доброта и порядочность...
"двое смотрят в лужу, один видит лужу, другой отраженные в ней звезды"


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Микрооперационная система реального времени
СообщениеДобавлено: 31 мар 2009, 22:28 
Не в сети
Аватара пользователя

Зарегистрирован: 08 окт 2004, 16:43
Сообщения: 2114
Откуда: St. Petersburg
Skype: quark-bot
ФИО: Клебан Виталий
ОС.
1. У вас есть многоканальная система управления, а контроллер всего один.
2. Во время работы ваша система должна запускать и останавливать некоторые задачи (процессы).
3. Опрос каналов должен производится с определенным темпом.

Как тут использовать прерывания? Посчитать все по тактам? А как тогда быть с новыми процессами в контроллере? А для того чтобы добавить процесс нужно перекраивать систему прерываний? Как долго проживут вложенные друг в друга прерывания?

_________________
Все новости о моих проектах http://savethebest.ru


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 68 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

Часовой пояс: UTC + 4 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 16


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
phpBB SEO