Современные технологии автоматизации» («СТА») —  журнал для квалифицированных специалистов по промышленной автоматизации Форум СТА — современные технологии автоматизации Домашняя страница
Домашняя страница форума CTA Домашняя страница форума CTA > II. АСУТП и SCADA > Архив
  Активные темы Активные темы
  FAQ FAQ  Искать в форуме   Зарегистрироваться Зарегистрироваться  Вход в систему Вход в систему

реал тайм осы

 Ответить Ответить Страница  <1 3132333435 36>
Автор
Сообщение
evgen Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 08 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 178
Свойства публикации Свойства публикации   Ответить, цитируя автора - evgen Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Тема сообщения: реал тайм осы
    Опубликовано: 30 Ноябрь 2003 17:53
Первоначально опубликовано Sergey Sorokin


В МЭК есть стандарты по функциональной безопасности (я, по моему, в форуме их номера приводил). Там эти вопросы рассмотрены с системной точки зрения.



Номера можно найти, но что с ними дальше делать ?
Это такой тонкий намек - что неплохо было бы собрать в кучу все стандарты, имеющие отношение к СТА, или на худой конец - прямые ссылки на них...Скажем, в разделе "ссылки"...

SY,
EK
SY,
EK
Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 30 Ноябрь 2003 19:05
Первоначально опубликовано evgen

Первоначально опубликовано Sergey Sorokin


В МЭК есть стандарты по функциональной безопасности (я, по моему, в форуме их номера приводил). Там эти вопросы рассмотрены с системной точки зрения.



Номера можно найти, но что с ними дальше делать ?
Это такой тонкий намек - что неплохо было бы собрать в кучу все стандарты, имеющие отношение к СТА, или на худой конец - прямые ссылки на них...Скажем, в разделе "ссылки"...

SY,
EK

Если есть такие ссылки, присылайте в редакцию. Думаю можно открыть специальный раздел на сайте СТА с полезными ссылками.

Проблема в том, что многие организации не разрешают какую либо публикацию своих стандартов (в том числе в интернете) без их разрешения (то есть МЭКовские стандарты в интернете - это скорее некое не вполне законное исключение, чем правило). Тот же МЭК стандарты продает. Поэтому если Вам нужен какой нибудь МЭКовский стандарт, то можно его купить в самом МЭК или в Госстандарте, либо в том же Госстандарте купить соответствующий ГОСТ, если стандарт уже переведен на русский.

С Уважением,

Сергей Сорокин

 

Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Декабрь 2003 00:50

Первоначально опубликовано Draggan

Одним из механизмов защиты от такой ситуации является технология Priority Ceiling Protocol. В соответствии с ней объекту синхронизации (семафору или мютексу не важно) присваивается некий приоритет, соответствущий самому высокому приоритету из списка потоков, к нему собирающихся обратиться. И когда не самый высокоприоритеный поток блокирует этот объект синхронизации его приоритет системой поднимается до значения, соответствующего приоритету обекта управления. Таким образом, поток, захвативший ресурс не может быть прерван внутри critical section более приоритетным потоком, нуждающимся в этом ресурсе.


Здесь видится несколько проблем.

1) Подход работает только для систем со статической приоритизацией.

2) На этапе разработки нужно всем ресурсам присвоить ceiling число соответствующее максимальному приоритету из всех потоков, которые к этому ресурсу только СОБИРАЮТСЯ обращаться. Соответственно при скажем удалении из одного из потоков обращения к какому нибудь ресурсу (и при добавлении обращения) надо проверить не нужно ли изменить ceiling число этого ресурса. При изменении приоритета потока нужно просмотреть и при необходимости изменить ceiling числа всех ресурсов к каким этот поток может обратиться. При сложных проектах отслеживание такого рода зависимостей может превратиться в настоящую головную боль. Можно конечно предусмотреть динамическую регистрацию вновь запущенных потоков у "своих" ресурсов, но головная боль остается, так как сами ресурсы (семафоры) могут быть динамическими и в общем случае могут образовываться после потоков, которые будут ими пользоваться.

3) В общем случае не происходит улушения динамических свойств системы по сравнению с вариантом наследования приоритетов (в том смысле как я об этом писал - на время "пропихивания застрявшего потока"). Например если какой то ресурс может использоваться высокоприоритетной задачей раз в секунду и этот же ресурс используется низкоприоритетной задачей раз в 1 мсек, то ceiling число семафора будет равно высокому приоритету, в результате чего каждую миллисекунду низкоприоритетный поток будет всех блокировать (включая высокоприоритетную задачу), несмотря на то что никакому другому потоку этот ресурс даром не нужен ближайшие 1000 мсек.

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

