- •1.Структура вычислительной системы. Функции операционной системы.
- •2. История развития операционных систем.
- •3.Основные понятия, концепции операционных систем.
- •4.Архитектурные особенности ос. Способы построения.
- •2. Управление памятью.
- •5.Классификация ос.
- •6.Процессы. Понятие процесса. Состояния процесса.
- •7.Операции над процессами. Pcb и контекст процесса. Переключение контекста.
- •8. Планирование процессов. Уровни планирования. Критерии планирования и требования к алгоритмам.
- •9. Параметры планирования. Вытесняющее и невытесняющее планирование.
- •10. Алгоритмы планирования. Fcfs. Rr. Sjf.
- •11. Алгоритмы планирования. Гарантированное. Приоритетное. Многоуровневые очереди.
- •12. Взаимодействие процессов. Категории средств обмена информацией
- •13. Логическая организация механизма передачи информации. Устанавка связи. Информационная валентность процессов и средств связи.
- •14. Особенности передачи информации с помощью линий связи. Буферизация. Поток ввода-вывода и сообщения. Надежность средств связи. Завершение связи.
- •15.Нити исполнения. Способы организации нитей.
- •16. Алгоритмы синхронизации. Interleaving, race condition и взаимоисключения. Критическая секция.
- •Interleaving, race condition и взаимоисключения
- •Критическая секция
- •17. Программные алгоритмы организации взаимодействия процессов. Требования, предъявляемые к алгоритмам. Запрет прерываний. Переменная-замок.
- •18. Программные алгоритмы организации взаимодействия процессов. Строгое чередование. Флаги готовности. Алгоритм Петерсона. Строгое чередование
- •Флаги готовности
- •Алгоритм Петерсона
- •19. Программные алгоритмы организации взаимодействия процессов. Алгоритм булочной (Bakery algorithm). Аппаратная поддержка взаимоисключений. Test-and-Set. Swap.
- •Команда Test-and-Set (проверить и присвоить 1)
- •Команда Swap (обменять значения)
- •20. Механизмы синхронизации процессов. Семафоры. Концепция семафоров. Решение проблемы producer-consumer с помощью семафоров.
- •Решение проблемы producer-consumer с помощью семафоров
- •21. Механизмы синхронизации процессов. Мониторы. Сообщения
- •22. Эквивалентность семафоров, мониторов и сообщений. Реализация мониторов и передачи сообщений с помощью семафоров.
- •23. Реализация семафоров и передачи сообщений с помощью мониторов. Реализация семафоров и мониторов с помощью очередей сообщений.
- •24. Тупики. Концепция ресурса. Условия возникновения тупиков.
- •25. Основные направления борьбы с тупиками. Алгоритм страуса. Обнаружение тупиков
- •Обнаружение тупиков
- •26. Восстановление после тупиков. Перераспределение ресурсов. Откат. Ликвидацию одного из процессов.
- •27. Способы предотвращения тупиков путем тщательного распределения ресурсов. Алгоритм банкира. Недостатки.
- •28. Предотвращение тупиков за счет нарушения условий возникновения тупиков (взаимоисключения, ожидания дополнительных ресурсов, неперераспределяемости, кругового ожидания)
- •29. Родственные проблемы тупиков. Двухфазная локализация. Тупики не ресурсного типа. Голод (starvation).
- •1.Двухфазная локализация
- •2.Тупики не ресурсного типа
- •3.Голод (starvation)
- •30. Управление памятью. Функции. Связывание адресов.
- •Физическая организация памяти компьютера
- •31. Простейшие схемы управления памятью. Схема с фиксированными разделами. Один процесс в памяти. Оверлейная структура.
- •32. Простейшие схемы управления памятью. Свопинг. Мультипрограммирование с переменными разделами.
- •Динамическое распределение. Свопинг
- •33. Понятие виртуальной памяти. Архитектурные средства поддержки виртуальной памяти. Страничная память.
- •34. Сегментная и сегментно-страничная организации памяти. Таблица страниц.
- •35. Ассоциативная память. Иерархия памяти. Размер страницы.
- •36. Аппаратно-независимый уровень управления виртуальной памятью. Исключительные ситуации при работе с памятью. Стратегии управления страничной памятью.
- •37. Алгоритмы замещения страниц. Fifo алгоритм. Оптимальный алгоритм.
- •38. Алгоритмы замещения страниц. Lru, nfu алгоритмы и другие.
- •Выталкивание дольше всего не использовавшейся страницы. Алгоритм lru
- •Выталкивание редко используемой страницы. Алгоритм nfu
- •Другие алгоритмы
- •39. Thrashing. Свойство локальности. Модель рабочего множества. Демоны пейджинга. Трешинг (Thrashing)
- •Модель рабочего множества
- •Страничные демоны
- •40. Аппаратно-независимая модель памяти процесса. Структуры данных, используемые для описания сегментной модели. Функционирование менеджера памяти.
- •41. Файловая система. Определение. Функции. Имена файлов.
- •42. Структура файлов. Типы и атрибуты файлов. Доступ к файлам. Операции над файлами.
- •43. Директории. Логическая структура файлового архива. Операции над директориями. Защита файлов. Контроль доступа к файлам. Списки прав доступа.
- •44. Реализация файловой системы. Интерфейс файловой системы. Общая структура файловой системы.
- •45. Структура файловой системы на диске. Методы выделения дискового пространства.
- •46. Управление свободным и занятым дисковым пространством. Размер блока. Структура файловой системы на диске.
- •47. Монтирование файловых систем. Связывание файлов. Организация связи между каталогом и разделяемым файлом. Кооперация процессов при работе с файлами.
- •48. Надежность файловой системы. Целостность файловой системы. Управление плохими блоками. Производительность файловой системы. Современные архитектуры файловых систем.
- •49. Система управления вводом-выводом. Физические принципы организации ввода-вывода. Общие сведения об архитектуре компьютера. Структура контроллера устройства.
- •50. Опрос устройств и прерывания. Исключительные ситуации и системные вызовы. Dma.
- •51. Логические принципы организации ввода-вывода. Структура системы ввода-вывода. Систематизация внешних устройств и интерфейс между базовой подсистемой ввода-вывода и драйверами
- •52. Функции базовой подсистемы ввода-вывода. Блокирующиеся, не блокирующиеся и асинхронные системные вызовы. Буферизация и кэширование. Spooling и захват устройств. Обрабо
- •Spooling и захват устройств
- •Обработка прерываний и ошибок
- •Планирование запросов
- •53. Алгоритмы планирования запросов к жесткому диску. Строение жесткого диска и параметры планирования. Алгоритмы fcfs, sstf, scan, c-scan, look, c-look.
- •54. Основные понятия информационной безопасности. Классификация угроз. Формализация подхода к обеспечению информационной безопасности. Классы безопасности.
- •55. Политика безопасности. Криптография, как одна из базовых технологий безопасности ос.
- •56. Защитные механизмы операционных систем. Идентификация и аутентификация. Пароли, уязвимость паролей.
- •57. Авторизация. Разграничение доступа к объектам ос. Домены безопасности.
- •58. Матрица доступа. Недопустимость повторного использование объектов. Аудит, учет использования системы защиты
35. Ассоциативная память. Иерархия памяти. Размер страницы.
Поиск номера кадра, соответствующего нужной странице, в многоуровневой таблице страниц требует нескольких обращений к основной памяти, поэтому занимает много времени
Естественное решение проблемы – снабдить компьютер аппаратным устройством для отображения виртуальных страниц в физические без обращения к таблице страниц, то есть иметь небольшую, быструю кэш-память, хранящую необходимую на данный момент часть таблицы страниц. Это устройство называется ассоциативной памятью.
Ассооциативная память или буфер поиска трансляций.
Характеризуется hit ratio (количеством удачных поисков номеров страниц)
Иерархическая структура памяти
1.Организация памяти однопроцессорных систем:
Наиболее распространенной для однопроцессорных систем является схема линейной иерархии памяти.
Рис.1. Схема иерархии памяти однопроцессорных систем
Каждый уровень служит для согласования менее быстродействующих устройств памяти с более быстродействующими
КЭШ первого и второго уровней входит в структуру центрального процессора. Обмен данными между процессором и сверхоперативным запоминающим устройством с ОЗУ осуществляется словами.
2.Центральная схема иерархии памяти:
Рис.2. Центральная схема иерархии памяти
Центральная схема иерархии памяти используется, если к процессору подключается несколько внешних запоминающих устройств, требующих автономной работы.
3.Магистральная схема иерархии памяти:
Получила распространение в связи с развитием систем хранения данных.
Рис.3. Магистральная схема иерархии памяти
4.Смешанная схема иерархии памяти:
В этой схеме для передачи данных между процессором и запоминающими устройствами используется дополнительный буфер (кэш), через который производится обмен данными. В этом случае данные для обмена с процессором предварительно записываются в буфер и процессор не теряет времени на ожидание, как при обмене с медленными внешними устройствами.
Рис.4. Смешанная схема иерархии памяти.
Размер страницы
Обычно размер страницы – это степень двойки от 29 до 214 байт.
Чем больше размер страницы, тем меньше будет размер структур данных, обслуживающих преобразование адресов, но тем больше будут потери, связанные с тем, что память можно выделять только постранично.
Как следует выбирать размер страницы? Во-первых, нужно учитывать размер таблицы страниц, здесь желателен большой размер страницы. С другой стороны, память лучше утилизируется с маленьким размером страницы. В среднем половина последней страницы процесса пропадает. Необходимо также учитывать объем ввода-вывода для взаимодействия с внешней памятью и другие факторы.
36. Аппаратно-независимый уровень управления виртуальной памятью. Исключительные ситуации при работе с памятью. Стратегии управления страничной памятью.
Исключительные ситуации при работе с памятью
Отображение виртуального адреса в физический осуществляется при помощи таблицы страниц. Для каждой виртуальной страницы запись в таблице страниц содержит номер соответствующего страничного кадра в оперативной памяти, а также атрибуты страницы для контроля обращений к памяти.
Что же происходит, когда нужной страницы в памяти нет или операция обращения к памяти недопустима? Естественно, что операционная система должна быть как-то оповещена о происшедшем. Обычно для этого используется механизм исключительных ситуаций (exceptions). При попытке выполнить подобное обращение к виртуальной странице возникает исключительная ситуация "страничное нарушение" ( page fault ), приводящая к вызову специальной последовательности команд для обработки конкретного вида страничного нарушения.
Страничное нарушение может происходить в самых разных случаях: при отсутствии страницы в оперативной памяти, при попытке записи в страницу с атрибутом "только чтение" или при попытке чтения или записи страницы с атрибутом "только выполнение". В любом из этих случаев вызывается обработчик страничного нарушения, являющийся частью операционной системы. Ему обычно передается причина возникновения исключительной ситуации и виртуальный адрес, обращение к которому вызвало нарушение.
Нас будет интересовать конкретный вариант страничного нарушения - обращение к отсутствующей странице, поскольку именно его обработка во многом определяет производительность страничной системы. Когда программа обращается к виртуальной странице, отсутствующей в основной памяти, операционная система должна выделить страницу основной памяти, переместить в нее копию виртуальной страницы из внешней памяти и модифицировать соответствующий элемент таблицы страниц.
Повышение производительности вычислительной системы может быть достигнуто за счет уменьшения частоты страничных нарушений, а также за счет увеличения скорости их обработки. Время эффективного доступа к отсутствующей в оперативной памяти странице складывается из:
обслуживания исключительной ситуации ( page fault );
чтения (подкачки) страницы из вторичной памяти (иногда, при недостатке места в основной памяти, необходимо вытолкнуть одну из страниц из основной памяти во вторичную, то есть осуществить замещение страницы);
возобновления выполнения процесса, вызвавшего данный page fault.
Для решения первой и третьей задач ОС выполняет до нескольких сот машинных инструкций в течение нескольких десятков микросекунд. Время подкачки страницы близко к нескольким десяткам миллисекунд. Проведенные исследования показывают, что вероятности page fault 5x10-7 оказывается достаточно, чтобы снизить производительность страничной схемы управления памятью на 10%. Таким образом, уменьшение частоты page faults является одной из ключевых задач системы управления памятью. Ее решение обычно связано с правильным выбором алгоритма замещения страниц.
Стратегии управления страничной памятью
Программное обеспечение подсистемы управления памятью связано с реализацией следующих стратегий:
Стратегия выборки (fetch policy) - в какой момент следует переписать страницу из вторичной памяти в первичную. Существует два основных варианта выборки - по запросу и с упреждением. Алгоритм выборки по запросу вступает в действие в тот момент, когда процесс обращается к отсутствующей странице, содержимое которой находится на диске. Его реализация заключается в загрузке страницы с диска в свободную физическую страницу и коррекции соответствующей записи таблицы страниц.
Алгоритм выборки с упреждением осуществляет опережающее чтение, то есть кроме страницы, вызвавшей исключительную ситуацию, в память также загружается несколько страниц, окружающих ее (обычно соседние страницы располагаются во внешней памяти последовательно и могут быть считаны за одно обращение к диску). Такой алгоритм призван уменьшить накладные расходы, связанные с большим количеством исключительных ситуаций, возникающих при работе со значительными объемами данных или кода; кроме того, оптимизируется работа с диском.
Стратегия размещения (placement policy) - в какой участок первичной памяти поместить поступающую страницу. В системах со страничной организацией все просто - в любой свободный страничный кадр. В случае систем с сегментной организацией необходима стратегия, аналогичная стратегии с динамическим распределением.
Стратегия замещения (replacement policy) - какую страницу нужно вытолкнуть во внешнюю память, чтобы освободить место в оперативной памяти. Разумная стратегия замещения, реализованная в соответствующем алгоритме замещения страниц, позволяет хранить в памяти самую необходимую информацию и тем самым снизить частоту страничных нарушений . Замещение должно происходить с учетом выделенного каждому процессу количества кадров. Кроме того, нужно решить, должна ли замещаемая страница принадлежать процессу, который инициировал замещение, или она должна быть выбрана среди всех кадров основной памяти.