- •Конспект лекций вмСиС
- •1. Анализ средств, реализующих программный принцип управления
- •Аппаратные средства
- •1.2. Микропрограммное (firmware) управление
- •1.3. Программное обеспечение эвм
- •2. Представление информации
- •2.1. Представление информации в эвм
- •2.2. Описание задач пользователя, решаемых на эвм
- •3. Операционная система dos
- •4. Операционная система Windows nt
- •5. Организация файлов в dos
- •6. Организация хранения информации
- •Управление памятью.
- •7. Организация прерываний в эвм
- •7.1. Программируемый контроллер прерываний
- •7.2. Типы прерываний
- •8. Организация сети эвм
3. Операционная система dos
ОС представляет собой совокупность иерархически упорядоченных программ для осуществления следующих функций.
Общения пользователя с ЭВМ (пользовательский интерфейс).
Организация и управление процессами, выполняющимися в ЭВМ.
Организация и управление основной (оперативной) памятью.
Организация и управление внешней памятью.
Организация и управление вводом/выводом (ближняя и дальняя связи).
Для промышленного применения используется дисковая ОС – DOS, структура которой представляется ниже.
верхний уровень
№20
Интерфейс
П ользовательский прикладных
и
Аппаратные
компоненты
INT № - команда
№<20 прерывания
нижний функционирования.
Драйверный уровень
интерфейс
BIOS – Basic Input Output System.
Рис.6. Структура операционной системы DOS.
API – интерфейс прикладных программ. Для обращения к функциям ОС DOS в языке ассемблера используются программные прерывания. Обращение осуществляется при помощи команды int №, где № - это номер прерывания. При этом в AH – старшем байте регистра AX должен содержаться номер вызываемой функции DOS.
Рассмотрим некоторые функции программного интерфейса DOS:
01h – ввод символа (чтение с клавиатуры в AL) и отображение символа на экран (эхо).
02h – вывод на экран символа, который должен быть сформирован в DL (ASCII).
В операционной системе все устройства представляются в виде файлов.
09h – вывод на экран символьной строки, завершающейся символом ‘$’.
4Сh – завершение работы модуля и передача управления операционной системе (mov AX, 4C00h).
3Ch – создание файла. При создании необходимо в DX поместить адрес ASCIIZ-строки (строка заканчивается нулем), в которую помещено описание полного имени файла. В CX необходимо задать один из атрибутов файла:
00h – обычный файл, 01h – только для чтения, 02h – скрытый файл, 04h – системный файл, 08h – метка тома, 20h – архивный файл, 43h – изменение атрибутов файла.
3Dh – открытие файла. При открытии файла в AL задается режим доступа: 00h – только чтение, 01h – только запись, 02h – чтение и запись.
3Eh – закрытие файла. В BX должен быть помещен номер файла, полученный при открытии или создании файла
3Fh – чтение из файла или ввод с устройства. В BX должен быть номер файла.
40h – запись в файл. В BX должен быть номер файла, в CX – число байт, которые будут записаны, в DX – адрес области вывода.
42h – установка позиции для последовательного доступа к элементам файла.
4. Операционная система Windows nt
NT 5.x: 5.0 – Windows 2000, 5.1 – Windows XP, 5.2 – Server 2003.
Приложения Win32
CALLS (запросы)
Подсистема Win32
Основной API
(набор системных функций)
Kernel mode
Инструкции кольца 0.
С
Диспетчер
ввода-вывода IO
Диспетчер объектов Ob
Диспетчер процессов PS
Средства вызова
процедур LPC
Диспетчер
виртуальной памяти Mm
Драйверы устройств
Уровень аппаратных
абстракций
Любой поток имеет свой
контекст (окружение)
HAL
Аппаратные средства
Рис.7. Структура операционной системы Windows.
Прикладные программы могут вызвать сервисы ОС только с помощью функций API. Для драйверов, осуществляющих управление аппаратурой и функционирующих в режиме ядра, предоставляется возможность непосредственного обращения к сервисам ОС, а также возможность использования макросов (процедур) для доступа к портам ввода и вывода. Например, в HAL имеются такие макросы:
Ассемблер x86 |
Аналог HAL |
Описание |
IN AL, DX |
READ_PORT_UCHAR |
Чтение 1 байта из порта ввода/вывода |
OUT DX, AL |
WRITE_PORT_UCHAR |
Запись 1 байта в порт ввода/вывода |
Объектами в ОС выступают: файлы, процессы, потоки, события, секции памяти, разделы системного реестра, хранящие информацию об аппаратуре и ОС.
Процесс – это среда (адресное пространство, исполняемый код и т.п.) в которой выполняются потоки. При создании процесса автоматически создается первичный поток, который может порождать дочерние потоки. Для работы с процессами и потоками в ОС существует множество функций.
В DOS основным средством передачи управления программам служит механизм прерывания. В Windows прерывания используются только для системных нужд. Для программных приложений используется механизм событий, уведомления (сообщения) о которых помещаются в системную очередь. Например, нажатие клавиши на клавиатуре – это событие, сообщение о котором помещается в системную очередь. Из системной очереди сообщения пересылают в очередь к конкретным программным приложениям. Каждое приложение имеет хотя бы одно окно, которое является визуальным интерфейсом между пользователем и создавшим окно программным приложением. Сообщение адресуется конкретному окну.
Любое программное приложение выполняет цикл обработки сообщений. Цикл состоит из ожидания сообщения, приема появившегося сообщения, выявления действия, предписанного в сообщении, выполнения действия по обработке сообщения и перехода в режим ожидания. Прикладная программа должна иметь процедуру для обработки распознанного сообщения. Цикл обработки сообщений реализуется в главной функции WinMain.
ОС Windows имеет 3 отличительные особенности:
GUI (Graphic User Interface).
Многозадачность. Несколько приложений могут работать одновременно. Каждое приложение представлено окном на экране. При активизации программы, а следовательно окна, ранее выполняемая программа освобождает процессор и он предоставляется программе с активным окном.
ОС обеспечивает независимость программ от аппаратных средств. К аппаратуре имеют доступ ядро и драйверы. Независимость от аппаратуры (внешних устройств) выражается в том, что ОС предоставляет набор типовых функций взаимодействия с аппаратурой.