16+
Понедельник
17 декабря
Вход |Карта сайта | |Upload |codebook | PARTS

 О смысле всего сущего 0xFF

 Средства и методы разработки

 Мобильная и беспроводная связь

 Блошиный рынок Объявления

caxapa

Микроконтроллеры ARM 

AVR PIC MSP PLD,FPGA,DSP 

Кибернетика Технологии 

Схемы, платы, компоненты 

Микроконтроллеры AVR

 
   Новая тема Правила Регистрация Поиск »» Архив
Вернуться в конференциюТопик полностью
fk0  (10.12.2013 14:40 - 10.12.2013 14:42) , в ответ на Вы рассписываете некий ПРИНЦИП. Покажите его на простом примере. Не почтите за труд, уважьте старика. автор: Скрипач
Какой-либо поток ожидает, например события (поступление данных в fifo, семафора, да не важно чего). Есть очередь связанная с событием (внутри ОС). И при вызове функции ожидания ОС помещает поток в эту очередь. Дальше ОС никак не затрагивает поток 
(его код не выполняется вообще). При возникновении события ОС запускает первый поток из связанной с событием очереди, исключая его оттуда. Плюсы: исключается постоянная проверка условий (есть событие или нет, например проверка флага). Минусы: функция ожидания и функция сигнализации о событии выполняются медленно, т.к. происходит много действий (вставка в очередь, исключение из очереди), кроме того под очередь нужна память -- уже не один бит на флаг, а несколько байт на элемент синхронизации и несколько байт на каждую ожидающую задачу. В очень маленьких системах выгоднее опрашивать флаги в цикле (проверяются быстро, памяти нужно мало), возможно перейдя к time triggered архитектуре для экономии энергии. В больших системах проверка флагов в цикле начинает занимать слишком много процессорного времени и применение ОС более выгодно, несмотря на большие накладные расходы (для поездок в соседний город лучше автомобиль, для поездок на соседний континент -- самолёт).
[ZX]
Главная | Карта сайта | О проекте | Проекты | Файлообменник | Регистрация | Вебмастер | RSS
Лето 7527 от сотворения мира. При использовании материалов сайта ссылка на caxapу обязательна.
MMI © MMXVIII