
- •Лекции «Операционные системы» 4 семестр, 2 курс Содержание
- •Лекция №1 История развития ос
- •Операционная система. Общая характеристика.
- •Лекция №2 Требования к ос
- •Ресурсы, виды ресурсов. Управление памятью. Виртуальная память.
- •Методы распределения памяти
- •Лекция №3
- •Cash-ирование данных
- •Понятие процесса. Управление процессами. Синхронизация процессов. Тупики и способы борьбы с ними.
- •Лекция №4 Алгоритмы планирования процессов
- •Средства синхронизации при взаимодействии процессов
- •Файловые системы
- •Лекция №5 Общая модель файловой системы
- •Файловая система fat (таблица распределения файлов)
- •Структура
- •Формат кода каталога
- •Файловая система hpfs
- •Лекция №6
- •Файловая система ntfs(кратко)
- •Операционная система ms-dos
- •Лекция №7 Прерывание. Обработка прерываний
- •Лекция №8
- •Программирование последовательного порта
- •Лекция №9
- •Планирование процесса
- •Многоуровневые очереди
- •Лекция №10
- •Лекция №11 Архитектура Windows nt
- •Лекция №12 Процессы и нити
- •Лекция №13 Алгоритмы планирования процессов и нитей
- •Процесс
- •Распределение процессорного времени между потоками
- •Лекция №14
- •Лекция №15
- •Журнал аудита
- •Политика аудита
- •Лекция №16
- •Настройка и конфигурация windows nt
- •Лекция №17
- •Структура сетевой ос
- •Лекция №18
- •Лекция №19
- •Лекция №20 Динамически подключаемая библиотека (dynamic_link_library dll)
- •Лекция №21 Внедрение dll
Программирование последовательного порта
Изначально микросхема 8250 отвечает за программирование последовательного порта.
Для доступа к последовательному порту существует базовый адрес (в ячейках 0040:0000 для COM1 и 0040:0002 для COM2).
Для 0040 со смещением 1 – 1 порт.
Для 0040 со смещением 2 – 2 порт.
Базовый адрес для порт 1 – 3F8, 2F8.
Микросхема имеет 10 программируемых однобайтовых регистров, которые занимаются инициализацией и передачей данных.
3F8 – передает байт, если байт 7 в регистре 3FB равен 0. Из 3FB может читать байт. Регистр 3F8 является младшим делителем в скорости обмена при бите, установленном в регистре 3FB.
3F7 – ……………………..
3F9 – при установке бита 7 в 0 в 3FB – регистр разрешения прерывания.
3FА – регистр идентификации прерывания
3FВ – регистр управления линией
3FС – регистр управления модемом
3FD – регистр статуса линии
3FE – регистр статуса модема
Скорость обмена:
Делитель скорости – число, на которое нужно разделить частоту системных часов для получения скорости обмена
Частота системных часов – 100 190 000 Гц
Скорость обмена:
Минимальная – 110 бт\ с
Максимальная – 115- 200 бт\ с
……………………………………………………………………………………………………………
Для скорость 1200 – значения регистра 3F90.???????????
Регистр контроля линии
Биты 10 (один – ноль) задают длину символов. Можно закодировать 005……………………………….., 118……………….
Второй бит – количество стопоковых бит.
Если 0 – 1
Если 1 – 2
Бит четности:
Если 0 – генерировать
Если 0 – нет
Тип четности: 0 – нечетный, 1 – четный.
Фиксация четности заставляет бит четности быть либо 1, либо 0.
Установка перерыва – данный бит приводит к передаче строке нулей.
Бит 7 – меняет адреса ……………..
Регистр статуса линии
Установка бита 0 в 1 означает, что получен байт данных.
Бит 1 – установка в 1 означает, что поученные данные перезаписаны.
Бит 2 – установка в 1 означает, что произошла ошибка в четности
Бит 5 – установлен в 1, когда регистр хранения передатчика пуст
Бит 6 – установлен в 1, если регистр сдвига передатчика пуст
Физические линии:
-
DTR – готовность компьютера
-
RTS – запрос на посылку
-
DSR – готовность модема
-
CTS – готовность к посылке
-
DCD – обнаружен носитель данных
-
RI – индикатор звонка
Регистр статуса модема
Бит 0 – устанавливает в 1: изменение CTS
Бит 1 – устанавливает в 1: изменение в DSR
Бит 2 – устанавливает в 1: изменение в RI
Бит 3 – устанавливает в 1: изменение в DCD
Бит 4 – устанавливает в 1: устанавливает сигнал в CTS
Бит 5 – устанавливает в 1: устанавливает сигнал в DSR
Бит 6 – устанавливает в 1: устанавливает сигнал в RI
Бит 7 – устанавливает в 1: устанавливает сигнал в DCD
При чтении данного регистра значения обнуляются.
Регистр контроля модема
Бит 0 установлен в 1, если готовность компьютера активна
Бит 1 установлен в 1, если запрос на посылку активен
Бит 4 установлен в 1, если мы хотим ………………………..
Лекция №9
4 класса прерываний:
Биты, содержащиеся в регистре (адрес 3F2) 1, 2 содержат коды.
0 – изменения в регистре статуса модема
1 – регистр хранения прерывания датчика получен
1 0 – данные получены
0 1 – ошибка приема
Бит 0 установлен в 1, когда происходит событие.
Чтобы выбрать одно или несколько прерываний, нужно запрограммировать регистр прерывания (адрес 3F9).
Установка бита 0 в 1 говорит о том, что необходимое прерывание сгенерировано:
1 – ……….
2 – прерывание по ошибке
3 – прерывание при изменении регистра статуса модема
При чтении 3FA обнуляются.
Приоритеты:
-
ошибка
-
получение данных
-
пустой буфер передатчика
-
регистр изменения статуса модема
Устанавливаем вектор:
push ds ; помещение в стек
mov dx, offset IO_INT ; смещение
mov dx, seg IO_INT ; вектор
mov 01s, ax
mov al, 0b
mov ah, 25 ; 25 функция
int 21h
mov dx, 3F8h ; базовый адрес в dx
inc dx
mov ah, …..
out dx, al
pop ds
Затем обработка:
ID_INT proc far
NEXT_INT:
mov dx, 2F8h ;установили по приему
add dx, 2 ;и передаче
in al, dx
test al, 1Øb
inz TRANSMIT
RECEIVE:
ПРИЕМ
jmp another
TRANSMIT
…………..
ANOTHER:
mov dx, 3F8h
add dx, 2
in al, dx
test al, 1
jmp NEXT_INT
mov al, 20h
IRET:
Out 20h, al