
- •Список вопросов для подготовки к экзамену по сппо (2013-2014 уч. Год)
- •Понятие программного обеспечения (по). Классификация программного обеспечения по выполняемым функциям, структура системного по. Основные свойства системного программного обеспечения.
- •1)Управление процессами (программ во время выполнения);
- •Классификация ос (по структуре и архитектурным принципам построения, по режимам работы). Примеры.
- •Программные методы реализации взаимного исключения: примеры на псевдокоде, анализ и сравнение вариантов. Примеры.
- •Понятие семафора, семафорные примитивы, бинарные и считающие семафоры. Примеры объектов диспетчеризации в ms Windows, которые могут использоваться как «семафоры».
- •Применение бинарных семафоров для реализации взаимного исключения и синхронизации процессов. Примеры.
- •Общие семафоры, решение задачи «писателей и читателей» при работе с циклическим буфером. Сравнить варианты решения.
- •Проблема тупика и задачи, связанные с решением проблемы тупика: формулировки задач и подходы к решению. Примеры.
- •Задача предотвращения тупика, подходы к решению, анализ Примеры.
- •Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.
- •Модель системы с потребляемыми ресурсами (граф потребляемых ресурсов). Примеры.
- •Система с повторно используемыми и потребляемыми ресурсами (граф обобщённых ресурсов). Примеры.
- •Решение задачи распознавания тупика для систем с повторно используемыми ресурсами: основная теорема о тупике. Алгоритм редукции. Примеры редукции.
- •Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на выполнение операций. Примеры.
- •Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
- •Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
- •Вывод системы из тупика. Общий подход к решению задачи и частный случай.
- •Обходы тупиков. Алгоритм банкира. Примеры.
- •Иерархия запоминающих устройств вс, характеристики устройств и связь, механизмы создания иерархии. Примеры.
- •Способы распределения памяти: статическое и динамическое распределение, связные и несвязные распределения. Сравнение.
- •Сегментная организация памяти. Страничная организация памяти. Сегментно-страничная организация памяти. Аппаратная поддержка в процессорах Intel.
- •Общие принципы организации виртуальной памяти. Управление виртуальной памятью: стратегии загрузки, стратегии размещения, стратегии замещения. Пример реализации в Intel.
- •Средства защиты памяти: изоляция адресных пространств. Поддержка в Intel.
- •Средства защиты памяти: защита по уровням привилегий, привилегированные команды и команды, чувствительные к уровням привилегий). Поддержка в Intel.
- •Статическая и динамическая компоновка программ: определение, сравнение и примеры.
- •Упрощённая структура объектного модуля и принцип работы связывающего загрузчика, редактора связей (одно- и двухпроходовые). Упрощённая структура исполнимого файла.
- •Понятие прерывания, классификация прерываний. Примеры (Intel).
- •Общая схема обработки прерываний, программно-аппаратная реализация, аппаратная поддержка механизма прерываний в Intel.
- •Структурная схема обработки исключений в Windows (seh): обработка завершения и локальная раскрутка.
- •Структурная схема обработки исключений в Windows (seh): обработка исключений и глобальная раскрутка.
- •Определение файла, атрибуты файлов и именование файлов, понятие каталога (справочника, директории, папки). Примеры.
- •Понятие и функции файловой системы как подсистемы ос.
- •Логическая и физическая организация файлов. Буферизация ввода/вывода. Примеры.
- •Логическая организация файлов: файлы с последовательной организацией и индексированные файлы. Поиск на внешних устройствах, b-деревья: определение и построение, выполнение операций. Примеры.
- •Управление внешней памятью: карты памяти и списки. Примеры (fat, ntfs).
- •Управление вводом/выводом, понятие драйвера внешнего устройства, драйверы виртуальных устройств.
- •Понятие драйвера файловой системы. Иерархическая организация файловых систем. Примеры.
- •Понятие защищённой вс. Классификация угроз и вторжений. Структура системы защиты.
- •Контроль прав доступа и матрица прав доступа как математическая модель защиты объектов. Примеры: одноранговое разделение ресурсов и защита на уровне пользователей.
- •Криптографическая защита. Понятие ключа. Симметричное и асимметричное шифрование. Понятие криптографического протокола. Понятие цифровой подписи.
- •Примеры задач по обработке исключений
- •Задания по разработке командных файлов и изучение команд пакетной обработки
- •Задачи на использование программных методов решения проблемы взаимного исключения
- •Задачи на работу с семафорами
- •Решение:
- •Решение:
- •Задачи на понимание алгоритмов решения задач, связанных с тупиками
- •Задачи на анализ состояний системы для выявления тупиков
- •Задачи по теме «Хранение и поиск информации на взу»
- •Файлы для подготовки
Способы распределения памяти: статическое и динамическое распределение, связные и несвязные распределения. Сравнение.
С
татическое
и динамическое распределение памяти.
Два уровня распределения памяти:
1) на уровне долгосрочного планирования память распределяется статически,
2) на уровне краткосрочного планирования - динамически.
Статический алгоритм распределения памяти предопределяется статистическим методом настройки адресов. При использовании этого метода необходимой программе оперативная память назначается ей до начала выполнения программы, а все адреса настраиваются так, чтобы отразить это назначение. Статическое распределение памяти выполняется при трансляции программы и остается неизменным в ходе ее выполнения. В ВС статически обычно выделяется память для размещения резидентных программ (например, компонентов ядра ОС), системы таблиц. При выполнении программы статически выделяется память для размещения ее кода и глобальных данных, буферов ввода/вывода. Плюсы: 1) во время выполнения не требуется никаких доп. средств управления памятью 2) нет необходимости прерывать выполнение программы для запросов к системе 3) отпадают вопросы утилизации. Минусы: использование только статического распределения памяти ограничивает возможности системы: 1) не позволяет организовать рекурсивные вычисления 2) не позволяет работать со структурами данных, размер которых зависит от вводимой или вычисляемой в программе информации, - память всегда должна выделяться по максимуму. Поэтому возникает необходимость динамического распределения памяти. Возможность динамического распределения памяти обеспечивается динамической настройкой адреса (настройка происходит во время выполнения программы, непосредственно предшествуя обращению к памяти). Динамическая настройка делает возможным динамическое распределение памяти, то есть память может выделяться для данных и других компонентов программы и освобождаться во время ее выполнения. Динамически память может выделяться автоматически и по запросам, выдаваемым программой. Автоматически выделяется память для размещения локальных данных процедур при их вызовах, для сохранения служебной информации и передачи параметров. Кроме того, в программе могут использоваться специальные операторы запроса на выделение памяти на уровне обращений к операционной системе или операторов языка программирования. При использовании динамического распределения памяти может возникнуть проблема появления “мусора” и висячих ссылок.
Связные и несвязные распределения памяти: Первые ВС требовали связного распределения памяти для программ во время их выполнения: каждой программе выделяется один сплошной блок ячеек памяти. При простом непрерывном распределении программа получает в свое распределение всю доступную системе память за исключением некоторой фиксированной области, в которой размещается ядро ОС, системные данные и резид. программы. В режиме мультипрограммирования каждой программе выделяется непрерывный раздел памяти. Разделы могут быть:
1) фиксированными (вся память разбивается на ряд разд. Фиксированного размера и каждой программе выделяется для выполнения 1 раздел) или 2) переменными (заранее не делается никаких предположений относительной величины памяти, требуемой для загрузки программы на выполнение, программы занимают столько места в памяти, сколько им необходимо для выполнения). Плюсы: распределение памяти и непрерывными фиксированными разделами: 1) относительная простота реализации процессов управления, 2) легкость реализации средств защиты в мультипрограммных системах; 3) простота настройки адресов, исправляемых в программе, на адрес распределенной программы для выполнения физической памяти. Минусы: 1) возможный простой ресурсов, 2) их неэффективное использование. 3) При выделении памяти непрерывными фиксированными разделами памяти могут использоваться неэффективно, так как возможна ее фрагментация. 4) При связном распределении памяти переменными разделами сохраняется возможность фрагментации памяти вследствие того, что для загрузки программы на выполнение может быть недостаточный объем любого из имеющихся свободных разделов. При несвязном распределении памяти программа разбивается на ряд блоков, которые могут размещаться в оперативной памяти в несмежных участках. То есть память каждой программе может выделяться несколькими непрерывными областями. ОС сложнее обеспечить управление памятью с разрывным распределением, но такой способ является более гибким и эффективным. Кроме того, этот способ распределения памяти дает больше возможностей для виртуализации данного ресурса. В современных ОС используются различные способы реализации разрывных распределений памяти: 1) память может быть организована в виде сегментов; 2) может быть разбита на страницы; 3) может иметь сегментно-страничную организацию.