Первоначально опубликовано Draggan

Ими был разработан математический аппарат, называемый
Rate Monotonic Scheduling (RMS). Этот математический аппарат позволяет формально описать условия для предсказуемой
(детерминированной) системы. Теория эта применяется только для фиксированных приоритетов, хотя динамические приоритеты могли бы
дать лучшие результаты, на сегодняшний день отсутствует математический аппарат для их описания.
При использовании RMS необходимо устанавливать свой уровень приоритета для каждого РВ потока. Соответственно необходимо большое
число уровней приоритетов. В связи с этим рекомендованным для ОСРВ колличеством уровней приоритетов является 128 доступных
фиксированных уровней.

Пролистал я эту статью. Действительно RMS рассматривается для весьма ограниченного класса задач. Потоки периодичны, длительности времени выполнения каждого протока известны и постоянны. Я не увидел никаких преимуществ RMS по сравнению с динамической планировкой "earliest-deadline-first". Реальные процессы могут быть не только непериодическими, но и вообще не стационарными. Возможны ситуации когда запрашиваются ресурсы превышающие 100% имеющихся. В этом случае нужно оттеснять задачи "мягкого" реального времени. То есть я бы для планировщика EDF предусмотрел бы для каждого потока 2 дедлайна со значениями штрафа за просрочку каждого (для потока ЖРВ штраф уже за первый дедлайн должен быть бесконечным). Моменты планировки могли бы быть те же, что и в классической вытесняющей многозадачности. Если дедлайнов много, для их постоянного движения по внутренней "оси времени" можно использовать алгоритмы инкрементных таймеров. Для работы с потоками "мягкого" реального времени понадобится информация о длительностях исполнения этих "мягких" потоков (желательна связь с профилировщиком или "хитрым" компилятором).  И т.п. Но это все опять может быть интересно наверное только тому кто диссертации пишет, а таких сейчас мало. Важнее научиться правильно применять доступные коммерческие ОС.

С Уважением,

Сергей Сорокин

 

 

 


 

Наверх
Olej Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 14 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 267
Свойства публикации Свойства публикации   Ответить, цитируя автора - Olej Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Декабрь 2003 00:59
Я работал в достаточно многих OS, и "да" - QNX мне откровенно нравится, когда есть с чем сравнивать... - это красивая OS, красивая своей архитектурой - именно так (кстати - здесь можно смеяться - я не один раз слышал от приверженцев QNX, пришедших из других OS, именно этот термин: "красивая" - здесь ещё примешиваются и эстетические критерии)! Но QSSL мне не сват и не брат... я не торгую OS QNX... и не предлагаю по найму свои услуги в этой OS через форумы... Я никому не стараюсь навязывть QNX как оптимальное решение. Если бы затра появилась OS, более характерно вписывающаяся в категорию RTOS - я бы с удовольствием сел за её разгребание, и приводил сравнения на основе именно её характеристик. Но мы ведь говорим в этой теме об RTOS, а не о конкретной OS QNX? На последнее время, как мне кажется, был ешё относительно удачный кандидат для рассмотрения - pSOS, но у неё нет такой динамики развития.. или вовсе нет никакой динамики?...

Первоначально опубликовано Draggan

Странно evgen, зачем Вы передергиваете? Ведь понятно о чем говорил Olej НЕТ ОБЩЕГО МНЕНИЯ, есть мнение индивидуальные , субъективные и в этом смысле QNX сообщества нет, а в смысле сообщества людей, которым нравится работать с этой системой, которым интерестны ее задачи - да есть. И скажу прямо, не многие ОС могут похвастаться столь дружными и активными сообществами разработчиков.


Это - достаточно точное замечание, соответствующее тому, что я написал выше: есть сообщество специалистов, работающих на сегодня с OS QNX (если вам хочется именно определения "сообщество"), но отнюдь нет какого либо фанатичного сообщества "приверженцев" QNX (это же - не футбол, я, кажется, писал...). И работает этот круг лиц, кстати - совершенно не слабо, именно поэтому я показывал не раз на URL: qnx.org.ru - потому, что там можно посмотреть на результаты того, что наработано... Но появись завтра более удачная альтернатива - и многие из нас будут работать с ней.
Наверх
Владимир Е. Зюбин Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 09 Сентябрь 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 247
Свойства публикации Свойства публикации   Ответить, цитируя автора - Владимир Е. Зюбин Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Декабрь 2003 13:16
Первоначально опубликовано Sergey Sorokin

