Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Прохождения игр    
Demon's Souls |#13| Storm King
Demon's Souls |#12| Old Monk & Old Hero
Demon's Souls |#11| Мaneater part 2
Demon's Souls |#10| Мaneater (part 1)

Другие игры...


liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Различные авторы Весь текст 2311.07 Kb

Программирование и кодирование

Предыдущая страница Следующая страница
1 ... 69 70 71 72 73 74 75  76 77 78 79 80 81 82 ... 198
         рассмотрим систему управления процессом.  Требуется,  чтобы конт-
         роль и управление происходили бы каждые 100 мсек.  Другими харак-
         теристиками,  требующими контроля, являются давление, влажность и
         химический состав. Эти характеристики требуют менее частого конт-
         роля, чем температура процесса.
              Предположим, что процедура temp_control требует 10  мсек для
         контроля и управления температурой. Процедура temp_control должна
         выполняться каждые 100 мсек, потому что температуру следует конт-
         ролировать каждые 100 мсек.
              Аналогичным образом процедуры B,  C,  и D контролируют и уп-
         равляют тремя другими характеристиками, как это показано в табли-
         це 5-6. Далее, предположим, что процедуры C и D выполняются раз в
         каждые  300 мсек, а процедура  B  выполняется  два  раза   каждые
         300 мсек.

                                                         Таблица 5-6
                     Процедуры, требуемые для данного примера
         ЪДДДДДДДДДДДДДДДВДДДДДДДДДДДВДДДДДДДДДДВДДДДДДДДДДДДДДДДДДДД¬
         ¦               ¦ Контроли- ¦  Время   ¦ Требуемые повторы  ¦
         ¦ Имя процедуры ¦ руемая    ¦  выпол-  ГДДДДДДДДДДДДДДДДДДДДґ
         ¦               ¦ характе-  ¦  нения   ¦время   комментарий ¦
         ¦               ¦ ристика   ¦          ¦                    ¦
         ГДДДДДДДДДДДДДДД†ДДДДДДДДДДД†ДДДДДДДДДД†ДДДДДДДДДДДДДДДДДДДДґ
         ¦  temp_control ¦Температура¦ 20 мсек  ¦100 мсек  Изменения ¦
         ¦               ¦           ¦          ¦        не разрешены¦
         ¦  B            ¦ Давление  ¦ 40 мсек  ¦150 мсек  Изменения ¦
         ¦               ¦           ¦          ¦          разрешены ¦
         ¦  C            ¦ Влажность ¦ 60 мсек  ¦300 мсек  Изменения ¦
         ¦               ¦           ¦          ¦          разрешены ¦
         ¦  D            ¦ Химический¦ 38 мсек  ¦300 мсек  Изменения ¦
         ¦               ¦ состав    ¦          ¦          разрешены ¦
         АДДДДДДДДДДДДДДДБДДДДДДДДДДДБДДДДДДДДДДБДДДДДДДДДДДДДДДДДДДДЩ

              Такая система реального времени может быть построена при ис-
         пользовании конструкции циклического планировщика, представленной
         блок-схемой 5-1.  Здесь имеется три цикла:  0,  1 и 2. Последова-
         тельность выполнения циклов такова: 0, 1, 2 и 0, 1, 2 повторно.
              Отметим, что  процедура  temp_control выполняется один раз в
         каждом цикле. Каждый цикл требует 100 мсек для своего выполнения,
         куда  включается время,  требуемое для выполнения главного цикла,
         время, требуемое для выполнения процедуры  temp_control  и  время
         "передышки",  появляющейся  в  конце  каждого цикла.  "Передышки"
         предназначены для синхронизации выполнения циклов с требованиями,
         предъявляемыми к временам, затрачиваемым на наиболее часто выпол-
         няемые процедуры (в нашем примере это относится к процедуре temp_
         control).

                                      - 5-28 -
         ЪДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДД¬
         ¦                     ЪДДДДДДДДДД¬                         ¦
         ¦                     ¦          ¦                         ¦
         ¦                     ¦   СТАРТ  ¦                         ¦
         ¦                     ¦          ¦                         ¦
         ¦                     АДДДДВДДДДДЩ                         ¦
         ¦                          ¦                               ¦
         ¦                     ЪДДДДДДДДД¬                         ¦
         ¦                     ¦          ¦                         ¦
         ¦                     ¦счетчик=0 ¦                         ¦
         ¦                     ¦          ¦                         ¦
         ¦                     АДДДДВДДДДДЩ                         ¦
         ¦   ЪДДДДДДДДДДДДДДДДДДДДД>ґ                               ¦
         ¦   ¦             ЪДДДДДДДДДДДДДДДДДД¬                    ¦
         ¦   ¦             ¦счетчик= счетчик+1 ¦                    ¦
         ¦   ¦             ¦                   ¦                    ¦
         ¦   ¦             АДДДДДДДДВДДДДДДДДДДЩ                    ¦
         ¦   ¦                      ¦                               ¦
         ¦   ¦                 ЪДДДДДДДДД¬                         ¦
         ¦   ¦           0     ¦переход по¦  2                      ¦
         ¦   ¦       ЪДДДДДДДДД¦счетчику  ¦ДДДДДДД¬                 ¦
         ¦   ¦       ¦ цикл 0  ¦на MOD3   ¦цикл 2 ¦                 ¦
         ¦   ¦       ¦         АДДДДВДДДДДЩ       ¦                 ¦
         ¦   ¦       ¦            1 ¦цикл 1       ¦                 ¦
         ¦   ¦  ЪДДДДДДДДД¬   ЪДДДДДДДДД¬   ЪДДДДДДДДД¬          ¦
         ¦   ¦  ¦temp_cont-¦   ¦temp_cont-¦   ¦temp_cont-¦          ¦
         ¦   ¦  ¦rol       ¦   ¦rol       ¦   ¦rol       ¦          ¦
         ¦   ¦  ¦   20 мсек¦   ¦   20 мсек¦   ¦   20мсек ¦          ¦
         ¦   ¦  АДДДДВДДДДДЩ   АДДДДВДДДДДЩ   АДДДДВДДДДДЩ          ¦
         ¦   ¦       ¦              ¦              ¦                ¦
         ¦   ¦  ЪДДДДДДДДД¬   ЪДДДДДДДДД¬   ЪДДДДДДДДД¬          ¦
         ¦   ¦  ¦    B     ¦   ¦    C     ¦   ¦    В     ¦          ¦
         ¦   ¦  ¦    40мсек¦   ¦    60мсек¦   ¦    40мсек¦          ¦
         ¦   ¦  АДДДДВДДДДДЩ   АДДДДВДДДДДЩ   АДДДДВДДДДДЩ          ¦
         ¦   ¦       ¦              ¦              ¦                ¦
         ¦   ¦  ЪДДДДДДДДД¬        ¦              ¦                ¦
         ¦   ¦  ¦    D     ¦        ¦              ¦                ¦
         ¦   ¦  ¦    38мсек¦        ¦              ¦                ¦
         ¦   ¦  АДДДДВДДДДДЩ        ¦              ¦                ¦
         ¦   ¦       ¦              ¦              ¦                ¦
         ¦   ¦  ЪДДДДДДДДД¬   ЪДДДДДДДДД¬   ЪДДДДДДДДД¬          ¦
         ¦   ¦  ¦пауза на  ¦   ¦пауза на  ¦   ¦пауза на  ¦          ¦
         ¦   ¦  ¦   2 мсек ¦   ¦  20 мсек ¦   ¦ 40 мсек  ¦          ¦
         ¦   ¦  АДДДДВДДДДДЩ   АДДДДВДДДДДЩ   АДДДДВДДДДДЩ          ¦
         ¦   ¦                                                   ¦
         ¦   АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ                ¦
         ¦                      <-----                              ¦
         АДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДДЩ
                Блок-схема 5-1. Структура циклического планировщика

              В блок-схеме  5-1 показана концепция построения циклического
         планировщика без прерываний.  Во многих прикладных программах мо-
         жет  оказаться  необходимым использование прерываний,  которые бы
         сигнализировали  о наличии внешнего события,  требующего  к  себе
         немедленного  внимания.  Циклический планировщик может быть также
         построен с применением требований,  что показано на рисунке 5-12.
              На рисунке  5-12  (A) показано,  как мы гарантируем то,  что
         главный цикл требует 100 мсек для выполнения каждого  цикла, если
         не  возникает  прерывания.  Предположим,  прерывание возникает во

                                      - 5-29 -
         время выполнения процедуры temp_control.  Процедура  temp_control
         завершается и после этого обрабатывается прерывание.  После обра-
         ботки прерывания выполняется процедура  B.  Поскольку  невозможно
         предсказать момент возникновения прерывания, общее время выполне-
         ния каждого цикла также не может быть предсказано. Таким образом,
         время  выполнения  цикла циклическим планировщиком с прерываниями
         является неопределяемым.
              Преимуществами конструкции циклического планировщика являют-
         ся:
            . Простая форма мультизадачности.
            . Определенность рабочего времени за исключением случаев
              с прерываниями.

              Недостатками этой конструкции являются:
            . Неэффективность  -  все  циклы  должны выполняться до
              полного своего завершения.
            . Время выполнения цикла увеличивается с увеличением чис-
              ла циклов.
            . Трудность  проведения  модификаций  и сохранения тех же
              временных параметров.



                                                               
                ¦                ¦                 ¦    проис-  ¦
                ¦                ¦                 ¦    ходит   ¦
           ЪДДДДДДДДД¬          ¦            ЪДДДДДДДДД¬преры-¦
           ¦temp_cont-¦          ¦            ¦temp_cont-¦вание ¦
           ¦rol       ¦          ¦            ¦rol       ¦ДДДД ¦
           ¦   20 мсек¦          ¦            ¦   20 мсек¦      ¦
           АДДДДВДДДДДЩ          ¦            АДДДДВДДДДДЩ      ¦
                ¦                ¦                 ¦            ¦
           ЪДДДДДДДДД¬                       ЪДДДДДДДДД¬ общее вре-
           ¦    B     ¦     общее время       ¦прерывание¦ мя цикла
           ¦    40мсек¦    цикла = 100 мсек   ¦обслужено ¦ превышает
           АДДДДВДДДДДЩ                       ¦   20 мсек¦ 100 мсек
                ¦                ¦            АДДДДВДДДДДЩ из-за на-
           ЪДДДДДДДДД¬          ¦            ЪДДДДДДДДД¬ личия пре-
           ¦    D     ¦          ¦            ¦    B     ¦ рывания
           ¦    38мсек¦          ¦            ¦   40 мсек¦      ¦
           АДДДДВДДДДДЩ          ¦            АДДДДВДДДДДЩ      ¦
                ¦                ¦                 ¦            ¦
           ЪДДДДДДДДД¬          ¦            ЪДДДДДДДДД¬      ¦
           ¦пауза на  ¦          ¦            ¦    D     ¦      ¦
           ¦    2мсек ¦          ¦            ¦  38 мсек ¦      ¦
           АДДДДВДДДДДЩ          ¦            АДДДДВДДДДДЩ      ¦
                ¦                ¦                 ¦            ¦
                                                             
            А. Цикл 0, если преры-       Б. Цикл 0 при наличии пре-
               ваний не произошло           рываний (неопределяемый)
               (определяемый)
           Рис. 5-12.  Циклический планировщик при наличии  прерываний:
                            неопределяемое время цикла


                                      - 5-30 -
                          Выбор метода построения системы

              Выбор структуры системы зависит от внешней среды, аппаратных
         средств,  а также от временных требований, предъявляемых к систе-
         ме.  Выбор также зависит от того,  будут ли использоваться только
         уже имеющиеся в наличии технические средства или планируется  ис-
         пользование  новых  аппаратных средств.  Если будут приобретаться
         новые устройства,  то мы можем рассматривать  и  применение  уст-
         ройств, работающих под управлением прерываний, и устройств, рабо-
         тающих без  прерываний.  Если,  однако,  мы пользуемся только уже
         имеющимися аппаратными средствами,  мы не можем выбирать: исполь-
         зовать или нет прерывания.  Например,  некоторое устройство может
         не  предусматривать  работу  по прерыванию.  Тогда мы сами должны
         применить метод упорядоченного опроса для этого устройства.
              В некоторых  прикладных  программах  выбор может диктоваться
         требованиями, предъявляемыми к временным характеристикам, как это
         делается в простом примере,  предложенном  ниже. Принятие решения
         о выборе метода построения системы на практике, конечно, является
         более сложным занятием.
              Предположим,  что  мы  будем работать в операционной системе
         MS-DOS  под   управлением   процессора   8088,   имеющего частоту
         4,77 МГц.  Предположим также,  что нам нужно собирать  данные  со
Предыдущая страница Следующая страница
1 ... 69 70 71 72 73 74 75  76 77 78 79 80 81 82 ... 198
Ваша оценка:
Комментарий:
  Подпись:
(Чтобы комментарии всегда подписывались Вашим именем, можете зарегистрироваться в Клубе читателей)
  Сайт:
 

Реклама