Главная · Поиск книг · Поступления книг · 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 ... 70 71 72 73 74 75 76  77 78 79 80 81 82 83 ... 198
         скоростью  35000 байтов в секунду.  Отметим по предыдущей таблице
         5-5, что при наличии прерываний  максимальная  скорость  передачи
         данных  равна  30 КГц.  Это значит,  что мы не можем использовать
         прерывания.  Тем не менее, системы опроса могут работать с макси-
         мальной  скоростью  передачи данных,  равной 60 КГц.  Более того,
         данные могут храниться при этом в основной памяти.
              И, наконец,  если требуется, чтобы разные процедуры выполня-
         лись с разной частотой, можно в этом случае применять циклические
         планировщики.
              Все три рассмотренных метода являются синхронными  (работаю-
         щими только с одной задачей,  то есть без мультизадачности). Ниже
         мы рассмотрим мультизадачный режим в операционной системе MS-DOS.

                Мультизадачный режим в операционной системе MS-DOS

              В общем  случае  операционная система MS-DOS не поддерживает
         работу в мультизадачном режиме,  несмотря на то, что операционная
         система  MS-DOS для персональных компьютеров IBM PC/AT предусмот-
         рены условия  работы в простом мультизадачном  режиме.  Мультиза-
         дачность  представляет собой очень мощное средство для систем ре-
         ального времени.  Оно  упрощает  структуру  системы  и  позволяет
         разрабатывать большие, сложные системы.
              Системы реального времени нацелены на  обработку  нескольких
         независимых событий, происходящих в произвольные моменты времени.
         Эти события могут возникать асинхронно и одновременно.  Это  зна-
         чит, что одно событие может происходить во время обработки друго-
         го.
              Мультизадачность может  использоваться  в таких системах для
         упрощения программного обеспечения.  Вместо  написания  отдельной
         программы  для управления всеми событиями вы можете написать  не-
         сколько программ, каждая из которых будет управлять отдельным со-
         бытием.  Все  эти программы могут одновременно выполняться компь-
         ютером,  поддерживающим мультизадачность. Эти отдельные программы
         называются  "задачами".  Поскольку они одновременно выполняются в
         компьютере, эта структура называется мультизадачной. Многие зада-

                                      - 5-31 -
         чи  выполняются  компьютером одновременно,  аналогично тому,  как
         жонглер удерживает много шаров в воздухе в одно и тоже время. А в
         действительности же,  в отдельный момент времени, конечно, выпол-
         няется только одна задача.

                  Условия существования мультизадачного режима в
                         персональном компьютере IBM PC/AT

               Система BIOS персонального компьютера IBM PC/AT  предусмат-
         ривает наличие "крюков" для применения планировщика. Поддерживае-
         мые функции являются очень простыми,  но могут использоваться для
         проектирования  и  реализации  программы,  поддерживающей простые
         возможности мультизадачности (обсуждение этих  возможностей лежит
         за пределами задач настоящей главы). Разработка общецелевого пла-
         нировщика в операционной системе MS-DOS  является  очень  трудным
         процессом,  поэтому  мы  рекомендуем  разрабатывать  планировщик,
         предназначенный только для вашей прикладной программы.
              Прерывание 15h  предусматривается  для поддержания мультиза-
         дачного планировщика.  Исходно планировщик настраивает  сервисную
         стандартную программу на обработку прерывания 15h.
              Планировщик может поддерживать такие  простые  функции,  как
         переключение задач и циклы простоев.
              Одно из средств персонального компьютера  IBM  PC/AT  должно
         реализовать  циклы простоя,  выдает прерывания 15h с шестнадцати-
         ричным значением кода функции "90 hex" в AH.  В этом месте плани-
         ровщик должен сохранить состояние текущей задачи. Эта схема дейс-
         твий позволяет выполнять задачи "с перекрытием" или " с наложени-
         ем", когда присутствует цикл простоя.
              Ожидающая задача может позднее возобновить свою  работу  при
         помощи планировщика, когда прерывание 15h с кодом функции 91h по-
         явится в AH. В этом месте планировщик должен будет запомнить, что
         задача будет готова возобновить свою работу позднее.
              Этим рассуждением завершается наше  изучение мультизадачного
         режима  в операционной системе MS-DOS.  Нам пришлось ограничиться
         коротким простым разговором,  потому что мультизадачный  режим  в
         операционной  системе  MS-DOS  для  персонального  компьютера IBM
         PC/AT очень невелик и трудно реализуем.

                                    Заключение

              Система реализации  времени взаимодействует напрямую с внеш-
         ней средой и всегда должна удовлетворять некоторым временным  ог-
         раничениям.  При классификации систем реального времени мы разби-
         ваем их на следующие три категории в зависимости  от  направления
         потока данных:
            . Однонаправленные системы
            . Двунаправленные потенциально устойчивые системы
            . Двунаправленные потенциально неустойчивые системы.

              Мы рассматривали скорость,  как требование операционной сис-
         темы VS-DOS, которое должно использоваться в прикладной программе
         реального времени. В дополнение к частоте синхронизации, скорость
         работы  операционной  системы  MS-DOS зависит от передачи данных.
         Используя  примеры,  мы  проиллюстрировали  использование  портов
         центрального  процессора  CPU  и  последовательных и параллельных
         портов для обмена данными с внешней средой. Мы также обсудили три
         основных метода передачи данных в компьютер и из него:

                                      - 5-32 -
            . Упорядоченный опрос
            . Метод прямого доступа DMA
            . Метод использования прерываний.

              Мы объяснили важность времени ответа во время принятия реше-
         ния  о  возможности  использования  операционной  системы MSDOS в
         прикладных программах реального времени.  Были описаны три  синх-
         ронных метода проектирования систем реального времени:
            . Упорядоченного опроса
            . Главного цикла с прерываниями
            . Циклического планирования.

              При помощи примеров и программ на языке Ассемблер мы  проде-
         монстрировали,  что  операционная  система MS-DOS может использо-
         ваться для сравнительно простых,  но полезных прикладных программ
         реального времени.  И,  наконец,  мы рассмотрели поддержку режима
         мультизадачности в операционной системе MS-DOS.


                   Глава 6.  УСТАНАВЛИВАЕМЫЕ  ДРАЙВЕРЫ УСТРОЙСТВ


                   Зачем нужны драйверы устройств?
                   Установка драйверов устройств
                   Работа с драйвером в среде MS-DOS
                   Создание драйверов устройств
                   Пример драйвера виртуального диска
                   Заключение



            Основное требование, предъявляемое к любой вычислительной сис-
         теме,  заключается не только в способности вычислять, но и в спо-
         собности взаимодействовать с внешним миром через периферийные ус-
         тройства.  Без таковой способности компьютер становится не  более
         чем  бесполезной  "железякой".  Задача любой операционной системы
         состоит в обеспечении средств взаимодействия для прикладных прог-
         рамм и для нужд самой операционной системы.
            Для того, чтобы прикладная программа могла взаимодействовать с
         внешним  устройством,  операционная  система должна удовлетворять
         двум основным требованиям. Во-первых, должен существовать опреде-
         ленный  интерфейс между прикладной программой и операционной сис-
         темой.  Этот интерфейс должен быть достаточно гибким, чтобы  при-
         кладная программа могла точно определить свои действия при работе
         с требуемым устройством.  Во-вторых, операционная система обязана
         уметь передавать и принимать данные от устройства и управлять его
         работой.  Такой интерфейс в MS-DOS обеспечивается так называемыми
         драйверами устройств.
            В то время как операционные системы больших ЭВМ  и  миникомпь-
         ютеров  традиционно  обладают широкими возможностями по поддержке
         устройств,  микрокомпьютеры довольно бедны в этой области. Обычно
         они имеют средства поддержки основных дисковых накопителей,  сис-
         темного терминала, печатающего устройства и, возможно, какого-ли-
         бо дополнительного устройства. Все что поддерживается сверх этого
         уровня можно рассматривать как приятную неожиданность.  В  старых
         операционных  системах,  включая MS-DOS версии 1.0,  обеспечивать
         поддержку дополнительных устройств после покупки ОС было довольно
         затруднительно.  Операционная система не содержала функциональных
         запросов прикладного уровня для нестандартных  устройств  и  сами
         драйверы были глубоко запрятаны в BIOS (базовая система ввода-вы-
         вода).  Добавление или изменение  драйвера  устройства  требовало
         корректировки исходных кодов BIOS (при  их  наличии,  разумеется),
         повторного  ассемблирования и  копирования полученных кодов на за-
         грузочную дорожку системного диска.  Очень часто  для  выполнения
         указанных операций не было даже соответствующих утилит. Более то-
         го,  такие компьютеры как IBM PC не позволяли и  этого,  т.к.  их
         BIOS записана в ПЗУ (постоянном запоминающем устройстве). Измене-
         ние содержимого ПЗУ требует  наличия  специального  программатора
         (устройства,  которое  записывает  информацию  в  программируемое
         ПЗУ),  а он имеется далеко не у каждого.  И даже после всех  этих
         усилий  прикладная программа не имела никаких средств для общения
         с драйвером с помощью ОС.
            Все изменилось с выходом MS-DOS  версии  2.0. Вероятно,  самым
         значительным нововведением в операционных системах микрокомпьюте-
         ров с тех пор как появилась CP/M стало то,  что MS-DOS версии 2.0
         и выше обеспечивают не только возможность установки драйверов без

                                      - 6-2 -
         каких-либо мучений, но и стандартный расширяемый интерфейс, кото-
         рый дает программам возможность взаимодействовать с драйверами. В
         результате громадно возросло количество устройств, поддерживаемых
         MS-DOS   и  появились  драйверы  псевдоустройств,  обеспечивающие
         MS-DOS системы такими средствами как  RAM-диски,  высокоуровневые
         графические интерфейсы и т.п.
            Драйвер устройства в MS-DOS - это подпрограмма,  которая вызы-
         вается MS-DOS,  с одной стороны,  и взаимодействует с  конкретным
         устройством,  с другой.  Как посредник между системой и аппарату-
         рой,  драйвер устройства передает данные между программой и  уст-
         ройством.

                          Зачем нужны драйверы устройств?

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

Реклама