Первоначально опубликовано Владимир Е. Зюбин

1. В стандартах я неплохо ориентируюсь, и еще раз Вам
повторю стандарт на 500 стр. - это полная ахинея.
Средний размер ГОСТа из состава ЕСПД примерно 1,5
(полторы) страницы формата А5.


Я не вижу прямой связи между качеством стандарта и его объемом. Объем как правило определяется содержанием стандарта. Если документ описывает набор функций API (будь это стандарт Posix или "нестандарт" Win32) и число этих функций достигает нескольких тысяч, то документ физически не может быть маленьким. Описание Win32 - это то же несколько толстых книжек. Тем не менее, для того что бы пользоваться стандартом совсем не обязательно его весь изучать. К тому же довольно большая часть функций API операционных систем (даже в том же ДОС) сохраняется для обеспечения совместимости с предыдущими версиями ОС (и соответствующих стандартов), а на практике в новых разработках практически не используются.




Проблема fat-стандартов в том, что они непрактичны.
Людям нужно работать, а не изучать талмудистскую
литературу... Может из-за этого, в том же КНХ есть
проблемы с ПОЗИКС... (об этом косвенно говорится в
исследованиях дидикатед-системс)

Первоначально опубликовано Sergey Sorokin


Первоначально опубликовано Владимир Е. Зюбин


1. Я Вам так скажу: не надо меня агитировать не применять
диск-своппинг, я его не применяю, скажу больше, я даже
ОЗУ не применяю, обхожусь кэшем первого уровня... Просто
очевидно, что если есть диск-своппинг и он разрешен, то
он будет использоваться и при трансляции и при работе...
Согласитесь, что своппинговать гораздо лучше, чем вообще
ничего не делать, зависнув от нехватки ресурсов...


Я не знаю как организован свопинг в QNX. Но если предположить что у разработчиков QSSL с головой все в порядке, то не должно быть автоматического разрешения свопинга для всех приложений запущенных на каком либо узле. То есть, если при разработке приложения (желательно на уровне исходных текстов) свопинг не предусмотрен, то как бы на уровне ОС я этот свопинг не разрешал, он у меня для этого приложения работать не будет.


С Уважением,


Сергей Сорокин


 



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

Вот так. Как это не грустно слышать всем любителям
calloc, malloc, а равно, рекурсий и ООП.
Владимир Е. Зюбин
Язык Рефлекс -- Си-подобный язык программирования ПЛК
http://reflex-language.narod.ru/
Наверх
Draggan Смотреть выпадающим
Участник
Участник


Присоединился: 31 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 52
Свойства публикации Свойства публикации   Ответить, цитируя автора - Draggan Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Декабрь 2003 15:22
Первоначально опубликовано Sergey Sorokin


Здесь видится несколько проблем.



Однозначно с Вами согласен. Проблемы весьма серьезные, что, по видимому и не повлекло особого распространения этого механизма. Олег писал, что PCP, если я ничего не путаю, был реализован в San Solaris, как опциональная возможность, наряду с классическим наследованием приоритетов. Единственный момент, который меня в этом механизме привлек, это потенциальная возможность его реализации самим разработчиком прикладной системы. Хотя тут конечно масса сложностей, в том числе и тех, о которых Вы говорили, но в ОС где нет защиты от инверсии, а по каким-то причинам ввести эту защиту надо, этот механизм оказывается чуть-ли не единственным выходом.
Первоначально опубликовано Sergey Sorokin


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



Очень интерестно. Не для диссера, я свой в общем-то уже защитил, а на докторскую пока не тянет :-). По специфике своей области (радиофизика) я, в общем, привык к необходимости серьезного отношения к теории, что, к сожалению, не часто встретишь в программировании.
Не могли бы Вы в двух словах о транзакционным методах? В принципе направление из названия понятно, но интерестно уточнить.
Первоначально опубликовано Sergey Sorokin


