
- •Состав и принципы работы операционных систем и сред. Понятие, основные функции, типы операционных систем.
- •Определение операционной системы
- •Определение операционной среды
- •Последовательность действий оператора при решении задач на ранних компьютерах без операционной системы
- •Ранние операционные системы имели следующие характеристики
- •Язык управления заданиями
- •Операционные оболочки
- •Иерархическая структура компьютера и операционной системы
- •Последовательность развития системного программного обеспечения
- •9.Последовательность развития системного программного обеспечения
- •Методы обработки пользовательских программ в зависимости от их характеристик
- •Поколения операционных систем
- •Классификационные признаки в определении поколения операционной системы
- •13. Задачи, решаемые операционными системами
- •14. Единицы работ операционных систем
- •15. Классификация операционных систем
- •16. Основные характеристики однопрограммных ос
- •17. Основные характеристики многопрограммных ос
- •18. Организация памяти современного компьютера
- •19. Стековая память
- •Виртуальная память
- •Ассоциативная память
- •Внешняя память
- •Мультипрограммность и мультизадачность
- •Понятие задания в ос
- •Управление ресурсами в ос
- •Понятия процесса и потока
- •Понятие волокна
- •Управление процессами и потоками
- •Формы мультипрограммной работы
- •30.Критерии организации пакетной обработки
- •31. Критерии организации режима разделения времени
- •32.Характеристики систем реального времени
- •33.Характеристики симметричных мультипроцессорных систем
- •34. Последовательность создания процессов в компьютере
- •35. Характеристика образа процесса
- •36. Дескриптор процесса и его характеристика
- •37. Контекст процесса и его характеристика
- •38 Способы реализации потоков
- •39 Достоинства реализации потоков в ядре
- •40 Недостатки реализации потоков в ядре
- •41 Достоинства реализации потоков в пространстве пользователя
- •42) Недостатки реализации потоков в пространстве пользователя
- •43) Потенциальные проблемы, возникающие при выполнении процессов, не осведомленных друг о друге
- •44) Методы взаимоисключения
- •45) Условия возникновения тупиковой ситуации
- •Классы прерываний в компьютерах
- •Состав аппаратных средств систем прерываний компьютеров
- •Последовательность обработки прерываний (запоминание контекста)
- •Последовательность обработки прерываний (собственно обработка прерывания)
- •50. Эволюция ввода – вывода
- •51. Согласование скоростей обмена и кэширования данных
- •52. Системный монитор и его использование
- •53. Диспетчер задач Windows
- •Файл подкачки и его характеристики
- •Адресное пространство операционной системы
- •Соответствие между видом планирования единиц работы ос и выполняемыми функциями планирования
- •Соответствие между алгоритмом планирования и его характеристиками
- •Невытесняющие (non-preemptive)
- •Вытесняющие (preemptive)
- •Концепция квантования потоков
- •60. Приоритеты в алгоритмах планирования мультипрограммного вычислительного процесса.
- •61. Цели создания файловых систем
- •62. Фундаментальные способы организации файлов
- •63. Физическая организация размещения файлов на диске
- •Менеджер ввода-вывода
- •Шифрующая файловая система efs
- •Ресурсы, требуемые для работы устройству ввода-вывода
- •Фрагментация и ее виды, дефрагментация
- •68. Квотирование дискового пространства
- •69. Алгоритм дискового планирования
- •70. Установка разрешений файлам и каталогам
- •71. Семафор Дейкстры.
- •Архитектура операционной системы
- •Достоинства многослойной иерархической архитектуры ос
- •Достоинства микроядерной архитектуры ос
- •Эффективность операционной системы
- •77. Совместимость ос
- •78. Основные преимущества виртуализации ос
- •Драйверы устройств
- •80. Структура адресного пространства прикладного процесса
- •81. Понятие файла и файловой системы
- •82. Главная загрузочная запись диска и ее структура
- •83. Характеристика первичных и расширенных разделов диска
- •84. Виды логической организации файлов
- •85. Точки соединения с ос Windows
- •86. Каталоги файловой системы ntfs
- •87. Интерфейс прикладного программирования
- •88. Сегментная организация памяти
- •89. Страничная организация памяти
- •90. Сегментно-страничная организация памяти
- •91. Последовательность выполнения .Exe файлов
- •Защита и восстановление ос Windows 2000. Архивация. Установочные дискеты. Безопасный режим загрузки.
- •93. Защита и восстановление ос Windows 2000. Консоль восстановления, диск аварийного восстановления. Резервное копирование и восстановление.
- •95. Общая характеристика системы unix. Интерфейсы системы и их характеристика.
- •96. Структура ядра системы unix. Состав и характеристика компонентов ядра.
- •Оболочка системы unix. Работа в оболочке. Командная строка. Основные команды работы с файлами, каналы, сценарии.
- •Команды по работе с файловой системой
- •Операционная система Windows 2000. Структура системы. Основные компоненты и их характеристика.
- •Операционная система Windows 2000. Уровень аппаратных абстракций. Функции уровня. Уровень ядра.
- •Технология аутентификации. Сетевая аутентификация на основе одноразового пароля.
Соответствие между видом планирования единиц работы ос и выполняемыми функциями планирования
Планирование, используемое в современных ОС, в зависимости от масштаба делится на долгосрочное, среднесрочное, краткосрочное планирование ввода-вывода.
Рассматривая частоту работы планировщика, можно сказать, что долгосрочное планирование выполняется сравнительно редко, среднесрочное – несколько чаще. Краткосрочный планировщик, называемый часто диспетчером, работает чаще всего, определяя, какой процесс или поток будет выполняться следующим.
Перечень функций, выполняемых планировщиком:
Вид планирования |
Выполняемые функции |
Долгосрочное |
Решение о добавлении задания (процесса) в пул выполняемых в системе |
Среднесрочное |
Решение о добавлении процесса к числу процессов полностью или частично размещенных в основной памяти |
Краткосрочное |
Решение о том, какой из доступных процессов (потоков) будет выполняться процессором |
Планирование ввода-вывода |
Решение о том, какой из запросов процессов (потоков) на операцию ввода-вывода будет выполняться свободным устройством ввода-вывода |
Соответствие между алгоритмом планирования и его характеристиками
Алгоритмы планирования потоков
Невытесняющие (non-preemptive)
Активный поток выполняется до тех пор, пока он сам, по своей инициативе не отдаёт управление операционной системе для того, чтобы она выбрала из очереди готовый к выполнению поток.
Планирование распределяется между ОС и прикладными программами;
Недостатки:
Необходимость разработки такого приложения, которое будет «дружественным» по отношению к другим выполняемым одновременно с ним программам. Для этого в приложении должны быть предусмотрены частные передачи управления операционной системе, в противном случае возможна монополизация процессора приложением. Зависания приложений могут привести к краху системы.
Распределение функций планирования м-ду ОС и приложениями достаточно сложно с т. зр. программирования и используется, как правило, в специализированных системах с фиксированным набором задач.
Преимущества:
Более высокая скорость переключения потоков
Вытесняющие (preemptive)
Это такие способы планирования потоков, при которых решение о переключении процессора с выполнения одного потока принимается операционной системой, а не активной задачей.
функции планирования сосредоточены в ОС;
планирование на основе квантования процессорного времени – каждому потоку поочерёдно для выполнения предоставляется ограниченный непрерывный период процессорного времени – квант.
планирование на основе приоритетов потоков (наличие некоторой изначально известной характеристики-приоритета, на основании которого определяется порядок выполнения потоков): статических, динамических, абсолютных, относительных, смешанных
Концепция квантования потоков
В основе многих вытесняющих алгоритмов планирования лежит концепция квантования. В соответствии с ней каждому потоку поочерёдно для выполнения предоставляется ограниченный непрерывный период процессорного времени – квант.
Смена активного потока происходит, если:
поток завершается и «покидает» систему;
произошла ошибка;
поток перешёл в состояние ожидания;
исчерпан квант времени, отведённый данному потоку
Поток, который исчерпал свой квант, переводится в состояние готовности и ожидает, когда ему будет предоставлен новый квант процессорного времени, а для выполнения в соответствии с определённым правилом выбирается новый поток из очереди готовых потоков.
Кванты, выделяемые потокам, могут быть равными или различными (типичное значение десятки-сотни мс). Например, первоначально каждому потоку назначается достаточно большой квант, а величина каждого следующего кванта уменьшатся до некоторой заранее заданной величины. В таком случае преимущество получают короткие задачи, которые успевают выполняться в течение первого кванта (второго, и т. д.), а длительные вычисления будут проводиться в фоновом режиме.
Некоторые потоки, получив квант времени, используют его не полностью, например, из-за необходимости выполнить ввод или вывод данных. В результате может возникнуть ситуация, когда потоки с интенсивным вводом-выводом используют только небольшую часть выделенного им процессорного времени. Можно исправить эту «несправедливость», изменив алгоритм планирования, например, так: создать 2 очереди потоков: очередь 1 – для потоков, которые пришли в состояние готовности в результате исчерпания кванта времени, и очередь 2 – для потоков, у которых завершилась операция ввода – вывода. При выборе потока для выполнения сначала просматривается вторая очередь, и, если она пуста, квант выделяется потоку из первой очереди.
Отметим 3 особенности реализации алгоритмов, основанных на квантовании:
Переключение контактов потоков связано с потерями процессорного времени, которые не зависят от величины кванта, но зависят от частоты переключения. Поэтому чем больше квант, тем меньше суммарные затраты процессорного времени на переключение потоков.
С увеличением кванта может быть ухудшено качество обслуживания пользователей, связанное с ростом времени реакции системы.
В алгоритмах, основанных на квантовании, ОС не имеет никаких сведений о решаемых задачах (длинные или короткие, интенсивен «ввод-вывод» или нет, важно быстрое исполнение или нет и т. п.). Дифференциация обслуживания при квантовании базируется на «истории существования» потока в системе.