- •Курсовой проект
- •Выбор архитектуры вычислительной системы
- •3 Вытесняющая многозадачность и средства взаимодействия в ос windows хх и windows nt
- •События (events);
- •4 Проектирование командного языка ос
- •5 Определение состава и общей структуры системы
- •6 Формирование базы данных ос
- •7 Проектирование структуры и реализация логики управления файловой системы
- •8 Общее описание функционирования ос
Выбор архитектуры вычислительной системы
2.1 Спецификация интерфейсов с ВУ
Рисунок – Общая схема архитектуры вычислительной системы, спецификации интерфейсов с ВУ
Интерфейс — это средство сопряжения двух устройств, в котором все физические и логические параметры согласуются между собой.
Каждый из функциональных элементов (память, монитор или другое устройство) связан с шиной определённого типа — адресной, управляющей или шиной данных.
Контроллеры и адаптеры представляют собой наборы электронных цепей, которыми снабжаются устройства компьютера с целью совместимости их интерфейсов. Контроллеры, кроме этого, осуществляют непосредственное управление периферийными устройствами по запросам микропроцессора.
Порты устройств представляют собой некие электронные схемы, содержащие один или несколько регистров ввода-вывода и позволяющие подключать периферийные устройства компьютера к внешним шинам микропроцессора.
Портами также называют устройства стандартного интерфейса: последовательный, параллельный и игровой порты (или интерфейсы).
Последовательный порт обменивается данными с процессором побайтно, а с внешними устройствами — побитно. Параллельный порт получает и посылает данные побайтно.
К последовательному порту обычно подсоединяют медленно действующие или достаточно удалённые устройства, такие, как мышь и модем. К параллельному порту подсоединяют более "быстрые" устройства — принтер и сканер. Через игровой порт подсоединяется джойстик. Клавиатура и монитор подключаются к своим специализированным портам, которые представляют собой просто разъёмы.
Основные электронные компоненты, определяющие архитектуру процессора, размещаются на основной плате ПК, которая называется системной или материнской (MotherBoard). А контроллеры и адаптеры дополнительных устройств, либо сами эти устройства, выполняются в виде плат расширения (DаughterBoard — дочерняя плата) и подключаются к шине с помощью разъёмов расширения, называемых также слотами расширения (англ. slot — щель, паз).
Вычислительная система - объединение программных и аппаратных средств, которые предоставляют услуги пользователю.
Структура организации вычислительной системы (ВС):
-
Прикладные программы
С
истемы
программированияУправление логическими устройствами
Управление физическими устройствами
Аппаратные средства
Рисунок – Структура организации вычислительной системы
Аппаратные средства.
Ресурсы ВС разделяются на два типа:
не участвующие в управлении программой (объем винчестера и т.д.).
участвующие в управлении программой (размер ячейки памяти, объем оперативной памяти, скорость выполнения команд).
Ресурсы второго типа называются физическими ресурсами аппаратуры.
Управление физическими устройствами.
Управление физическими устройствами осуществляют программы, ориентированные на аппаратуру, взаимодействующие с аппаратными структурами, знающие "язык" аппаратуры.
Управление логическими устройствами.
Этот уровень ориентирован на пользователя. Команды данного уровня не зависят от физических устройств, они обращены к предыдущему уровню. На базе этого уровня могут создаваться новые логические ресурсы.
Системы программирования.
Система программирования - это комплекс программ для поддержки всего технологического цикла разработки программного обеспечения.
Прикладное программное обеспечение.
Прикладное программное обеспечение необходимо для решения задач из конкретных областей.
Операционная система (ОС) - программа, обеспечивающая взаимодействие пользователя с ВС, а также управляющая ресурсами ВС (логическими и физическими). К ОС относится второй и третий уровень пирамиды.
Структурная схема ПК представлена на рисунке .
Рисунок - Структурная схема ПК
Для связи основных устройств между собой используется специальная информационная магистраль, обычно называемая инженерами шиной. Шина состоит из трех частей:
- шина адреса, на которой устанавливается адрес требуемой ячейки памяти или устройства, с которым будет происходить обмен информацией;
- шина данных, по которой собственно и будет передана необходимая информация;
- шина управления, регулирующей этот процесс (например, один из сигналов на этой шине позволяет компьютеру различать между собой адреса памяти и устройств ввода/вывода).
Аппаратная часть ПК состоит из нескольких основных функциональных устройств, реализующих арифметико-логические операции, а также управление, запоминание, ввод и вывод данных.
Устройство центрального процессора.
Арифметико-логическое устройство (АЛУ) и устройство управления (УУ) объединены в одном кремниевом кристалле и образуют центральный процессор (ЦП), или микропроцессор. Большинство кристаллов микропроцессоров заключено в миниатюрные корпуса прямоугольной формы. Арифметико-логическое устройство выполняет основные арифметические операции, такие, как сложение и вычитание. Оно может также сравнивать два заданных операнда и индицировать результат.
Устройство управления координирует и синхронизирует взаимодействие микропроцессора и памяти ПК.
2.2 Архитектура процессора: регистры, способы адресации, система команд
2.2.1
Архитектура процессора
DAR
0 15
IR
0 3
ДШ
БУС
PC
0 15
C
Z
O
ША
8
8
C
O
Z
ШД
8
8
8
8
АЛУ
8
8
sd0
Acc0
0 15
8
Acc1
0 15
sd1
R0
0 15 15
R1
0 15
R2
0 15
R3
0 15
R4
0 15
R5
0 15
R6
0 15
R7
0 15
Рисунок - Структурно-логическая схема гипотетического микропроцессора
PC (IP) — счетчик команд. Содержит адрес текущей выполняемой команды, автоматически увеличивается на длину текущей команды (при переходе на следующую).
IR — регистр команд. Предназначен для приема из памяти и хранения кода команды.
DAR — регистр данных и адреса. При наличии операндов в команде после считывания кода операции в этот регистр считываются операнды (адрес, данные для загрузки регистров, а также номера регистров).
Aсс — регистр-аккумулятор.
RL0 .. RL15; RH0 .. RH15 — РОНы – регистры общего назначения.
Регистр флагов содержит биты признаков состояния микропроцессора. Данные признаки изменяют свое состояние в результате операций над данными (в основном, арифметических). Также они используются для организации условных переходов в программе. Используемые в данном процессоре:
1) Z – признак нуля. Устанавливается в том случае, если результат арифметической или логической операции равен 0.
2) C – перенос из старшего разряда.
4) O — Переполнение.
БУС — Блок управления и синхронизации. Служит для выработки управляющих сигналов и синхронизации устройств, необходимых для выполнения команды в соответствии с сигналами дешифратора команд.
Режимы адресации
1. Прямая. Адрес исполнительный является частью команды. Дополнительных действий для вычисления адреса не требуется. Длина этой команды зависит от размера адресуемой памяти. Используется при записи данных в память и из памяти и для операций перехода
2. Непосредственная. Обрабатываемые данные являются частью команд. Наиболее быстрая. Наименее гибкая, т.к. адрес и данные имеют фиксированную длину. Операнд занимает одно из полей команды и, следовательно, выбирается из оперативной памяти одновременно с ней. Используется в арифметических командах и при загрузке конкретного значения в регистр;
3. Прямая регистровая. В команде указывается аккумулятор, в котором находится операнд. Используется для загрузки, при арифметических и логических операциях и операциях сравнения;
4. Косвенная регистровая. Адрес исполнительный находится в РОНе адресуемой команде, является более быстрой, чем косвенная адресация и позволяет сократить длину команды;
5. Базовая. Адрес исполнительный операнда формируется при сложении содержимого базового регистра с непосредственным смещением (адресом) из кода операции.
Система команд
В соответствии с требованием функциональной полноты система команд включает следующие операции:
загрузку регистров и запись в память;
сложение и вычитание целых чисел;
поразрядные логические операции;
условные и безусловные переходы;
изменение содержимого разрядов регистра кода условия (флажков);
ввод и вывод;
останов, вызов подпрограмм и возврат из них.
Система команд обеспечивает с помощью вышеприведенных команд организацию циклов, переход к подпрограмме и возврат. Модификация данных обеспечивается наличием команд загрузки, записи в память, арифметических и логических команд, изменяющих содержимое аккумуляторов и регистров общего назначения. Система команд микропроцессора представлена в таблице 1.
Таблица 1 – Система команд микропроцессора
Мнемокод операции |
Наименование |
Формат |
Описание |
|
Команды пересылок |
||||
MVI |
Перемещение байта данных в аккумулятор |
КОП D8 00000000 xxxxxxxx |
D8 → Acc непосредственная |
|
MOVAR |
Перемещение аккумулятора в регистр |
КОП Ri 00000001 ^^^^ xxxx |
Acc → Ri прямая регистр. |
|
MOVRA |
Перемещение регистра в аккумулятор |
КОП Acc 00000010 ^^^^ xxxx |
Ri → Acc прямая регистр. |
|
MOVRR |
Перемещение данных между регистрами |
КОП Ri Rj 00000011 xxxx xxxx |
Ri → Rj прямая регистр. |
|
MOVMA |
Перемещение данных из памяти в аккумулятор |
КОП M(D8) 00000100 xxxxxxxx |
M(D8) → Acc прямая |
|
Арифметические команды |
||||
ADDAR |
Сложение аккумулятора с регистром |
КОП Acc Ri 00000101 xxxx xxxx |
Acc + Ri →Acc прямая регистр. |
|
ADDRR |
Сложение регистров |
КОП Ri Rj 00000110 xxxx xxxx |
Ri + Rj → Ri прямая регистр. |
|
ADDAM |
Сложение аккумулятора с адресом в памяти регистра |
КОП Acc 00000111 ^^^^ xxxx |
Acc + M[Ri] →Acc косвенная регистр. |
|
SUBRA |
Вычитание регистра из аккумулятора |
КОП Acc RLi 00001000 xxxx xxxx |
Acc – Ri → Acc прямая регистр. |
|
SUBRR |
Вычитание регистров |
КОП Ri Rj 00001001 xxxx xxxx |
Ri – Rj → Ri прямая регистр. |
|
INRR |
Увеличение значения регистра на 1 |
КОП RLi 00001010 ^^^^ xxxx |
Ri + 1 → Ri прямая регистр. |
|
INRA |
Увеличение значения аккумулятора на 1 |
КОП Acc 00001011 ^^^^ xxxx |
Acc + 1 → Acc прямая регистр. |
|
DCRR |
Уменьшение значения регистра на 1 |
КОП Ri 00001100 ^^^^ xxxx |
Ri - 1 → Ri прямая регистр. |
|
DCRA |
Уменьшение значения аккумулятора на 1 |
КОП Acc 00001101^^^^ xxxx |
Acc - 1 → Acc прямая регистр. |
|
MULTAR |
Умножение аккумулятора на регистр |
КОП Ri 00010010 ^^^^ xxxx |
Acc * Ri → Acc прямая регистр. |
|
MULTARI |
Умножение аккумулятора на регистр с учетом знака |
КОП Ri 00010011 ^^^^ xxxx |
Acc * Ri → Acc прямая регистр. |
|
DIVAR |
Деление аккумулятора на регистр |
КОП Ri 00010100 ^^^^ xxxx |
Acc / Ri → Acc прямая регистр. |
|
DIVARI |
Деление аккумулятора на регистр с учетом знака |
КОП Acc 00011101 ^^^^ xxxx |
Acc / Ri → Acc прямая регистр. |
|
Поразрядные логические операции |
||||
ANDRR |
Конъюнкция регистров |
КОП Ri Rj 00011110 xxxx xxxx |
Ri and Rj → Ri прямая регистр.
|
|
ANDRA |
Конъюнкция регистра и аккумулятора |
КОП Ri Acc 00011111 xxxx xxxx |
Ri and Acc → Ri прямая регистр.
|
|
ORRR |
Дизъюнкция регистров |
КОП RLi RLj 00100000 xxxx xxxx |
Ri or Rj → Ri прямая регистр. |
|
ORRA |
Дизъюнкция регистра и аккумулятора
|
КОП Ri Acc 00100001 xxxx xxxx |
Ri or Acc → Ri прямая регистр. |
|
NOTR |
Отрицание регистра |
КОП Ri 00100010 ^^^^ xxxx |
not Ri → Ri прямая регистр. |
|
NOTA |
Отрицание аккумулятора |
КОП Acc 00100011 ^^^^ xxxx |
not Acc → Acc прямая регистр. |
|
Сдвиг |
||||
RCLR |
Циклический сдвиг значения регистра влево с переносом старшего бита во флаг C, а значения флажка — в младший бит |
КОП Ri 00100100 ^^^^ xxxx |
прямая регистр. |
|
RCLA |
Циклический сдвиг значения аккумулятора влево с переносом старшего бита во флаг C, а значения флажка — в младший бит |
КОП Acc 00100101 ^^^^ xxxx |
прямая регистр. |
|
RCRR |
Циклический сдвиг значения регистра вправо с переносом младшего бита во флаг CF, а значения флажка — в старший бит |
КОП Ri 00100110 ^^^^ xxxx |
прямая регистр. |
|
RCRA |
Циклический сдвиг значения аккумулятора вправо с переносом младшего бита во флаг CF, а значения флажка — в старший бит
|
КОП Acc 00100111 ^^^^ xxxx |
прямая регистр.
|
|
Условные и безусловные переходы |
||||
CMPRR |
Сравнение значения регистров |
КОП Ri Rj 00101000 xxxx xxxx |
Ri – Rj → изменение флагов прямая регистр. |
|
CMPRA |
Сравнение значения регистра и аккумулятора |
КОП Ri Acc 00101001 xxxx xxxx |
Ri – Acc → изменение флагов прямая регистр. |
|
Изменение содержимого разрядов регистра кода условия |
||||
CLNZ |
Установка флага Z в 0 |
КОП 00101010 ^^^^^^^^ |
Z = 0 |
|
SETZ |
Установка флага Z в 1 |
КОП 00101011 ^^^^^^^^ |
Z = 1 |
|
CLNC |
Установка флага C в 0 |
КОП 00101100 ^^^^^^^^ |
C = 0 |
|
SETC |
Установка флага C в 1 |
КОП 00101101 ^^^^^^^^ |
C = 1 |
|
CLNO |
Установка флага O в 0 |
КОП 00101110 ^^^^^^^^ |
O = 0 |
|
SETO |
Установка флага O в 1 |
КОП 00101111 ^^^^^^^^ |
O = 1 |
|
Ввод и вывод |
||||
IN |
Загрузка данных из порта устройства в аккумулятор |
КОП Pn 00110000 xxxxxxxx |
Pn → Acc прямая |
|
OUT |
Загрузка данных из аккумулятора в порт |
КОП Pn 00110001 xxxxxxxx |
Acc → Pn прямая |
|
Останов |
||||
NOP |
Команда не производит никаких действий |
КОП 00110010 ^^^^^^^^ |
нет операций |
|
HLT |
Перевод процессора в состояние останова |
КОП 00110011 ^^^^^^^^ |
остановка работы процессора |
|
Команды переходов |
||||
JMPEQ |
Переход, если получили равные числа |
КОП S 00110100 xxxxxxxx |
Z = 1 → переход по C прямая |
|
JMPNEQ |
Переход, если получили неравные числа |
КОП S 00110101 xxxxxxxx |
Z = 0 → переход по C прямая |
|
JMPN |
Переход, если получили ноль |
КОП S 00110110 xxxxxxxx |
Z = 1 → переход по C прямая |
|
JMPNN |
Переход, если не получили ноль |
КОП S 00110111 xxxxxxxx |
Z = 0 → переход по C прямая |
|
JMPLS |
Переход, если первый операнд меньше второго |
КОП S 00111000 xxxxxxxx |
O = 0, C = 1 или O = 1, C = 0 → переход по C прямая |
|
JMPMR |
Переход, если первый операнд больше второго |
КОП S 00111001 xxxxxxxx |
O = 0, C = 0, Z = 0 или O = 1, C = 1, Z = 0 → переход по C прямая |
|
JMPLSEQ |
Переход, если первый операнд меньше либо равен второму |
КОП S 00111010 xxxxxxxx |
O = 0, C = 1, Z = 1 или O = 1, C = 0, Z = 1 → переход по S прямая |
|
JMPMREQ |
Переход, если первый операнд больше, либо равен второму |
КОП S 00111011 xxxxxxxx |
O = 0, C = 0 или O = 1, C = 1 → переход по C прямая |
|
JMP |
Переход по метке |
КОП S 00111100 xxxxxxxx |
прямая |
|
Система прерываний
Прерывание - это прекращение выполнения текущей команды или текущей последовательности команд для обработки некоторого события специальной программой - обработчиком прерывания, с последующим возвратом к выполнению прерванной программы. Событие может быть вызвано особой ситуацией, сложившейся при выполнении программы, или сигналом от внешнего устройства. Прерывание используется для быстрой реакции процессора на особые ситуации, возникающие при выполнении программы и взаимодействии с внешними устройствами.
Прерывания делятся на аппаратные и программные.
Аппаратные прерывания используются для организации взаимодействия с внешними устройствами. Запросы аппаратных прерываний поступают на специальные входы микропроцессора. Они бывают:
- маскируемые, которые могут быть замаскированы программными средствами компьютера;
- немаскируемые, запрос от которых таким образом замаскирован быть не может.
Программные прерывания вызываются следующими ситуациями:
- особый случай, возникший при выполнении команды и препятствующий нормальному продолжению программы (переполнение, нарушение защиты памяти, отсутствие нужной страницы в оперативной памяти и т.п.);
- наличие в программе специальной команды прерывания INT n, используемой обычно программистом при обращениях к специальным функциям операционной системы для ввода-вывода информации.
При поступлении запроса прерывания компьютер выполняет следующую последовательность действий:
1) определение наиболее приоритетного незамаскированного запроса на прерывание (если одновременно поступило несколько запросов);
2) определение типа выбранного запроса;
3) сохранение текущего состояния счетчика команд и регистра флагов;
4) определение адреса обработчика прерывания по типу прерывания и передача управления первой команде этого обработчика;
5) выполнение программы - обработчика прерывания;
6) восстановление сохраненных значений счетчика команд и регистра флагов прерванной программы;
7) продолжение выполнения прерванной программы.
Этапы 1-4 выполняются аппаратными средствами ПК автоматически при появлении запроса прерывания. Этап 6 также выполняется аппаратно по команде возврата из обработчика прерывания.
Таблица 2 – Список прерываний
№ прерывания |
Тип прерывания |
Наименование |
Условие возникновения |
IRQ 1 |
программное |
Деление на 0 |
Деление на 0 |
IRQ 2 |
программное |
Переполнение |
Переполнение стека |
IRQ 3 |
программное |
Память |
Неправильное обращение к памяти – выход за пределы сегмента |
IRQ 4 |
программное |
Память |
Неправильное обращение к памяти – нарушение уровня доступа |
IRQ 5 |
аппаратное |
Клавиатура |
Нажатие клавиши |
IRQ 6 |
аппаратное |
ЖД |
Прерывания жесткого диска |
IRQ 7 |
аппаратное |
Принтер |
Прерывания принтера |
IRQ 8 |
аппаратное |
Мышь |
Прерывания мыши |
IRQ 9 |
аппаратное |
Сетевая карта |
Прерывания сетевой карты |
IRQ 10 |
аппаратное |
ожидание |
Приостановка выполнения задачи |
2.4 Аппаратные средства обеспечения защиты
Под аппаратными средствами защиты понимаются специальные средства, непосредственно входящие в состав технического обеспечения и выполняющие функции защиты как самостоятельно, так и в комплексе с другими средствами, например с программными. Можно выделить некоторые наиболее важные элементы аппаратной защиты:
защита от сбоев в электропитании;
защита от сбоев серверов, рабочих станций и локальных компьютеров;
защита от сбоев устройств для хранения информации;
защита от утечек информации электромагнитных излучений.
2.4.1 Защита от сбоев в электропитании.
Наиболее надежным средством предотвращения потерь информации при кратковременном отключении электроэнергии в настоящее время является установка источников бесперебойного питания (UPS). Различные по своим техническим и потребительским характеристикам, подобные устройства могут обеспечить питание всей локальной сети или отдельной компьютера в течение какого-то промежутка времени, достаточного для восстановления подачи напряжения или для сохранения информации на магнитные носители. В противном случае используется следующая функция подобных устройств – компьютер получает сигнал, что UPS перешел на работу от собственных аккумуляторов и время такой автономной работы ограничено. Тогда компьютер выполняет действия по корректному завершению всех выполняющихся программ и отключается (команда SHUTDOWN). Большинство источников бесперебойного питания одновременно выполняет функции и стабилизатора напряжения, является дополнительной защитой от скачков напряжения в сети. Многие современные сетевые устройства - серверы, концентраторы, мосты и т.д. - оснащены собственными дублированными системами электропитания. Крупные организации имеют собственные аварийные электрогенераторы или резервные линии электропитания. Эти линии подключены к разным подстанциям, и при выходе из строя одной них электроснабжение осуществляется с резервной подстанции.
2.4.2 Защита от сбоев процессоров
Один из методов такой защиты - это резервирование особо важных компьютерных подсистем. Пример – симметричное мультипроцессирование. В системе используется более двух процессоров, и в случае сбоя одного из них, второй продолжает работу так, что пользователи вычислительной системы даже ничего не замечают. Естественно на такую защиту требуется гораздо больше средств.
2.4.3 Защита от сбоев устройств для хранения информации
Организация надежной и эффективной системы резервного копирования и дублирования данных является одной из важнейших задач по обеспечению сохранности информации. В небольших сетях, где установлены один-два сервера, чаще всего применяется установка системы резервного копирования непосредственно в свободные слоты серверов. Это могут быть устройства записи на магнитные ленты (стример), на компакт-диски многоразового использования, на оптические диски и т.д. В крупных корпоративных сетях наиболее предпочтительно организовать выделенный специализированный архивационный сервер. Специалисты рекомендуют хранить дубликаты архивов наиболее ценных данных в другом здании, на случай пожара или стихийного бедствия. В некоторых случаях, когда подобные сбои и потеря информации могут привести к неприемлемой остановке работы - применяются система зеркальных винчестеров. Резервная копия информации формируется в реальном времени, то есть в любой момент времени при выходе из строя одного винчестера система сразу же начинает работать с другим.
В месте с тем, кроме аппаратных средств резервного копирования данных существуют и чисто программные средства архивации.
2.4.4 Защита от утечек информации электромагнитных излучений
Прохождение электрических сигналов по цепям ПК и соединительным кабелям сопровождается возникновением побочных электромагнитных излучений (ПЭМИ) в окружающей среде. Распространение побочных электромагнитных излучений за пределы контролируемой территории на десятки, сотни, а иногда и тысячи метров, создает предпосылки для утечки информации, так как возможен ее перехват с помощью специальных технических средств контроля. В персональном компьютере кроме проводных линий связи также основными источниками электромагнитных излучений являются мониторы, принтеры, накопители на магнитных дисках, а также центральный процессор. Исследования показывают, что излучение видеосигнала монитора является достаточно мощным, широкополосным и охватывает диапазон метровых и дециметровых волн. Для уменьшения уровня побочных электромагнитных излучений применяют специальные средства защиты информации: экранирование, фильтрацию, заземление, электромагнитное зашумление, а также средства ослабления уровней нежелательных электромагнитных излучений и наводок при помощи различных резистивных и поглощающих согласованных нагрузок.
При контроле защиты информации ПК используются специально разработанные тестовые программы, а также специальная аппаратура контроля уровня излучения, которые определяют режим работы ПК, обеспечивающий совместно с другими техническими средствами скрытый режим работы для различных средств разведки.
Используется аппаратное запрещение доступа к винчестеру с терминала. Этот достигается с помощью ключа пользователя, которым он замыкает свой винчестер. При этом происходит запрещение доступа к контроллеру дисков и не обрабатывается не один сигнал поступающих от других устройств, кроме определенного сигнала, который генерируется при отмыкании винчестера ключом пользователя. Используется программно-аппаратное запрещение доступа на запуск ПК на уровне BIOS (паролирование); использование привилегированных команд; разделение сегментов по типам (например, кодовый сегмент или сегмент данных); введение прав доступа к сегментам и страницам (например, право только чтения или только исполнения).