Пролистал я эту статью. Действительно RMS рассматривается для весьма ограниченного класса задач. Потоки периодичны, длительности времени выполнения каждого протока известны и постоянны. Я не увидел никаких преимуществ RMS по сравнению с динамической планировкой "earliest-deadline-first". Реальные процессы могут быть не только непериодическими, но и вообще не стационарными. Возможны ситуации когда запрашиваются ресурсы превышающие 100% имеющихся. В этом случае нужно оттеснять задачи "мягкого" реального времени. То есть я бы для планировщика EDF предусмотрел бы для каждого потока 2 дедлайна со значениями штрафа за просрочку каждого (для потока ЖРВ штраф уже за первый дедлайн должен быть бесконечным). Моменты планировки могли бы быть те же, что и в классической вытесняющей многозадачности. Если дедлайнов много, для их постоянного движения по внутренней "оси времени" можно использовать алгоритмы инкрементных таймеров. Для работы с потоками "мягкого" реального времени понадобится информация о длительностях исполнения этих "мягких" потоков (желательна связь с профилировщиком или "хитрым" компилятором).  И т.п. Но это все опять может быть интересно наверное только тому кто диссертации пишет, а таких сейчас мало. Важнее научиться правильно применять доступные коммерческие ОС.


С Уважением,


Сергей Сорокин



Вот тут Вы не вполне правы. Ведь статья Лиу и Лейланда - 70х годов, с тех пор утекло много воды. Давая ту ссылку я просто указал на источник этой теории. Я немного порылся в инете и скажу Вам, что эта теория явно получила свое дальнейшее развитие. Например здесь я указывал статью Zalewski, достаточно простую и ориентированную в первую очередь на инженеров. Там опущена математика и идут непосредственные рекомендации по применению методики анализа СРВ. Там же кстати показывается опастности методики earlier-deadline-first, и рекомендуетя, скажем, fasters-execution-first (что соответствует RMS)и как при такой методике оценить попадание в deadline каждого потока, какие потоки мешают этому и т.д. Но конечно остается проблема в определении времени выполнения потока. Я как бы не уверен, что я полностью разобрался в СОВРЕМЕННОМ состоянии RMS и Вам советую не быть уверенным. Колличество цитирований огромно, литературы по этому поводу море, что, конечно, затрудняет отделение зерен от плевел.
Что меня все-таки подталкивает к изучени этого механизма, так это тот факт, что разработчики ОС столь высоко ценят эту теорию, и ради возможности ее применения в их системах идут на определенные издержки.
Draggan
Kharkov, QNX Seminars
Наверх
Draggan Смотреть выпадающим
Участник
Участник


Присоединился: 31 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 52
Свойства публикации Свойства публикации   Ответить, цитируя автора - Draggan Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 01 Декабрь 2003 15:22
Первоначально опубликовано Sergey Sorokin


В данной трактовке эта часть определения действительно обретает смысл. Но ведь есть и другая часть определения "непредсказуемые внешние события". Раз "предсказуемо" - это ПРАВИЛЬНО и ВОВРЕМЯ, то непредсказуемо это что?


1) НЕПРАВИЛЬНО и НЕВОВРЕМЯ 2) ПРАВИЛЬНО но НЕВОВРЕМЯ 3) НЕПРАВИЛЬНО или НЕВОВРЕМЯ 4) ПРАВИЛЬНО но неизвестно когда и будет ли вообще 5) ПРАВИЛЬНО но не совсем точно известно когда и т.п.


Не слишком ли много подразумеваний даже для специалистов? Не проще ли в ущерб может быть красивой игре слов, взять и раскрыть подразумеваемость. Тогда получится


"Система реального времени - это система, ПРАВИЛЬНО и ВОВРЕМЯ реагирующая на внешние события."


При этом остаются две подразумеваемости


1) Слово "событие" - уже в самом себе содержит возможность своей "случайности/непредсказуемости/недетерминированности_во_времени". В то же время это определение покрывает случаи когда внешние события, на которые должна реагировать система, - являются детерминированными. Для системы детерминированность естественно соотносится с разрешающей способностью системы по времени (скажем внешнее событие повторяющееся каждую секунду плюс/минус одна пикосекунда, будет для системы детерминированным так как система не может различать интервал в 1 пикосекунду) .


2) Подразумевается, что речь идет о событиях существенных для выполнения целевой функции системы, то есть о событиях для реагирования на которые ситема и создавалась.


Но даже и в этом кратком определении есть логическая проблема, из-за которой я бы убрал из него слово "ПРАВИЛЬНО".


То есть может быть ситуация, когда СРВ, то есть система управления чьи динамические свойства адекватны скорости протекания техпроцессов в управляемом объекте, будет управлять этим объектом НЕПРАВИЛЬНО.


Зато определение получится еще короче.


"Система реального времени - это система, ВОВРЕМЯ реагирующая на внешние события."


 


С Уважением,


Сергей Сорокин


 


