|
|
  |
Сложные программы |
|
|
|
Jan 9 2017, 14:13
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (Эдди @ Jan 9 2017, 21:45)  Только ртось еще кучу ресурсов тратит на сохранение регистров при смене задач. Куча - это эмоции. А в цифрах сколько? QUOTE (Эдди @ Jan 9 2017, 21:45)  Ну и где здесь преимущества? Если их для вас пока нет, то не используйте ось. Я вижу преимущества как в КА, в ОС, так и хоть в мэйнлупе  Всё имеет право на жизнь в каждом конкретном случае  QUOTE (Эдди @ Jan 9 2017, 21:45)  В ртоси таймер поочередно пинает параллельные задачи, в случае КА абсолютно то же самое выполняется последовательно. Это очень примитивное объяснение сущности ОС. Я бы сказал, что ОС это событийно-ориентированная машина, которая отдаёт время наиболее приоритетной задачи, если ей есть что делать. Одновременно предоставляя все необходимые для этого сервисы. В КА вы тоже самое не сделаете, а если сделаете, то получите ОС. Более того, благодаря сохранению контекста (регистров) в стеке, в любое время можно прервать любую задачу и передать управление любой (ну не совсем любой) другой.
--------------------
Выбор.
|
|
|
|
|
Jan 9 2017, 15:22
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Эдди @ Jan 9 2017, 15:45)  Ну и где здесь преимущества? Почему вы думаете, что я вам прописываю RTOS? Если вы не хотите рассказать о своих проблемах, как же я вам помогу? Цитата(zltigo @ Jan 9 2017, 15:52)  Если есть законченные автоматы состояний, то они взаимодействуют через изменения СОСТОЯНИЙ друг друга. Так что Все Ваши последующие фантазии про роль флагов, их количество и размазанность по автоматам, к делу не относятся. Если я спрошу, а чем же взаимодействуют автоматы если не флагами, то наверно встречу поток ругани.
|
|
|
|
|
Jan 9 2017, 16:13
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(AlexandrY @ Jan 9 2017, 17:22)  Если я спрошу, а чем же взаимодействуют автоматы если не флагами, то наверно встречу поток ругани.  Чукча писатель? Но все же читаем: Цитата они взаимодействуют через изменения СОСТОЯНИЙ друг друга Если для Вас, что флаги которые могут использоваться опционально для внутренних интимных дел каждого автомата, что глобальные состояния конечного автомата все едино, то тут уже на Вашем уровне понимания, дальше объяснять бесполезно  .
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Jan 9 2017, 18:57
|
Частый гость
 
Группа: Участник
Сообщений: 197
Регистрация: 8-07-16
Пользователь №: 92 484

|
Цитата(haker_fox @ Jan 9 2017, 15:13)  Это очень примитивное объяснение сущности ОС. Я бы сказал, что ОС это событийно-ориентированная машина, которая отдаёт время наиболее приоритетной задачи, если ей есть что делать. Одновременно предоставляя все необходимые для этого сервисы. В КА вы тоже самое не сделаете, а если сделаете, то получите ОС. Более того, благодаря сохранению контекста (регистров) в стеке, в любое время можно прервать любую задачу и передать управление любой (ну не совсем любой) другой. Это очень примитивное объяснение сущности ОС. Вы пишите "ОС это событийно-ориентированная машина, которая отдаёт время наиболее приоритетной задачи, если ей есть что делать". Но вы забываете. что в функции ОС входит ТАКЖЕ расчет и динамическое изменение приоритетов задач, обеспечение интерфейса для взаимодействия и синхронизации между задачами, а также предотвращение деад локов. Цитата(AlexandrY @ Jan 9 2017, 14:20)  Просто вы не поняли что я написал.
Но для других объясню. ... И тут на помощь вам приходит RTOS , когда вы из одной задачи молча убиваете задачу, вместо того чтобы передавать ей некие флаги чтобы она остановилась или еще что сделала. Связность ваших программных модулей резко снижается. Память ваша высвобождается и отдыхает.
А MQX убитые задачи перед кончиной еще и вызывают специальный callback, где можно оповестить всех заинтересованных, что задачи больше нет и почему. В этом смысле да. RTOS упрощает жизнь когда нужно чтобы несколько десятков задач (причем разного масштаба времени) реального времени работали параллельно. После того, как реализовано ядро и базовые сервисы, решение такой задачи сильно упрощается. Можно разбивать задачу на отдельные слабо связанные или даже не связанные части, которые прозрачно работают квазипараллельно и имеют универсальный интерфейс взаимодействия. А если еще проработан механизм динамического изменения приоритета и предотвращения деадлоков. то вообще все в шоколаде. Короче РТОС нужна где есть МНОГОЗАДАЧНОСТЬ (и причем задачи реального времени) и разделение ресурсов.
|
|
|
|
|
Jan 9 2017, 19:35
|
Частый гость
 
Группа: Свой
Сообщений: 113
Регистрация: 25-10-07
Из: Краснодар
Пользователь №: 31 725

|
Цитата(Укушенный воблой @ Jan 9 2017, 21:57)  предотвращения деадлоков А у кого и РТОС есть подобная фича?
|
|
|
|
|
Jan 9 2017, 19:56
|
Частый гость
 
Группа: Участник
Сообщений: 197
Регистрация: 8-07-16
Пользователь №: 92 484

