-
- Атомарность на уровне команд нужна довольно редко - WDT там сбросить у некоторых процессоров и т.п. AD(223 знак., 10.03.2011 14:11)
- не сохранность, а атомарность обращения. да, существуют другие методы, но они применимы не во всех случаях. к сожалению. - Vit(10.03.2011 18:30)
- Сохранность - это цель, а атомарность обращения (в смысле непрерываемости потока команд) - всего лишь способ. AD(67 знак., 10.03.2011 19:13)
- по второму пункту согласен - Vit(10.03.2011 19:45)
- Сохранность - это цель, а атомарность обращения (в смысле непрерываемости потока команд) - всего лишь способ. AD(67 знак., 10.03.2011 19:13)
- не сохранность, а атомарность обращения. да, существуют другие методы, но они применимы не во всех случаях. к сожалению. - Vit(10.03.2011 18:30)
- Критическая секция ОС - кусок кода ОС влияющий на порядок переключения задач и обмен данными между ними. ASDFS(489 знак., 10.03.2011 13:40)
- Атомарность - главная цель. Например считывание таймера или быстрого АЦП. Так что не надо... - Михаил Е.(10.03.2011 14:19)
- Мы вообще то про ОС. - ASDFS(10.03.2011 14:26)
- И я про нее. - Михаил Е.(10.03.2011 15:34)
- А при чем тут АЦП и считывание таймера? - ASDFS(10.03.2011 15:45)
- При том, что в задачах иногда бывает нужно. Вы же говорите о предназначении критической секции? Ее предназначение - атомарность. Запрет всех прерываний. - Михаил Е.(10.03.2011 15:56, ссылка)
- Как это не говорю. Очень даже говорю - для нужд ОС. ASDFS(390 знак., 10.03.2011 16:22)
- У меня большое подозрение что под системными подразумеваются именно ВСЕ прерывания (я с пиками не работал). А делать куски программы неподконтрольные ОС на мой взгляд безграмотно. - Михаил Е.(10.03.2011 17:08)
- Безграмотно - это гробить время реакции на прерывание по религиозным соображениям. ASDFS(153 знак., 10.03.2011 17:48)
- Нет, только часть. AD(456 знак., 10.03.2011 17:32)
- Да, тут я тормознул. - Михаил Е.(10.03.2011 18:59)
- У меня большое подозрение что под системными подразумеваются именно ВСЕ прерывания (я с пиками не работал). А делать куски программы неподконтрольные ОС на мой взгляд безграмотно. - Михаил Е.(10.03.2011 17:08)
- Как это не говорю. Очень даже говорю - для нужд ОС. ASDFS(390 знак., 10.03.2011 16:22)
- При том, что в задачах иногда бывает нужно. Вы же говорите о предназначении критической секции? Ее предназначение - атомарность. Запрет всех прерываний. - Михаил Е.(10.03.2011 15:56, ссылка)
- А при чем тут АЦП и считывание таймера? - ASDFS(10.03.2011 15:45)
- И я про нее. - Михаил Е.(10.03.2011 15:34)
- Мы вообще то про ОС. - ASDFS(10.03.2011 14:26)
- А какие вы оси видели до этого? Запрещение всех прерываний - самый правильный метод - Alex B.(10.03.2011 13:58)
- Это метод простой а не правильный. Впрочем, это уже религия. Меня все равно интересует почему в других портах ТНКернел НЕ запрещает все прерывания, а тут начал? В чем причина. - ASDFS(10.03.2011 14:29)
- Странно. А что делает это? Vit(151 знак., 10.03.2011 16:14)
- Не знаю. Расскажите что делает #define tn_disable_interrupt() tn_save_status_reg = tn_cpu_save_sr() - ASDFS(10.03.2011 16:39)
- tn_save_status_reg = tn_cpu_save_sr() сохраняет регистр статуса в tn_save_status_reg и запрещает прерывания. Vit(570 знак., 10.03.2011 17:04)
- Еще раз: если в конкретном релизе ОС критическая секция ОС запрещает все прерывания - этому должно быть объяснение. Какое? - ASDFS(10.03.2011 17:53)
- наоборот - если вдруг в критической секции не запрещаются все прерывания, то для этого должно быть основание. - Vit(10.03.2011 18:21)
- Очень простое: только одно конкретное прерывание (переключение задач по таймеру) может воспользоваться неподготовленными данными состояния ОС. ASDFS(702 знак., 10.03.2011 18:50)
- "Если же нужна критическая секция с конкретным прерыванием под конкретную юзерскую задачу" - этого мне пока не понять, извините. Vit(454 знак., 10.03.2011 19:37)
- Мы друг друга вообще плохо понимаем. Несовместимость какая то, факт. ASDFS(55 знак., 10.03.2011 20:18)
- "Если же нужна критическая секция с конкретным прерыванием под конкретную юзерскую задачу" - этого мне пока не понять, извините. Vit(454 знак., 10.03.2011 19:37)
- Очень простое: только одно конкретное прерывание (переключение задач по таймеру) может воспользоваться неподготовленными данными состояния ОС. ASDFS(702 знак., 10.03.2011 18:50)
- наоборот - если вдруг в критической секции не запрещаются все прерывания, то для этого должно быть основание. - Vit(10.03.2011 18:21)
- Еще раз: если в конкретном релизе ОС критическая секция ОС запрещает все прерывания - этому должно быть объяснение. Какое? - ASDFS(10.03.2011 17:53)
- tn_save_status_reg = tn_cpu_save_sr() сохраняет регистр статуса в tn_save_status_reg и запрещает прерывания. Vit(570 знак., 10.03.2011 17:04)
- Не знаю. Расскажите что делает #define tn_disable_interrupt() tn_save_status_reg = tn_cpu_save_sr() - ASDFS(10.03.2011 16:39)
- Странно. А что делает это? Vit(151 знак., 10.03.2011 16:14)
- Это метод простой а не правильный. Впрочем, это уже религия. Меня все равно интересует почему в других портах ТНКернел НЕ запрещает все прерывания, а тут начал? В чем причина. - ASDFS(10.03.2011 14:29)
- Дайте почитать чего такого, а то меня гагл другому учит - Vit(10.03.2011 13:58)
- Атомарность - главная цель. Например считывание таймера или быстрого АЦП. Так что не надо... - Михаил Е.(10.03.2011 14:19)
- Атомарность на уровне команд нужна довольно редко - WDT там сбросить у некоторых процессоров и т.п. AD(223 знак., 10.03.2011 14:11)