Соглсен. Убедили. По русски так наверно звучит лучьше :-)
Я, в общем, по здравому размышлению пришел к тем же выводам. Однако использовать эту идею все-же можно.
На мой взгляд наиболее точно идее реалтайма соответсвует комбинация из двух определений:
1. Ваше :-) из статьи Системы реального времени:
СРВ это системы в которых важна не только правильность вычислений и логических решений но и время их выполнения. (моя вольная трактовка :-))
2. Определение IEEE - что СРВ предназначены для контроля некоего внешнего процесса, при этом время выполнение операций и логических решений определяется временными характеристиками этого процесса.

То есть, самым важным для разработчика СРВ является задача не пропустить deadline. А предсказуемость всех элементов СРВ ( прикладных программ, ОСРВ, целевой системы) как раз и является тем необходимым свойством, которое позволяет разработчику быть уверенным в надежности и вообще работоспособности его системы.
То есть предсказуемость это необходимое свойство ОСРВ систем, отличающее их от систем общего назначения.
А уже свойство предсказуемости диктует функциональные требования к ОСРВ системе. При этом в принципе систма может быть и не многозадачной. Те же дедикейтед системз приводят архитектуру MS-DOS как пример построения ОСРВ лет десять назад (в исторической ретроспективе). Однако для современных ОСРВ систем многозадачность - есть естественное положение вещей. То есть при наличии многозадачности уж однозадачность реализовать не сложно. А вот в многозадачной/многопоточной системе реализовать свойство ПРЕДСКАЗУЕМОСТИ уже проблема и Вы совершенно справедливо это заметили здесь на форуме.
Из этих же требований исходит и специфика реализации объектов синхронизации в ОСРВ. Они не только должны быть в системе как таковые, но и их поведение должно быть соответствующим (скажем предсказуемые и высокие времена отработки своих функций).
Плюс к этому обязательная защита от инверсии приоритетов, вынесенная как отдельное требование.
Ну и конечно латенции во всех своих видах, от переключения потоков до обработки прерываний. Сюда также относятся не слишком важные для GPOS требования по стрес-тестам (например обработка двух прерываний первое с низким приоритетом, а второе с высоким, пришедших с небольшим временным разрывом в указанном порядке).
Так что именно предсказуемость (временная) поведения системы и является, в общем-то, основным критерием ОСРВ(!) системы. Если некая GPOS по критерию предсказуемости отвечает требованиям объекта то - прекрастно, она вполне может использоваться как ОСРВ.
Но, таже инверсия приоритетов может оказаться непреодолимым препятствием.
Draggan
Kharkov, QNX Seminars
Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 02 Декабрь 2003 02:01

Первоначально опубликовано Draggan


Не могли бы Вы в двух словах о транзакционным методах? В принципе направление из названия понятно, но интерестно уточнить.

Идея довольно простая и реализует упомянутый в моей статье принцип при захвате ресурсов - "или все или ничего". То есть процесс для успешной работы которого нужно сразу несколько ресурсов может запрашивать у ОС эти ресурсы списком. Весь список обрабатывается ОС как единая транзакция. Транзакция заканчивается успешно только если все ее операции закончились успешно. Несколько процессов могут сгенерировать несколько таких запросов-транзакций к ОС в том числе содержащих запросы на захват одного и того же ресурса. Если при обработке транзакции нужно захватить ресурс уже захваченный успешной транзакцией, транзакция ждет освобождения этого ресурса (при необходимости наследуя свой приоритет захватившему ресурс процессу). Если ресурс захвачен еще не законченной (параллельно выполняемой) транзакцией, то транзакция либо как в предыдущем случае ждет конкурента, либо откатывает конкурирующую транзакцию - освобождает необходимый ресурс. При необходимости откат может происходить к самому началу (то есть освобождаются все захваченные к тому времени откатываемой транзакцией ресурсы). ОС откатывает конкурирующую транзакцию, например, если наша транзакция сгенерирована более приоритетным процессом или при равных приоритетах успела захватить больше ресурсов. Транзакция это конечно условное название, так как порядок захвата ресурсов внутри транзакции не важен. Можно назвать такого рода механизм пакетным захватом ресурсов. То есть только когда все запрошенные ресурсы захвачены, транзакция считается успешно законченной, а процесс ждущий ее окончания разблокируется и продолжает работу. Проблемы с взаимными блокировками решаются обработчиком транзакций ОС, прикладному программисту достаточно поместить в пакет (или соответствующим образом оформить в последовательность вызовов) список одновременно необходимых ресурсов.

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

Первоначально опубликовано Draggan