|
У меня  Благодаря специально мной спроектированной интеллектуальной дисциплине диспетчеризации у меня невозможно чтобы поток "завис" или "заблокировался". Ну естественно приоритеты у меня динамические. Точнее сумма стат + дин приоритетов. Типа как в венде Ими ядро управляет А задачи и потоки у меня обязаны иметь раздел описания модели своего поведения на языке моей RTOS. Тогда RTOS может проанализировать всю их совокупность и обнаружить возможные дедлоки
Сообщение отредактировал Укушенный воблой - Jan 9 2017, 19:47
|
|
|
|
|
Jan 9 2017, 20:07
|
Частый гость
 
Группа: Свой
Сообщений: 113
Регистрация: 25-10-07
Из: Краснодар
Пользователь №: 31 725

|
Цитата(Укушенный воблой @ Jan 9 2017, 22:41)  невозможно чтобы поток "завис" или "заблокировался". а можно чуть больше деталей? как разруливается ситуация взаимной блокировки? что происходит с потоками, которые в нее попали? Цитата(Укушенный воблой @ Jan 9 2017, 22:41)  Типа как в венде Это в той, про которую бородатый анекдот? Цитата - Папа, а что такое многозадачность Windows? - Подожди, сейчас дискету доформатирую - тогда покажу...
|
|
|
|
|
Jan 9 2017, 20:45
|
Частый гость
 
Группа: Участник
Сообщений: 197
Регистрация: 8-07-16
Пользователь №: 92 484

|
Цитата(desh @ Jan 9 2017, 21:07)  а можно чуть больше деталей? как разруливается ситуация взаимной блокировки? что происходит с потоками, которые в нее попали? Может кому-то это покажется смешно, но это ноу-хау. До которого НИКТО в мире пока не додумался. НИКТО. Я узнавал. И постоянно мониторю инет насчет этого. Хотя идея достаточно проста и "лежит на поверхности". Поэтому вот так запросто, походя, рассказывать всем за "просто так" решение проблемы, которую не смогли решить "лучшие умы мира", я, извините, не буду. Теперь можете смеяться сколько влезет. Я все сказал Цитата(desh @ Jan 9 2017, 21:07)  Это в той, про которую бородатый анекдот?  Я сказал "типа как в венде", а не "точно как в венде". Поэтому у меня ОС реального времени. а не как венда. Поэтому у меня потоки никогда не зависают и всегда проходят контрольные точки на временной оси с заданной дельтой тэ. Весь секрет в проектировании системы и выборе процессора А вообще, RTOS и прочее "ногодрыганье" для программиста не сложная задача. А вот написать какой-нибудь парсер, компилятор, IDE, САПР для 3D, экспертную систему с ИИ - вот это реально "сложные программы"
|
|
|
|
|
Jan 9 2017, 21:53
|

Ally
     
Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050

|
Цитата(Укушенный воблой @ Jan 9 2017, 22:45)  ... До которого НИКТО в мире пока не додумался. НИКТО. ... Ну вылитый неуловимый Джо. Ни у меня никогда такого не случалось , ни в страшилках бродячих по инетам я не читал чтоб кто-то страдал от зависания потоков. Вот инверсия приоритетов это да, почему-то бичь у NASA и подобных контор. Правда она там длится буквально миллисекунды, но они к этому панически относятся. В MQX все! сервисы синхронизации имеют таймаут. Цитата(zltigo @ Jan 9 2017, 18:13)  Если для Вас, что флаги которые могут использоваться опционально для внутренних интимных дел каждого автомата, что глобальные состояния конечного автомата все едино, то тут уже на Вашем уровне понимания, дальше объяснять бесполезно  . Чисто схоластически отмечу, что если автомат напрямую меняет переменную стостояния другого автомата, то это один и тот же автомат.
|
|
|
|
|
Jan 10 2017, 00:41
|

Познающий...
     
Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125

|
QUOTE (Укушенный воблой @ Jan 10 2017, 02:57)  Но вы забываете. С чего вы это решили? QUOTE (Укушенный воблой @ Jan 10 2017, 02:57)  в функции ОС входит ТАКЖЕ расчет и динамическое изменение приоритетов задач Да ну?  scmRTOS не менят приоритеты задач на ходу, они там статически задаются на этапе линковки, и тем не менее, это ОС. QUOTE (Укушенный воблой @ Jan 10 2017, 02:57)  обеспечение интерфейса для взаимодействия и синхронизации между задачами, а также предотвращение деад локов. Я написал, что "Одновременно предоставляя все необходимые для этого сервисы". Ваш троллинг не удался.
--------------------
Выбор.
|
|
|
|
|
Jan 10 2017, 02:23
|
Гуру
     
Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823

|
Цитата(Буратино @ Jan 4 2017, 09:47)  Как вы решали свои задачи, что можете посоветовать посмотреть-почитать? А Вы выложите краткое изложение с примерами, как именно Вы делаете, мы и подскажем. У каждого свой подход, перенимать чужой опыт Вам будет сложно. Например, я практически не иcпользую RTOS, в отличие от выступивших тут апологетов. Конечные автоматы - наше всё
--------------------
Уходя, оставьте свет...
|
|
|
|
|
Jan 10 2017, 08:09
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(AlexandrY @ Jan 9 2017, 23:53)  Чисто схоластически отмечу, что если автомат напрямую меняет переменную стостояния другого автомата, то это один и тот же автомат.  1.Разумеется не один и тот же. 2.Про "напрямую" это Вы сами придумали и неведомо что под этим подразумеваете. Проблема в том, что Вы не реализовывали сколь нибудь сложных конечных автоматов и соответственно не сталкивались с тем, как из оптимально реализовывать, например, стеки протоколов в семиуровневой модели OSI как правило описываюбтся в терминах конечных автоматов и при этом на КАЖДОМ уровне это совершенно свой автомат и еще такая же стопка автоматов на встречной стороне. Причем отдельные уровни реализуются еще и на разном оборудовании разных производителей.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|