- •Список вопросов для подготовки к экзамену по сппо (2013-2014 уч. Год)
- •Понятие программного обеспечения (по). Классификация программного обеспечения по выполняемым функциям, структура системного по. Основные свойства системного программного обеспечения.
- •1)Управление процессами (программ во время выполнения);
- •Классификация ос (по структуре и архитектурным принципам построения, по режимам работы). Примеры.
- •Программные методы реализации взаимного исключения: примеры на псевдокоде, анализ и сравнение вариантов. Примеры.
- •Понятие семафора, семафорные примитивы, бинарные и считающие семафоры. Примеры объектов диспетчеризации в ms Windows, которые могут использоваться как «семафоры».
- •Применение бинарных семафоров для реализации взаимного исключения и синхронизации процессов. Примеры.
- •Общие семафоры, решение задачи «писателей и читателей» при работе с циклическим буфером. Сравнить варианты решения.
- •Задача предотвращения тупика, подходы к решению, анализ Примеры.
- •Проблема тупика и задачи, связанные с решением проблемы тупика: формулировки задач и подходы к решению. Примеры.
- •Модель системы с повторно используемыми ресурсами (граф повторно используемых ресурсов). Примеры.
- •Модель системы с потребляемыми ресурсами (граф потребляемых ресурсов). Примеры.
- •Система с повторно используемыми и потребляемыми ресурсами (граф обобщённых ресурсов). Примеры.
- •Решение задачи распознавания тупика для систем с повторно используемыми ресурсами: основная теорема о тупике. Алгоритм редукции. Примеры редукции.
- •Распознавание тупиков в системах с повторно используемыми ресурсами с ограничениями на выполнение операций. Примеры.
- •Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: алгоритм редукции. Примеры.
- •Распознавание тупиков в системах с потребляемыми ресурсами и в системах с обобщёнными ресурсами: системы с ограничениями на выполнение операций. Примеры.
- •Вывод системы из тупика. Общий подход к решению задачи и частный случай.
- •Обходы тупиков. Алгоритм банкира. Примеры.
- •Иерархия запоминающих устройств вс, характеристики устройств и связь, механизмы создания иерархии. Примеры.
- •Способы распределения памяти: статическое и динамическое распределение, связные и несвязные распределения. Сравнение.
- •Сегментная организация памяти. Страничная организация памяти. Сегментно-страничная организация памяти. Аппаратная поддержка в процессорах Intel.
- •Общие принципы организации виртуальной памяти. Управление виртуальной памятью: стратегии загрузки, стратегии размещения, стратегии замещения. Пример реализации в Intel.
- •Средства защиты памяти: изоляция адресных пространств. Поддержка в Intel.
- •Средства защиты памяти: защита по уровням привилегий, привилегированные команды и команды, чувствительные к уровням привилегий). Поддержка в Intel.
- •Статическая и динамическая компоновка программ: определение, сравнение и примеры.
- •Упрощённая структура объектного модуля и принцип работы связывающего загрузчика, редактора связей (одно- и двухпроходовые). Упрощённая структура исполнимого файла.
- •Понятие прерывания, классификация прерываний. Примеры (Intel).
- •Общая схема обработки прерываний, программно-аппаратная реализация, аппаратная поддержка механизма прерываний в Intel.
- •Структурная схема обработки исключений в Windows (seh): обработка завершения и локальная раскрутка.
- •Структурная схема обработки исключений в Windows (seh): обработка исключений и глобальная раскрутка.
- •Определение файла, атрибуты файлов и именование файлов, понятие каталога (справочника, директории, папки). Примеры.
- •Понятие и функции файловой системы как подсистемы ос.
- •Логическая и физическая организация файлов. Буферизация ввода/вывода. Примеры.
- •Логическая организация файлов: файлы с последовательной организацией и индексированные файлы. Поиск на внешних устройствах, b-деревья: определение и построение, выполнение операций. Примеры.
- •Управление внешней памятью: карты памяти и списки. Примеры (fat, ntfs).
- •Управление вводом/выводом, понятие драйвера внешнего устройства, драйверы виртуальных устройств.
- •Понятие драйвера файловой системы. Иерархическая организация файловых систем. Примеры.
- •Понятие защищённой вс. Классификация угроз и вторжений. Структура системы защиты.
- •Контроль прав доступа и матрица прав доступа как математическая модель защиты объектов. Примеры: одноранговое разделение ресурсов и защита на уровне пользователей.
- •Криптографическая защита. Понятие ключа. Симметричное и асимметричное шифрование. Понятие криптографического протокола. Понятие цифровой подписи.
- •Примеры задач по обработке исключений
- •Задания по разработке командных файлов и изучение команд пакетной обработки
- •Задачи на использование программных методов решения проблемы взаимного исключения
- •Задачи на работу с семафорами
- •Решение:
- •Решение:
- •Задачи на понимание алгоритмов решения задач, связанных с тупиками
- •Задачи на анализ состояний системы для выявления тупиков
- •Задачи по теме «Хранение и поиск информации на взу»
- •Файлы для подготовки
Логическая организация файлов: файлы с последовательной организацией и индексированные файлы. Поиск на внешних устройствах, b-деревья: определение и построение, выполнение операций. Примеры.
Логическая организация файлов. Логическая организация файлов – это организация данных, размещенных на внешних устройствах, с точки зрения прикладной программы, работающей с этими данными, выполняющей операции над ними. Простейший способ организации – файл представляет собой неструктурированную последовательность байтов. В этом случае программу при выполнении операций над файлами «не интересует» содержимое файла. Такой подход в ОС UNIX и Windows. Плюсы: обеспечивает максимальную простоту файловой системы и файловая система может обеспечить считывание данных «побайтно» или блоками заданного размера. «Смысл» байтам «присваивается» конкретными программами, создающими файлы и обрабатывающими размещенную в них информацию. Существует несколько способов организации файлов: файлы с последовательной организацией, файлы с прямой организацией, файлы с индексной организацией (прямой доступ по ключу) и библиотечные файлы. Еще один способ организации файлов – древовидная организация, при которой файл представляет собой дерево записей, упорядоченных по ключу, записанному в определенной фиксированной позиции каждой записи. Такой способ организации файлов обеспечивает быстрый поиск данных по заданному ключу.
При работе на мэйнфреймах способ доступа к файлу указывается при его создании в описании файла, что позволяет ОС применять различные методы хранения на внешних устройствах файлов разных классов (Принципиальное отличие от UNIX и Windows).
Последовательная организация. При последовательной организации файл представляет собой «массив», в котором в каждый момент содержится определенное число записей (от 0 и более): R0 R1 ... R(i-1) Ri R(i+1) ... Rn. Для того чтобы прочитать запись Ri необходимо прочитать все предшествующие ей записи, т.е. запись Ri может быть прочитана только после записи Ri–1. Записи в файле могут иметь переменный размер. Тогда каждой записи должно предшествовать поле, содержащее ее длину: L0 R0 L1 R1 ... L(i-1) R(i-1) Li Ri L(i+1) R(i+1) ... Ln Rn. Поле длины может располагаться и после записи, тогда допустимо считывание записей и при «обратном» – с конца – просмотре файла. Файлы с такой организацией могут размещаться на любых внешних устройствах. Эта организация удобна, когда обрабатывается весь массив записей. Если необходимо обработать только определенные записи, то этот способ неудобен, т.к. в худшем случае для поиска нужной записи необходимо выполнить n сравнений.
Файлы с прямой и индексной организацией. Многие системы допускают возможность прямого доступа к записи в файле по ее номеру. Минус в том, что программист должен сам «помнить» номера записей, содержащих нужную информацию. Для этого он должен построить специальный файл, содержащий эту информацию, причем записи в этом файле могут быть упорядочены для ускорения поиска нужной информации. Обычно ускорение происходит еще и за счет того, что записи вспомогательного значительно короче, чем записи основного файла, содержащего полную информацию. Если система сама берет на себя задачу организации таких вспомогательных файлов (таблиц), то говорят об индексной организации файлов. Файлы с индексной организацией имеют более сложную организацию: кроме основного файла, представляющего собой массив записей, строится вспомогательная таблица (индекс), содержащая ключевую информацию для поиска, а также данные о местоположении записи в основном файле (смещение начала файла); кроме того, если записи могут иметь переменную длину, в каждой строке (элементе, записи) индекса содержится и размер записи. Записи в основном файле не упорядочиваются, хранятся в нем в том порядке, в каком были созданы. Записи в индексе обычно упорядочиваются для ускорения поиска. Ключи могут быть составными, например, могут состоять из фамилии, имени и отчества. Ключи могут быть и внешними по отношению к соответствующей записи. Индексы могут быть многоуровневыми. Строится «индекс для индекса»: индекс второго уровня. Для его создания таблица индексов первого уровня разбивается на блоки, содержащие определенное количество элементов. Каждый блок идентифицируется ключом (обычно это ключ последнего элемента в блоке). Тогда индексная организация файла с индексами двух уровней может выглядеть следующим образом.