Например здесь я указывал статью Zalewski, достаточно простую и ориентированную в первую очередь на инженеров. Там опущена математика и идут непосредственные рекомендации по применению методики анализа СРВ. Там же кстати показывается опастности методики earlier-deadline-first, и рекомендуетя, скажем, fasters-execution-first (что соответствует RMS)и как при такой методике оценить попадание в deadline каждого потока, какие потоки мешают этому и т.д.

В статье Zalewski на которую Вы давали ссылку (http://www-md.e-technik.uni-rostock.de/ma/gol/ebsys.htm откуда потом http://www-md.e-technik.uni-rostock.de/ma/gol/bsys/pdf/whatevereyeng.pdf) я не нашел описания опасностей методики earlier-deadline-first и какого либо упоминания про fasters-execution-first.

С Уважением,

Сергей Сорокин

 

Наверх
Sergey Sorokin Смотреть выпадающим
Действительный член
Действительный член


Присоединился: 27 Март 2003
Категория: Russian Federation
Online Status: Offline
Публикации: 240
Свойства публикации Свойства публикации   Ответить, цитируя автора - Sergey Sorokin Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 02 Декабрь 2003 02:29

Первоначально опубликовано Владимир Е. Зюбин


Проблема fat-стандартов в том, что они непрактичны.
Людям нужно работать, а не изучать талмудистскую
литературу... Может из-за этого, в том же КНХ есть
проблемы с ПОЗИКС... (об этом косвенно говорится в
исследованиях дидикатед-системс) ]

Ничего не могу сказать про проблемы КНХ, но мне трудно представить человека, который сразу начнет работать в области программирования ничего не изучая. Скажем начать программировать на С, не прочтя ни строчки из толстых книжек про то как это делать. Некоторые стандарты fat просто потому, что они не могут быть другими. Хотя возможно Вы знаете как описать несколько тысяч вызовов API ОС на 10 страницах. 

Первоначально опубликовано Владимир Е. Зюбин


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

Вот так. Как это не грустно слышать всем любителям
calloc, malloc, а равно, рекурсий и ООП.

Я не очень понял в чем Вы видите проблему. Во многих приложениях память распредляется статически при запуске, а во время выполнения динамически вообще не аллокируется. Если же какой либо программе от системы динамически требуется память, а у системы памяти больше нет, то система возврашает этой программе в ответ на ее запрос кукиш с маслом. Что с этим кукишем делать - проблемы разработчика программы, не вижу здесь фатализма с точки зрения "грохания системы".

С Уважением,

Сергей Сорокин

 

Наверх
Draggan Смотреть выпадающим
Участник
Участник


Присоединился: 31 Октябрь 2003
Категория: Ukraine
Online Status: Offline
Публикации: 52
Свойства публикации Свойства публикации   Ответить, цитируя автора - Draggan Ответить, цитируя автора -  ОтветитьОтвет Прямая ссылка на эту публикацию Опубликовано: 02 Декабрь 2003 10:15
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
В статье Zalewski на которую Вы давали ссылку (http://www-md.e-technik.uni-rostock.de/ma/gol/ ebsys.htm откуда потом http://www-md.e-technik.uni-rostock.de/ma/gol/bsys/pdf/whatevereyeng.pdf) я не нашел описания опасностей методики earlier-deadline-first и какого либо упоминания про fasters-execution-first.

С Уважением,

Сергей Сорокин
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Сильно прошу прощения, виноват, исправлюсь. :-)
Совсем заработался и все перепутал. Конечно в этой статье критикуетеся не earlier-deadline-first а установка приоритетов по важности задачи и обсуждается расстановка по периодичности дедлайнов, что, как я понимаю, весьма близко к earlier-deadline-first (если только это не оно и есть).
А не могли бы Вы дать ссылочку на какую-нибудь статью по earlier-deadline-first? Интерестно почитать и сравнить. Может мы в чем-то об одном и том же говорим?

Отдельное спасибо за разъяснение по пакетным запросам на ресурсы. Но ведь эта технология может быть реализована только в рамках ОС? Хотя... возможно и не только...
Вы не могли-бы подсказать в каких ОС используется этот механизм?
Draggan
Kharkov, QNX Seminars
Наверх
 Ответить Ответить Страница  <1 3132333435 36>

Переход на форум Права доступа на форуме Смотреть выпадающим

Bulletin Board Software by Web Wiz Forums® version 9.64
Powered by Web Wiz Forums Free Express Edition
Copyright ©2001-2009 Web Wiz