Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
кос ос мурзина дарья.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
83.6 Кб
Скачать
  • Периферийные устройства

  • Логические принципы организации ввода-вывода.

  • Структура системы ввода-вывода.

  • Функции базовой подсистемы ввода-вывода.

  • Системные и локальные шины

2.Что такое порт?

Портом устройства называется место в компьютере, через которое он может отправлять или получать информацию либо делать и то, и другое сразу. Часто порт называют I/O портом.

3.Что такое виртуальный порт?

Некое устройство (или программа для генерации данных) , которое определяется в системе как последовательный порт и позволяет всем другим программам работать с ним как с последовательным портом. Например, телефон, подключенный через USB или Bluetooth, может определяться как виртуальный ком-порт, к которому подключен модем. Программные виртуальные последовательные порты используются чаще всего для отладки ПО

4.Что такое системная шина?

Системная шина – подсистема, которая передает данные между функциональными блоками компьютера.

5.Что такое контроллер.

Контроллер – электронное устройство, которое забирает приходящие в порт сигналы или выдает их через порт. 

6.Что такое опрос устройств?

Опрос устройств – периодический анализ состояния каждого внешнего устройства, выполняемый операционной системой при обработке прерывания по таймеру.

7.Каковы возможные состояния устройства? При опросе устройств ОС определяет состояние каждого устройства, которое может быть следующим:

  • command-ready – готово к выполнению команд.

  • busy – занято.

  • error – ошибка.

8. Каким образом генерируется прерывание об окончании ввода-вывода?

  1. Если необработанных прерываний нет, прерывание выполняется немедленно.

  2. Если необработанных прерываний есть, контроллер игнорирует прерывание. Но устройство продолжает удерживать сигнал прерывания на шине до тех пор, пока оно не будет обработано.

Алгоритм работы:

  • Устройство выставляет сигнал прерывания

  • Контроллер прерываний инициирует прерывание, указывая номер устройства

  • Процессор начинает выполнять обработку прерывания, вызывая процедуру

  • Эта процедура подтверждает получение прерывания контроллеру прерываний.

9.Что такое маскируемый сигнал о прерывании и какова цель маскирования?

Маскируемый сигнал о прерывании – сигнал о прерывании, заблокированный с целью игнорирования или задержки прерывания

Общая идея метода может быть охарактеризована следующим образом.

  • Во-первых, значительно увеличить сложность графа потока управления, но так, чтобы все дуги графа потока управления, внесённые при маскировке, проходились при выполнении программы. Это позволяет преодолеть основную слабость "непрозрачных" предикатов.

  • Во-вторых, увеличить сложность потоков данных маскируемой функции, "наложив" на неё программу, которая заведомо не влияет на окружение маскируемой функции и, как следствие, не изменяет работы программы. "Холостая" функция строится как из фрагментов маскируемой функции, семантические свойства которых заведомо известны, так и из фрагментов, взятых из библиотеки маскирующего транслятора. Чтобы затруднить задачу выявления холостой части замаскированной функции используются языковые конструкции, трудно поддающиеся анализу (указатели) и математические тождества.

Маскировку можно разбить на несколько этапов:

  1. Увеличение размера, графа потока управления функции. На этом этапе выполняются различные преобразования, которые изменяют структуру циклов в теле функции, а также клонирование базовых блоков.

  2. Разрушение структуры, графа потока управления функции. На этом этапе в граф потока управления вносится значительное количество новых дуг. При этом существовавшие базовые блоки могут оказаться разбитыми на несколько меньших базовых блоков. В графе потока управления могут появиться новые пока пустые базовые блоки. Цель этого этапа - подготовить место, на которое в дальнейшем будет внесён несущественный код.

  3. Генерация несущественного кода. На этом этапе пустые базовые блоки графа потока управления заполняется инструкциями, не оказывающими влияния на результат, вырабатываемый программой. Несущественная, "холостая" часть пока никак не соприкасается с основной, функциональной частью программы.

  4. "Зацепление" холостой и основной программы. Для этого используются как трудноанализируемые свойства программ (например, указатели), так и разнообразные математические тождества и неравенства.