Главная Случайная страница


Категории:

ДомЗдоровьеЗоологияИнформатикаИскусствоИскусствоКомпьютерыКулинарияМаркетингМатематикаМедицинаМенеджментОбразованиеПедагогикаПитомцыПрограммированиеПроизводствоПромышленностьПсихологияРазноеРелигияСоциологияСпортСтатистикаТранспортФизикаФилософияФинансыХимияХоббиЭкологияЭкономикаЭлектроника






Общие принципы обработки прерываний

Прерывание – аппаратное средство, позволяющее ОС временно приостановить выполнение одного процесса с целью выполнения другого.

Вход в прерывание аппаратный, выход – программный.

Прерывания делятся на синхронные (связанные с выполнением текущего процесса) и асинхронные (не связанные).

Прерывания бывают:

1. I/O (ввода/вывода)

2. Ext (внешние, от внешних устройств, e. g. таймер)

3. Pgm (программные)

4. Svc (Super Visor) (обращение к ОС из программы)

5. Mch (машинное прерывание, от схем контроля)

PSW (Process status word) – совокупность регистров, которые содержат адрес следующей выполняемой программы и флаги состояния процесса.

Блокировка процесса - временное его прерывание с целью выполнения др. процесса

Процесс A генерирует прерывание ввода-вывода.

1) CPU останавливается

2) PSW процесса A записывается в область ОП old PSW

3) в соответствии с распознанным типом прерывания из области new PSW выбирается PSW, который записывается в текущий PSW.

4) Разблокировка CPU.

5) Из PCB процесса B загружается текущее PSW.

1-4 аппаратно, 4-5 – программно.

В процессе обработки прерывания может возникнуть новое прерывание.

Обработчики некоторых прерываний не могут быть прерваны другими прерываниями. Для этого существует аппарат блокировки прерываний. Обработчиков прерываний много. Для каждого из них существует свое newPSW. Некоторые обработчики выполняются в закрытых масках, т. е. они обязаны выполняться до конца. Прерывания значительно увеличивают скорость работы КС.

Аппаратура компьютеров IBM PC: конфигурация.

Конфигурация аппаратуры: с общим процессором (+DMA).

 

CPU
RAM ROM

MB

 

 

Монитор
HDD FDD CD
Все устройства имеют
I/O
Мышь
Клавиатура
свои адреса.

LPT1 – LPT3(PRN)- параллельный порт, к которому подключают принтер.

COM1 - COM4 – порты от мыши, модема.

 

 

Шина МП:

· Шина адреса (memory)

· Шина данных (I/O U)

· Шина управления (IRQ, DMA)

ОСНОВНАЯ (оперативная) ПАМЯТЬ:

16 битовая архитектура:

Шина адреса – 20 bit/линий (технически 24) – 1Мб

Шина данных – 16 bit/линий (технически 32), word=2b

Шина управления: Линии прерывания (Interrupt ReQuest) IRQ – 7 шт.

Direct Memory Access – DMA – 4 шт.

32 битовая архитектура:

Шина адреса – 32 bit/линий - 4Гб

Шина данных – 64 bit/линий, word=4b

15 IRQ

7 (иногда 4) DMA

Зарезервированные имена

Con

Prn

Nul

Com1-Com4

Lpt1-Lpt3

A:…Z

Порты ввода-вывода (I/O Ports) – для обмена управляющей информацией с УВВ. Стандартные порты – 64Кб

Микропроцессор, адресация и модели памяти.

В данное время в микропроцессор входит сопроцессор, и иногда RISC (процессор с упрощенным набором команд, CISC – полный набор) Reduced/Complete Instruction Set Computer. Основное обрабатывающее устройство обладает кэш-памятью и размером слова 16/32 бита. Для ПО важны частота, доп. наборы инструкций и регистров (MMX, SSE, SSE2, …) и модификация процессора. В реальном режиме процессор работает с 16 битовыми регистрами, а в расширенном (защищенном) с 32.

Bit

