Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
Топ:
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Комплексной системы оценки состояния охраны труда на производственном объекте (КСОТ-П): Цели и задачи Комплексной системы оценки состояния охраны труда и определению факторов рисков по охране труда...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Интересное:
Влияние предпринимательской среды на эффективное функционирование предприятия: Предпринимательская среда – это совокупность внешних и внутренних факторов, оказывающих влияние на функционирование фирмы...
Подходы к решению темы фильма: Существует три основных типа исторического фильма, имеющих между собой много общего...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
2017-09-30 | 164 |
5.00
из
|
Заказать работу |
NT 5.x: 5.0 – Windows 2000, 5.1 – Windows XP, 5.2 – Server 2003.
|
|
Основной API
(набор системных функций)
Kernel mode
Инструкции кольца 0.
|
|
|
|
|
|
|
Любой поток имеет свой
контекст (окружение)
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 отличительные особенности:
1) GUI (Graphic User Interface).
2) Многозадачность. Несколько приложений могут работать одновременно. Каждое приложение представлено окном на экране. При активизации программы, а следовательно окна, ранее выполняемая программа освобождает процессор и он предоставляется программе с активным окном.
3) ОС обеспечивает независимость программ от аппаратных средств. К аппаратуре имеют доступ ядро и драйверы. Независимость от аппаратуры (внешних устройств) выражается в том, что ОС предоставляет набор типовых функций взаимодействия с аппаратурой.
Организация файлов в DOS
Файл – это поименованная последовательность байтов, организованных в виде так называемых записей. Записи могут быть переменной или постоянной длины. В DOS не поддерживается информация о длине записи. Для файлов с постоянной длиной записи используется прямой или последовательный доступ к записям. Для указания текущей записи используется файловый указатель File Pointer (FP). FP хранит смещение либо от начала файла, либо от конца (FP задается с помощью функции 42h прерывания int 21h).
Информация в виде файлов организуется обычно для внешних запоминающих устройств. Физически информация размещается на поверхности диска, который покрыт магнитным материалом. При изготовлении на диске создаются дорожки (треки), которые программно разбиваются на секторы. Для доступа к сектору задается физический адрес следующим образом:
№ трека№ считывающей головки№ сектора.
Распределение дискового пространства для файлов задается в таблице с именем FAT (File Allocation Table). Файловая система также имеет имя FAT. Существуют другие файловые системы, например, NTFS – New Type File System, используемая в ОС семейства Windows NT. VFHT – виртуальная файловая система. HPFS – высокопроизводительная файловая система.
Таблица FAT хранится на диске, начиная со второго сектора. Файлы организованы в виде совокупности порций – кластеров. Размер кластера составляет 2n секторов (размер сектора 512 байт). Таблица состоит из элементов, имеющих размер 16 бит. Каждый m-ый элемент, за исключением нулевого и первого, описывает m-ый кластер области данных. Нумерация кластеров начинается с номера два. Каждый m-ый элемент FAT содержит либо номер следующего кластера, принадлежащего файлу, либо специальный код.
0 1 2 3 4
0-й элемент описывает тип накопителя (F8 – жесткий диск).
2-й элемент указывает номер кластера, с которого начинается первый файл данных. Специальный код 0000 обозначает свободный кластер, а FFFF обозначает кластер, являющийся последним в файле.
Логически информация на диске разделяется на 4 области:
BIOS | FAT 1,2 | Корневой каталог |
Область файлов и
Подкаталогов
Корневой каталог отличается от подкаталога:
· Корневой каталог содержит метку диска (тома).
· Длина его фиксирована.
· Фиксировано местоположение каталога.
· Фиксировано имя каталога. “\” – Microsoft.
· Корневой каталог нельзя стереть.
Для описания каждого файла (и подкаталога) используется 32-байтный элемент каталога, представляющий следующую информацию:
Нулевой размер файла используется при описании подкаталога. Для каждого файла в соответствующем элементе каталога задан номер начального кластера, который соответствует номеру элемента в таблице FAT.
Корневой каталог можно считать корнем графического дерева, у которого ветвями служат подкаталоги, а файлы соответствуют листьям. При создании подкаталога (с помощью функций DOS) создаются 2 дополнительных элемента с фиксированными именами “.” и ”..”. Имя “.” служит для описания текущего файла, т. е. для описания создаваемого подкаталога. Имя “..” описывает родительский каталог. Многократное описание подкаталога упрощает его поиск. Описание подкаталога хранится в трех местах:
Структура взаимосвязей хранимой файловой информации и набор операций над файлами составляют файловую систему.
Для манипулирования созданными файлами требуется информация, характеризующая обрабатываемый файл. Эта информация формируется в виде FCB – блока управления файлом (48 байт). Блок управления создается динамически перед началом обработки файла. Для создания FCB используется функция DOS, позволяющая открыть файл. При открытии файла формируется FCB. Открыть файл означает: обнаружить файл с заданным именем в каталоге, выделить в ОЗУ место для хранения формируемого FCB, перенести из каталога нужную информацию в FCB, возвратить программе, которая с помощью функции DOS открывает файл с заданным именем логический номер файла, который используется для последующего доступа к файлу. Логический номер файла называют также файловым манипулятором. Файловый манипулятор (FM) идентифицирует FCB и файл.
В прикладной программе можно использовать стандартные устройства как файлы, которые не требуется открывать. Стандартным устройствам сопоставлены фиксированные FM (номера).
STDIN 0 – обозначается CON (консоль). Стандартное входное устройство, обычно
клавиатура.
STDOUT 1 – Обозначается CON. Стандартное выходное устройство (монитор).
STDERR 2 – Обозначается CON. Стандартное выходное устройство для сообщения
об ошибках, обычно на экран.
3 – Обозначается AUX. Стандартное внешнее устройство ввода-вывода.
Используется последовательный адаптер COM-порт.
4 – Обозначается PRN, LPT1. Стандартное устройство печати.
5,6,7 – Выделяются для пользовательских нужд. Количество выделяемых
номеров можно увеличить
При обращении к функциям DOS для выполнения записи (или чтения) используется FM. После завершения записи (или чтения) файл нужно закрыть. При закрытии файла осуществляются следующие действия:
1) разрывается связь между FCB и файлом (FCB удаляется) и освобождается FM.
2) Информация из FCB переносится в каталог, актуализируя описание обработанного файла.
3) Содержимое всех буферов, выделенных в ОЗУ для организации записи или чтения файла, перемещается на диск. Этим обеспечивается целостность данных.
Передача файловой информации осуществляется секторами через буферы, выделенные в специальных областях оперативной памяти, контролируемых DOS. Для приема информации необходимо в прикладной программе выделить буфер.
Пример чтения из последовательного файла в буфер, созданный в программе.
Пусть на диске создан файл, местоположение которого следующее: D:\GR\text.txt
Пусть требуется прочесть из файла 100 байт. Алгоритм программы чтения из файла предусматривает следующие действия:
TITLE file
.model small
.stack 100h
.data
buf db 100 dup(?)
FM dw?;для хранения номера файла, получаемого от DOS
Name1 db ‘D:\group\text.txt’, 0; местоположение файла, заданное в формате
file proc; ASCII
mov ax, @data
mov ds, ax
mov ax, 3D00h; в ah задан номер функции открытия файла, в al задан режим
; доступа.
lea dx, Name1;в ds:dx размещается адрес строки, содержащей идентификацию
;файла.
int 21h; вызов функций открытия файла.
mov dl,'O'; символ для идентификации ошибки, которая могла возникнуть
; при открытии файла
jc _ERR; если ошибка возникает при открытии файла, то осуществляется
; переход (ближний) к обработке ошибки.
;выполнение дальнего перехода осуществляется так: jnc mm
;jmp _ERR
;mm:
mov FM, ax; если нет ошибок, то FM сохраняется.
;чтение данных из файла.
mov ah, 3Fh; в ah задан номер функции чтения из файла.
mov bx, FM; регистр bx должен содержать логический номер файла.
mov cx, 100; в cx количество читаемых байтов.
lea dx, buf; в ds:dx указывается адрес буфера для ввода данных из файла.
int 21h; вызов функции чтения.
mov dl, ‘R’
jc _ERR
; закрытие файла
mov ah, 3Eh;в ah задан номер функции закрытия файла.
mov bx, FM
int 21h
mov dl, ‘C’
jc _ERR
jmp exit
_ERR: mov ah, 02h; вывод символа, идентифицирующего возможную ошибку.
int 21h
exit: ret
file endp
end
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Биохимия спиртового брожения: Основу технологии получения пива составляет спиртовое брожение, - при котором сахар превращается...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!