OSys.ru - операционные системы
OSys.ru - operating systems
операционные системы
доставка цветов, цветы с доставкой по Москве
 Главная   Форум   О проекте   Авторство   Добавить материал   Участие в развитии проекта   Карта сайта  В избранное   Контакт 
ВВЕДЕНИЕ
  • Понятие операционной системы
  • История создания и развития операционных систем
  • Разновидности современных операционных систем
  • Конкурентная борьба современных операционных систем
  • ВЫЧИСЛИТЕЛЬНЫЕ И ОПЕРАЦИОННЫЕ СИСТЕМЫ
  • Вычислительная система и ее ресурсы
  • Виды вычислительных систем
  • Режимы работы вычислительных систем
  • Характеристики операционных систем
  • ОПЕРАЦИОННАЯ СИСТЕМА DOS
  • История создания и развития операционной системы DOS
  • Структура DOS
  • Файловая система DOS
  • Управление оперативной памятью
  • Процедура установки DOS
  • Конфигурирование DOS
  • Прикладные программы в среде DOS
  • ГРАФИЧЕСКАЯ ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 3.1.
  • История и основные предпосылки появления Windows
  • Основные сведения о системе Windows 3.1
  • ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS 98
  • История создания, особенности и отличия Windows 98
  • ОПЕРАЦИОННАЯ СИСТЕМА WINDOWS NT
  • История Windows NT
  • Основные сведения о Windows NT
  • Архитектура Windows NT
  • Файловые системы Windows
  • Система безопасности Windows NT
  • Оптимизация работы Windows NT
  • Развитие операционных систем семейства Windows
  • ОПЕРАЦИОННЫЕ СИСТЕМЫ СЕМЕЙСТВА UNIX
  • История и общая характеристика семейства операционных систем UNIX
  • ОПЕРАЦИОННАЯ СИСТЕМА OS/2
  • История развития операционной системы OS/2
  • ДРУГОЕ
  •  Поиск
  •  Наш форум
  •  Карта сайта
  •  Обратная связь
  •  Купить рекламу



  • СТРУКТУРА DOS


    1. Базовая система ввода-вывода (BIOS)
    2. Блок начальной загрузки (Boot Record)
    3. Модуль расширения базовой системы ввода-вывода (IO.SYS)
    4. Модуль обработки прерываний (MSDOS.SYS)
    5. Командный процессор (COMMAND.COM)
    6. Утилиты DOS
    7. Процесс загрузки DOS
    8. Процесс загрузки и инициализации DOS


    Модуль обработки прерываний (MSDOS.SYS)

    В отличие от описанного выше модуля расширения IO.SYS, имеющего дело, как и BIOS, с прерываниями нижнего уровня модуль обработки прерываний MSDOS.SYS образует верхний уровень системы, с которыми взаимодействует большинство прикладных программ (почему этот модуль DOS и называют основным или ядром системы).

    Компонентами данного модуля являются подпрограммы, обеспечивающие работу файловой системы, устройств ввода/вывода (клавиатуры, монитора, принтера, коммуникаций), обслуживание некоторых специальных ситуаций, связанных с завершением программ, их искусственным прерыванием и обработкой ошибок. Некоторые из этих подпрограмм довольно велики по объему.

    Деление сервисных функций DOS на два уровня обусловлено соображениями модульности и будущего развития системы. Функции, реализуемые модулем MSDOS.SYS, в первую очередь используются командами DOS (обрабатываемыми командным процессором: DIR, COPY и др.), но с тем же успехом они могут вызываться прикладными программами.

    При обращении к функциям DOS из прикладных программ производится стандартный вызов прерывания 33; при этом в один из регистров микропроцессора должен быть занесен шёстнадцатеричный номер вызываемой функции. В другие регистры вызывающая программа должна поместить аргументы выполняемой операции, если они нужны, а по окончании обработки из регистров могут быть получены результаты выполненной операции. Точно так же производятся обращения к прерываниям BIOS.

    Все функции сгруппированы в соответствии с характером предоставляемого ими сервиса. Так, функции с шестнадцатиричными кодами О

    -С обеспечивают посимвольный обмен со стандартными внешними устройствами. Функции D-24 и 27-29 составляют обширную номенклатуру для работы с файловой системой, причем все они опираются на использование так называемого "блока управления файлами" (FСB-File Control Block) - специальной таблицы с параметрами, сопровождающими каждый файл. В этих операциях используется также выделенная область памяти для передачи данных между прикладной программой и функциями DOS (DTA - Data/Disk Transfer Area).

    Начиная с версии 2.0, в ДОС введены новые функции для работы с файловой системой (частично повторяющие старые). Коды этих функций: ЗС

    -46. Они более удобны для работы (в них не используется FCB и можно не задавать адрес DTA) и при этом не противоречат старым, так что возможно их совместное использование. Некоторые из новых функций (40, 44) обеспечивают работу с дисковыми файлами и с внешними устройствами, трактуемыми как файлы. Это дает дополнительное удобство с точки зрения разработки прикладных программ.

    Обе указанные группы дополняются функциями работы с каталогами иерархической файловой системы. Эти функции имеют шестнадцатиричные номера 11-12, 39-3В, 45-47, 4E-4F, 56-57.

    Для разработки больших прикладных систем, состоящих из наборов взаимодействующих программ, большую ценность представляют функции 31 и 48-4D, позволяющие выделять и освобождать области памяти, а также загружать в оперативную память и запускать подчиненные программы (подзадачи). При образовании и запуске подзадачи ей передаются все файлы, открытые в ведущей ("родительской") задаче, а также описание операционной среды, в которой с помощью команд конфигурации могут быть определены различные параметры.

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

    Следует также обратить внимание на три особых прерывания под десятичными номерами 34-36. В отличие от всех других прерываний, обслуживаемых DOS, эти три прерывания могут обслуживаться самой прикладной программой. В векторы этих прерываний прикладная нрограмма может занести адреса своих резидентных подпрограмм, которые должны адекватным образом (т.е. в соответствии с замыслом разработчика) обрабатывать три особые ситуации.
    1. Завершение задачи.
    2. Прерывание задачи в результате нажатия пользователем клавиш Ctrl + Break.
    3. Возникновение "фатальной" (неисправимой) ошибкн.

    Разработчику прикладной системы предоставяется возможность самому решать, что нужно делать, в каждом из этих случаев, если он не хочет воспользоваться стандартным сервисом DOS.

    Довольно часто при разработке прикладных систем возникает вопрос, каким уровнем сервиса воспользоваться для решения той или иной частной задачи (например, чтения каталогов, прямого доступа к файлам или обмена символами с терминалом). Возможностей для этого, по меньшей мере, три:

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

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

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

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

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

    При использовании материалов, ссылка на http://osys.ru/ обязательна!
    Copyright ©


    ПОИСК на сайте:


    ОБСУЖДЕНИЕ НА ФОРУМЕ




     Главная    Форум    О проекте    Авторство   Добавить материал   Участие в развитии проекта   Карта сайта  В избранное   Контакт 
    Сегодня: [an error occurred while processing this directive]         OSys.ru - все про операционные системы Windows, Unix, DOS и др.

       
    Наша почта
    OSys.ru - вычислительные и операционные системы Microsoft Windows, DOS, 98, NT, 2000, XP и Vista, а также UNIX, Linux и MacOS и др.
    хостинг и поддержка сайта
    Copyright © 1999-2017 Osys.ru Все права защищены. Авторство