Регистры данных AX, BX, CX, DX (Accumulator, Base, Counter, Data)

Индексные регистры SI, DI (Source/Destination index)

Сегментные регистры ES, DS, CS, SS (Extended, Data, Code, Stack segments)

Регистры-указатели IP, BP, SP (Instruction, Base, Stack pointers)

Регистр флагов FLAGS (PSR, Program Status Register):

CF, OF, ZF, SF, IF, … (carry, overflow, zero, sign, interrupt, … flags)

В реальном режиме адрес задается сегментом (номер параграфа) и смещением относительно него, т. е. одним регистром можно адресовать лишь 64Kb, а всего 220=1Mb. Это связано с тем, что у процессора 20 разрядная шина. В реальном режиме используются near(смещение) и far(сегмент << 4 + смещение) адреса. Исполнительный адрес задается неоднозначно. Если в сегментном регистре 3 правые значения (12 последних битов) равны нулю, то первое значение – номер физ. сегмента памяти, а адрес – нормализованный.

Адреса (сегмент: смещение):

CS: IP адрес текущей команды (CS: IP + PSR = PSW)

SS: SP адрес стека

DS: BP адрес данных

ES: DX адрес данных

PSW (Program Status Word) в Microsoft называется MSW (Mashine Status Word). PSW задается адресом команды и PSR.

Bit

Регистры данных EAX, EBX, ECX, EDX

Индексные регистры ESI, EDI

Сегментные регистры ES, DS, CS, SS, FS, GS

Регистры-указатели EIP, EBP, ESP

Регистр флагов EFLAGS (Program Status Register)

Адреса (абсолютные):

EIP адрес текущей команды (EIP + PSR = PSW)

ESP адрес стека

EBP адрес данных

EAX/EBX/ECX/EDX адрес данных

Адресное пространство процесса

1. Код CS:IP

2. Данные DS:BP (ES:DX)

3. Управляющая информация

· Стек SS:SP – память для передачи параметров и т.п.

· Куча – область памяти, выделяемая динамически (malloc, переменные и т.п.).

Модели памяти:

1. Tiny – Все сегментные регистры имеют одно значение (один сегмент), используются только near адреса.

2. Small – Под каждый элемент программы не более одного сегмента. Сегментные регистры не меняются, но имеют разные значения. Внутри сегмента – near, между сегментами – far.

3. Compact - 1 сегмент кода, несколько сегментов данных (для данных – far, кода – near)

4. Medium - 1 сегмент данных, несколько сегментов кода (для кода – far, данных – near)

5. Large – несколько сегментов кода и несколько сегментов данных, но 1 статический элемент данных не более одного сегмента (не возможно выделить память больше 64Kb)

6. Huge – то же, но без ограничений

Основная память PC.

Bit

2 GB – ОС

2 GB - приложения

Bit

У процессора 20-ти разрядная шина, т.е. можно адресовать 220 байт=1Мб, но регистры процессора – 16 бит.

Для адресации 1Мб памяти используется следующая схема: используется номер сегмента и смещение – два 16-битовых числа.

3 типа адресации пространства микропроцессора:

доступно в реальном режиме CMA - Conventional Memory Area 0-640K Ядро ОС + приложения
UMA(B) – Upper Memory Area (Block) расположена на контроллерах 640K-1M Служебная область. Физические сегменты: A, B – Video RAM (ROM) C, D, E – на различные нужды* F – ROM (BIOS)
HMA – High Memory Area HMA - это часть XMA! 1M..1M+64K-16 Дополнительные драйверы
  XMA – Extended Memory Area 1M… Динамическая память для программ

*Сегменты C, D, E используются в качестве окна для EMS, Shadow-памяти (туда перегружаются программы из ПЗУ/BIOS) или используются некоторыми программами ОС.

Два стандарта использования XMA:

· XMS – Extended Memory Specification. Процессор на время обращения к расширенной памяти переводится в защищенный режим.

· EMS – Expanded Memory Specification. Отображение через сегменты C/D/E (окно до 64Kb) c помощью драйвера.

