Модераторы: xvr
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Системы реального времени, Хочу писать программы для реал-тайм 
:(
    Опции темы
Evgenij
Дата 10.6.2006, 02:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.6.2006

Репутация: нет
Всего: нет



Решил заняться пограммированием на реалтайм системах (чем раньше начну - тем больше буду знать). Купил дистрибутив реал тайм системы Sand Linux для обучения (как в аннотации написано). Поставил и даже не знаю с чего начать? Может кто-нибудь работал с этой системой, или может подскажите какую-нибудь литературу по программированию таких вещей. 
Как я понял, приложение должно выполняться на уровне ядра, как его заставить это сделать?
А самое странное, что раздницы в работе между этим sand linuxom и Fedora 3, я не заметил. Что делать? 
PM MAIL   Вверх
Sardar
Дата 10.6.2006, 02:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: нет
Всего: 317



Evgenij, трудно когда есть желание, но нет потребности/задачи smile

Для начала определись что же ты хочешь писать. Real-time система это обычно память блоками, что бы не было фрагментации, либо вообще заранее выделяем требуемую память в своём process image. Тредов поменьше с кодом попроще. Вообще всё проще, минимум "наворотов", главное надёжность. Вот и думай надо оно тебе (по доброй воле smile ) или нет. 


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Evgenij
Дата 11.6.2006, 01:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.6.2006

Репутация: нет
Всего: нет



Трудно, но уверен за этим будущее, слышал сколько зарабатывают такие программисты даже в России!!!

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

Чего:"Real-time система это обычно память блоками"? Реал тай система это обычно реал тайм планировщикsmile Помоему все зависит от алгоритмов планирования, но конечноже хотелосьбы точного ответа на этот вопрос. 

Да я уверен мне это надо, надеюсь пыл не утихнет, хоть и лето на двореsmile

Если всетаки у тебя есть опыт в программирование для реал-тайма, то посмотри про sand linux и скажи на нем это возможно? Вот ссылка SandLinux 
PM MAIL   Вверх
bilbobagginz
Дата 12.6.2006, 20:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Naughtius Maximus
****


Профиль
Группа: Экс. модератор
Сообщений: 8813
Регистрация: 2.3.2004
Где: Israel

Репутация: 4
Всего: 317



Евгений. зарплаты высокие, да: просто для работы в реальном времени требуется много побочных знаний, обычно напрямую с программированием не всегда связанными - аэро/гидро динамика, аналитическая механика, электроника - иногда всё вместе. для имения оных знаний люди подолгу сидят в универах, и потом, при выходе хотят восполнить 6-7 лет в академии высокой зарплатой. кроме того в реальном времени программируют частенько на низкоуровневых языках, и под специфические процессоры, и на нестандартном оборудовании, и часто перед программированием нужно заниматься пайкой и лобзиком.
если ты ищешь просто легкие деньги - это не самый выигрышный вариант.
и вообще, программирование это очень нелегкие деньги smile
маркетинг, ПиАр,  и т.д. - это немного другое измерение. там и ошибку нелегко отыскать в действиях 'профессионала', а в программировании, особенно в реальном времени: разбивается самолет с человеком - и иди доказывай, что в инжектор турбины попала маринованная редька.

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



пока.

  

Это сообщение отредактировал(а) bilbobagginz - 12.6.2006, 20:14


--------------------
Я ещё не демон. Я только учусь.
PM WWW   Вверх
Evgenij
Дата 14.6.2006, 01:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 10.6.2006

Репутация: нет
Всего: нет



bilbobagginz, Ни о каких легких деньгах я не говорю и не думаю (но мечтаюsmile), но согласитесь программистам под QNX или LynxOS платят побольше чем MS? Но начинать-то с чего-то нужно. Так как денег на вышеописаные системы у меня не хватитsmile я и купил sand linux. Но видимо здесь никто о ней не знаетsmile Может мне тему перенести в другой раздел?

А насчет ОС реального времени: примерно так я себе все и представлял. Спасибо за ответ. 
PM MAIL   Вверх
takedo
Дата 14.6.2006, 07:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 501
Регистрация: 1.6.2005

Репутация: нет
Всего: 3



bilbobagginz, не совсем понял причем здесь аэрогазодинамика и мухи в инжекторах тубрины? Кстати редька никак не попадет, там фильтры стоят smile , а если не по бензопроводу, то придется ей через компрессор пролететь - будет от неё один пшик smile . Что касается реального времени. 
Самый главный вопрос, ответ на который необходимо знать: "Каким образом распределяется процессорное время между потоками с разным приоритетом в этой ОС"? Потому, что реалтайм система - также ограничена возможностями процессора и если бухнуть функцию расчета полета редиски в турбине и ожидать , что она должна завершиться через 1 секунду будет глупо. О чём же это я? А о том, что в системе нереального времени мы запланировав вызов функции f1 через 5 секунд можем никогда(до тех пор пока в системе есть более приоритетные потоки) не получим квант процессорного времени. А что же в реалтайме? Мы зайдём в f1 через 5 секунд +-частота дискретизации. А что дальше? Сколько мы получим времени процессора при наличии все того же более приоритеного потока или нескольких? Я на этот вопрос имею пока смутные представления, поэтому приводить их не буду. 
Evgenij, если ты прочитал кучу книг, может приведёшь выдерки по некоторым ОС по этому поводу? Уверен, что разобравшись с этим вопросом ты и мы вместе с тобой сделаем первый прыжок к большим ганарарам. smile  


--------------------
я не гольфист - я хоккеист
PM MAIL   Вверх
Sardar
Дата 14.6.2006, 10:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: нет
Всего: 317



Цитата(takedo @  14.6.2006,  06:09 Найти цитируемый пост)
Каким образом распределяется процессорное время между потоками с разным приоритетом в этой ОС

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

Цитата(Evgenij @  11.6.2006,  00:26 Найти цитируемый пост)
Если всетаки у тебя есть опыт в программирование для реал-тайма, то посмотри про sand linux и скажи на нем это возможно? 

Заявлена как RTOS, известно точное время отклика, значит в real-time окружении пользоваться может, надёжность конечно в расчёт не берёться. Сам пользовался RZK от Zilog'а и XINU в ранних Zilog Software Suite (веб сервер, ftp сервер, шел и прочее).

Цитата(Evgenij @  11.6.2006,  00:26 Найти цитируемый пост)
программа написаная и выполняющаяся на операционной системе реального времени, использующая соответствующие библиотеки и отвечающая заранее оговоренным требованиям

Также обычно прога вместе с системой должна быть способна работать десяток лет "без перезагрузки" (пользуеться память блоками, что бы избежать фрагментации). Должно быть точно известно сколько максимум памяти прога может потребить, поэтому часто прога выделяет всю необходимую ей память и разделяет её сама на массивы структур. Естественно памяти потребляеться много, но нет издержек на поиск и выделение динамической памяти и точно известно сколько её нужно. Стек вещь не резиновая, обычно должна быть точно известна максимальная глубина стека, алгоритмы с рекурсией не в почёте. Блокировки все с таймаутами, если что прога аккуратно вылетает. Вообщем программить для real-time окружения это масса ограничений и большая ответственность, поэтому "рюшечек" в твоей проге будет минимум, отсюда низкий интерес у креативных программистов. А вот когда тебе за 40, большой опыт и нет желания итди в архитекторы софта, то real-time будет новым рубежом со свежими идеями (акцент делай на "большой опыт", отсюда ответственонсть за то что ты делаешь smile ).    


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С/С++: Программирование под Unix/Linux"
xvr
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой "Код".
  • Вопросы мобильной разработки тут
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, xvr.

 
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Программирование под Unix/Linux | Следующая тема »


 




[ Время генерации скрипта: 0.0847 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.