Интерфейс — это средство сопряжения двух устройств, в котором все физические и логические параметры согласуются между собой. Каждый из функциональных элементов (память, монитор или другое устройство) связан с шиной определённого типа — адресной, управляющей или шиной данных.
Для согласования интерфейсов периферийные устройства подключаются к шине не напрямую, а через свои контроллеры (адаптеры) и порты.
Контроллеры и адаптеры представляют собой наборы электронных цепей, которыми снабжаются устройства компьютера с целью совместимости их интерфейсов. Контроллеры, кроме этого, осуществляют непосредственное управление периферийными устройствами по запросам микропроцессора.
Порты устройств представляют собой некие электронные схемы, содержащие один или несколько регистров ввода-вывода и позволяющие подключать периферийные устройства компьютера к внешним шинам микропроцессора. Портами также называют устройства стандартного интерфейса: последовательный, параллельный и игровой порты (или интерфейсы).
Последовательный порт обменивается данными с процессором побайтно, а с внешними устройствами — побитно. Параллельный порт получает и посылает данные побайтно.
К последовательному порту обычно подсоединяют медленно действующие или достаточно удалённые устройства, такие, как мышь и модем. К параллельному порту подсоединяют более "быстрые" устройства — принтер и сканер. Через игровой порт подсоединяется джойстик. Клавиатура и монитор подключаются к своим специализированным портам, которые представляют собой просто разъёмы.
Основные электронные компоненты, определяющие архитектуру процессора, размещаются на основной плате ПК, которая называется системной или материнской (MotherBoard). А контроллеры и адаптеры дополнительных устройств, либо сами эти устройства, выполняются в виде плат расширения (DаughterBoard — дочерняя плата) и подключаются к шине с помощью разъёмов расширения, называемых также слотами расширения (англ. slot — щель, паз).
Любое внешнее устройство имеет контроллер, через который организуется аппаратное взаимодействие внешнего устройства с процессором. Каждому контроллеру внешнего устройства назначается свой адрес, по которому можно обращаться к нему.
Рисунок 2.5 – Общая схема архитектуры вычислительной системы, спецификации интерфейсов с ВУ
При обращении к устройству его адрес выставляется центральным процессором на шину адреса. По шине данных осуществляется обмен данными между устройствами и процессором. В выбранной архитектуре используются следующие внешние устройства: монитор, клавиатура, CD-ROM и принтер.
2.5 Система прерываний
Наступление того или иного события сопровождается возникновением прерывания. Прерывание – сигнал, заставляющий ЭВМ менять обычный порядок выполнения исполнения потока. По определению прерывание означает временное прекращение основного процесса вычислений для выполнения некоторых запланированных или незапланированных действий, вызываемых работой аппаратуры или программы. В зависимости от источника прерывания классифицируются на:
- аппаратные, возникающие как реакция микропроцессора на физический сигнал от некоторого устройства компьютера. По времени возникновения эти прерывания асинхронны, то есть происходят в случайные моменты времени;
- программные, которые вызываются искусственно с помощью соответствующей команды из программы. Они предназначены для выполнения некоторых действий операционной системы. Эти прерывания являются синхронными;
- исключения – разновидность программных прерываний, являющихся реакцией микропроцессора на нестандартную ситуацию, возникающую внутри микропроцессора во время выполнения некоторой команды программы.
Список прерываний представлен в таблице 2.2.
Таблица 2.2 – Список прерываний
№ прерывания
Тип прерывания
Наименование
Условие возникновения
IRQ 1
программное
Деление на 0
Деление на 0
IRQ 2
программное
Переполнение
Переполнение стека
IRQ 3
программное
Память
Неправильное обращение к памяти – выход за пределы сегмента
IRQ 4
программное
Память
Неправильное обращение к памяти – нарушение уровня доступа
IRQ 5
аппаратное
Клавиатура
Нажатие клавиши
IRQ 6
аппаратное
ЖД
Прерывания жесткого диска
IRQ 7
аппаратное
Принтер
Прерывания принтера
IRQ 8
аппаратное
Мышь
Прерывания мыши
IRQ 9
аппаратное
Сетевая карта
Прерывания сетевой карты
IRQ 10
аппаратное
Ожидание
Приостановка выполнения задачи
2.6 Аппаратные средства обеспечения защиты
Под аппаратными средствами защиты понимаются специальные средства, непосредственно входящие в состав технического обеспечения и выполняющие функции защиты как самостоятельно, так и в комплексе с другими средствами, например с программными. Можно выделить некоторые наиболее важные элементы аппаратной защиты:
- защита от сбоев в электропитании;
- защита от сбоев серверов, рабочих станций и локальных компьютеров;
- защита от сбоев устройств для хранения информации;
- защита от утечек информации электромагнитных излучений.
Наиболее надежным средством предотвращения потерь информации при кратковременном отключении электроэнергии в настоящее время является установка источников бесперебойного питания (UPS). Различные по своим техническим и потребительским характеристикам, подобные устройства могут обеспечить питание всей локальной сети или отдельной компьютера в течение какого-то промежутка времени, достаточного для восстановления подачи напряжения или для сохранения информации на магнитные носители. В противном случае используется следующая функция подобных устройств – компьютер получает сигнал, что UPS перешел на работу от собственных аккумуляторов и время такой автономной работы ограничено. Тогда компьютер выполняет действия по корректному завершению всех выполняющихся программ и отключается (команда SHUTDOWN). Большинство источников бесперебойного питания одновременно выполняет функции и стабилизатора напряжения, является дополнительной защитой от скачков напряжения в сети. Многие современные сетевые устройства - серверы, концентраторы, мосты и т.д. – оснащены собственными дублированными системами электропитания.Крупные организации имеют собственные аварийные электрогенераторы или резервные линии электропитания. Эти линии подключены к разным подстанциям, и при выходе из строя одной них электроснабжение осуществляется с резервной подстанции.
Один из методов такой защиты - это резервирование особо важных компьютерных подсистем. Пример – симметричное мультипроцессирование. В системе используется более двух процессоров, и в случае сбоя одного из них, второй продолжает работу так, что пользователи вычислительной системы даже ничего не замечают. Естественно на такую защиту требуется гораздо больше средств.
Организация надежной и эффективной системы резервного копирования и дублирования данных является одной из важнейших задач по обеспечению сохранности информации. В небольших сетях, где установлены один-два сервера, чаще всего применяется установка системы резервного копирования непосредственно в свободные слоты серверов. Это могут быть устройства записи на магнитные ленты (стример), на компакт-диски многоразового использования, на оптические диски и т.д. В крупных корпоративных сетях наиболее предпочтительно организовать выделенный специализированный архивационный сервер. Специалисты рекомендуют хранить дубликаты архивов наиболее ценных данных в другом здании, на случай пожара или стихийного бедствия. В некоторых случаях, когда подобные сбои и потеря информации могут привести к неприемлемой остановке работы - применяются система зеркальных винчестеров. Резервная копия информации формируется в реальном времени, то есть в любой момент времени при выходе из строя одного винчестера система сразу же начинает работать с другим.
В месте с тем, кроме аппаратных средств резервного копирования данных существуют и чисто программные средства архивации.
Прохождение электрических сигналов по цепям ПК и соединительным кабелям сопровождается возникновением побочных электромагнитных излучений (ПЭМИ) в окружающей среде. Распространение побочных электромагнитных излучений за пределы контролируемой территории на десятки, сотни, а иногда и тысячи метров, создает предпосылки для утечки информации, так как возможен ее перехват с помощью специальных технических средств контроля. В персональном компьютере кроме проводных линий связи также основными источниками электромагнитных излучений являются мониторы, принтеры, накопители на магнитных дисках, а также центральный процессор. Исследования показывают, что излучение видеосигнала монитора является достаточно мощным, широкополосным и охватывает диапазон метровых и дециметровых волн. Для уменьшения уровня побочных электромагнитных излучений применяют специальные средства защиты информации: экранирование, фильтрацию, заземление, электромагнитное зашумление, а также средства ослабления уровней нежелательных электромагнитных излучений и наводок при помощи различных резистивных и поглощающих согласованных нагрузок.
При контроле защиты информации ПК используются специально разработанные тестовые программы, а также специальная аппаратура контроля уровня излучения, которые определяют режим работы ПК, обеспечивающий совместно с другими техническими средствами скрытый режим работы для различных средств разведки.
Используется программно-аппаратное запрещение доступа на запуск ЭВМ на уровне BIOS (паролирование); использование привилегированных команд; разделение сегментов по типам (например, кодовый сегмент или сегмент данных); введение прав доступа к сегментам и страницам (например, право только чтения или только исполнения).
3 ПРОЕКТИРОВАНИЕ КОМАНДНОГО ЯЗЫКА ОС
При проектировании командного языка рекомендуется выделить основное множество команд, подлежащих дальнейшей реализации в проекте. Дополнительные сервисные команды представить только в таблице команд. Командный язык ОС включает:
- интерактивные команды;
- системные вызовы;
- язык пакетных файлов.
3.1 Интерактивные команды
Интерактивные команды вводятся пользователем с терминала:
¾ основные: начало/завершение сеанса работы, порождение/ уничтожение процесса, создание/удаление элементов файловой структуры, копирование файлов, организация защиты, перенос системы;
¾ дополнительные: установка и модификация параметров процессов/ресурсов, информационные команды.
При разработке интерактивных команд следует определить правила именования ресурсов системы: физических и логических устройств, каталогов, файлов, процессов и др.
Для обеспечения запуска нескольких процессов с одного терминала необходима команда асинхронного запуска процесса, не требующая ожидания завершения текущего процесса перед запуском следующего. Такие команды, как правило, используют для установки фоновых процессов.
Правила именования:
- физические устройства именуются кодом из латинских букв и цифр;
- файлы, каталоги и процессы именуются произвольными именами, состоящих из любых букв и цифр в произвольном порядке (имена содержащие пробелы берутся в двойные кавычки).
Список нтрективных команд приведен в таблице 3.1.
Таблица 3.1 – Список интерактивных команд
Мнемоника
Наименование
Параметр 1
Параметр 2
Описание
Тип
Диапазон
значений
Значение по умолчанию
Тип
Диапазон
значений
Значение по умолчанию
on
Начало сеанса работы
-
-
-
-
-
-
Начало сеанса работы
ShutDown
Завершение работы компьютера
-
-
-
-
-
-
Завершение работы компьютера
Продолжение табл. 3.1
CreateProcess
Создать процесс
строка
Буквы
(рус./лат.) и цифры
-
число
0-32
Создание и фоновый запуск процесса с заданным именем и приоритетом
(параметр 1 и 2 соответственно)
MakeActive
Переключиться на процесс
строка
Буквы
(рус./лат.) и цифры
-
-
-
-
Переключиться на созданный процесс для непосредственной работы
SetPriority
Установить приоритет процесса
строка
Буквы
(рус./лат.) и цифры
-
число
0-32
Устанавливает приоритет для процесса c заданным именем
DestroyProcess
Уничтожить процесс
строка
Буквы
(рус./лат.) и цифры
-
-
-
-
Принудительное уничтожение процесса с заданным именем
mkdir
Создать каталог
строка
Буквы
(рус./лат.) и цифры
-
строка
a, r, h, s, -
a---
Создать каталог с заданным именем и атрибутами (а – архивный, r – только чтение, h – скрытый, s – системный)
(параметр 1 и 2 соответственно)
rmdir
Удалить каталог
строка
Буквы
(рус./лат.) и цифры
-
-
-
-
Удалить каталог с заданным именем
Create
Создать файл
строка
Буквы
(рус./лат.) и цифры
-
строка
a, r, h, s, -
a---
Создать файл с заданным именем и атрибутами
del
Удалить файл(ы)
строка
Буквы
(рус./лат.) и цифры, *, ?
-
-
-
-
Удалить файл с заданным именем,
(* - любые символы, ? – любой символ)
copy
Копирование
строка
Буквы
(рус./лат.) и цифры, *, ?
-
строка
Буквы
(рус./лат.) и цифры
-
Копировать файлы и каталоги из источника в назначение
sys
Создать системный файл
символ
'a'…'z'
-
-
-
-
Записать системные файлы на диск
attrib
Установка атрибутов
строка
Буквы
(рус./лат.) и цифры, *, ?
-
строка
a, r, h, s, -
a---
Установить(сбросить) атрибуты файлов и каталогов (без параметров выводит информацию об атрибутах всех файлов)
rights
Право на доступ
строка
Буквы
(рус./лат.) и цифры, *, ?
-
строка
Буквы
(рус./лат.)
-
Устанавливает разрешение на доступ к файлам и каталогам (параметр 1 – маска файлов, параметр 2 – группа пользователей, имеющих право на доступ)
info
информация
строка
Все буквы и цифры (первая буква) и *
-
строка
dir, file, proc
Proc
Выводит информацию на экран о состоянии процесса или о директории, или о файле
3.2. Системные вызовы
Системные вызовы - это обращение к средствам ОС из выполняемых процессов. Эти средства ОС часто бывают скрыты от конечных пользователей. Для обеспечения переносимости программ работа в среде языков программирования в некоторой степени инвариантна по отношению к текущей операционной системе. Однако реализация алгоритмического языка для определенной операционной системы использует системные вызовы. Например, операторы ввода/ вывода в конечном счете транслируются в последовательности системных вызовов.
Основные системные вызовы: порождение и уничтожение процессов (дочерних), взаимодействие процессов, выделение и освобождение дополнительной оперативной памяти, ввод/вывод для физических устройств, файловый ввод/вывод. Как правило, ввод /вывод на физическом уровне является привилегированным средством и недоступен для прикладных процессов в целях обеспечения защиты информации на устройствах. Список системных вызовов приведен в таблице 3.2.
Таблица 3.2 – Список системных вызовов
Системная функция
Наименование
Параметр 1
Параметр 2
Описание
Тип
Диапазон
значений
Тип
Диапазон
значений
sistp
Ожидать сообщение от процесса
строка
Буквы
-
-
Ожидание сообщения от процесса
kill
Уничтожить процесс
строка
Буквы
-
-
Принудительное уничтожение дочернего процесса64
shmget
Выделить память
число
0.. 216
число
0..max
Выделение памяти с 1 параметром – адрес и 2 параметром – кол-во (max – системная переменная, хранящая максимальное значение выделяемой памяти)
free
Освободить память
число
0…216
-
-
Освобождение памяти по указателю (параметр – адрес)
open
Открыть файл
строка
Буквы
число
0..216
Открыть файл ([/r]-открыть для чтения; [/w]-открыть зля записи;[/p]-пароль для доступа;)
1 параметр – путь. имя, 2 параметр - адрес
close
Закрыть файл
число
0.. 216
-
-
Закрыть файл (параметр – адрес)
setpos
Установить позицию файла
число
0..216
число
0..232
Установить позицию в файле, заданным своим дескриптором (1 параметр – адрес файла, 2 параметр - позиция)
write
Запись байта в файл
число
0..216
число
0..255
Записать байт в файл и сместить позицию (1 параметр – адрес, 2 параметр – на сколько сместить позицию)