Монитор и клавиатура.

Монитор

Pixel – Picture Element (пиксель – единичная светящаяся точка экрана). Пиксель может быть отображен с помощью различного набора цветов – палитры (palette).

CGA 640x200
EGA 480x350
VGA 640x480 16б256
SVGA 800x600
XGA 1024x768 32K

High Color – 15 Бит (5-5-5) - 32768 цветов

High (Real) Color – 16 Бит (5-6-5) - 65536 цветов

b R G B i R G B

True Color – 24 (32) Бита (8-8-8) - 16777216 цветов

Текстовый режим: 80х25 по 2 байта (1 – код, 2 – атрибуты, т.е. цвет, фон, мигание):

биты 0-2, 4-6 – цвет символа и фона, i – яркость, b – мерцание.

Текущая видеостраница – отображается на экран.

Активная видеостраница – доступна функциям, формирующим изображение.

Клавиатура (управление и ввод текста)

Все клавиши (83/101) делятся на алфавитно-цифровые, управляющие и модификаторы (для различного использования других клавиш). В порт 61h заносится информация о нажатии клавиши, а в 60h – скан-код. С клавиатуры в порт 60h передается 1 байт. Вызывается прерывание 9h, которое передает в буфер клавиатуры 2 байта: либо SCAN-код и ASCII-код, либо 0 и дополнительный ASCII-код (для управляющих клавиш).

Расширенная таблица ASCII (коды 128-255) предназначена для кодирования национальных алфавитов, они отличаются от первых 127 стандартных установленным в 1 старшим битом.

Модификаторы:

Alt L/R

Ctrl L/R

Shift L/R

Накопители на жестких дисках (HDD).

 

Различаются по емкости и длине. В силу того, что плотность записи разная, то в центре информация менее надежна.

Каждая дорожка разбивается на блоки (блок – единица объема)

Цилиндр – совокупность дорожек, находящихся на одинаковом удалении от оси.

Физический адрес состоит из: № цилиндра, № дорожки, № блока.

Количество дорожек на одной стороне определяет количество цилиндров.

Для работы с HDD нужно:

1 Создание дисковой структуры (fdisk)

2 Создание файловой структуры (format)

На каждом разделе должна быть файловая система.

· PBS (Partition Boot Sector) – загрузочная запись

· Метка тома

· FAT (File Allocation Table)– таблица размещения данных

· MD (Main Directory) – главный каталог

· Область данных

Возможно создание до 3х первичных разделов и одного расширенного. Каждый первичный раздел имеет не более одного логического диска (файловой системы). Расширенный раздел может иметь неограниченное количество логических дисков.

MBR (Master Boot Record) содержит код загрузки ОС IPL (Initial Program Loader) и таблицу разделов (до 4 штук ) с указанием системного. PBS системного раздела содержит вторую часть IPL. Существует также главная запись расширенного раздела – информация о его разбиении на логические диски. Каждый логический диск может иметь свою файловую систему.

 

SIDE - количество рабочих поверхностей (фактически номер трэка в цилиндре)

TRACK - количество дорожек на одной поверхности (фактически номер цилиндра)

SECTOR (512 bytes) - количество секторов на одной дорожке (фактически номер блока)

Кластер – несколько секторов, объединенных в одну логически неделимую единицу хранения информации. Память для файлов выделяется кластерами. Чем больше кластер, тем менее эффективно используется пространство, тем больше вероятность потерять информацию и тем легче поиск. При одинаковых объемах логического диска размер кластера будет максимальным в FAT12 и минимальным в FAT32, это связано с количеством битов, отводимых на адресацию кластеров. В NTFS размер кластера не зависит от размера логического диска и обычно устанавливается равным 4KB.

Важно понимать принципы логического размещения файлов и указания их имен, размещения и т.п.

Последнее изменение этой страницы: 2016-07-22

lectmania.ru. Все права принадлежат авторам данных материалов. В случае нарушения авторского права напишите нам сюда...