
- •Состав и принципы работы операционных систем и сред. Понятие, основные функции, типы операционных систем.
- •Определение операционной системы
- •Определение операционной среды
- •Последовательность действий оператора при решении задач на ранних компьютерах без операционной системы
- •Ранние операционные системы имели следующие характеристики
- •Язык управления заданиями
- •Операционные оболочки
- •Иерархическая структура компьютера и операционной системы
- •Последовательность развития системного программного обеспечения
- •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. Уровень аппаратных абстракций. Функции уровня. Уровень ядра.
- •Технология аутентификации. Сетевая аутентификация на основе одноразового пароля.
60. Приоритеты в алгоритмах планирования мультипрограммного вычислительного процесса.
Практикум: Все потоки мультипрограммного вычислительного процесса должны иметь доступ к системным ресурсам – кучам, портам, файлам, окнам и т.д. Потоки взаимодействуют друг с другом в двух основных случаях: совместно используя разделяемый ресурс и уведомляя друг друга о завершении каких-либо операций.
Один из основных принципов многопоточной архитектуры заключается в том, что не все потоки имеют одинаковые приоритеты. Несмотря на то что все потоки создаются одинаковыми (с приоритетом Normal), не всегда целесообразно оставлять приоритеты потоков, установленные при их создании (пример: фоновая печать одновременно с редактированием документа. Лучше отдавать больше ресурсов основному приложению, а печать всё равно закончится, может несколько позже).
Чтобы выполнить подобное перераспределение ресурсов, используется свойство Priority, которое имеет пять допустимых значений:
Lowest (низший);
BelowNormal (ниже нормального);
Normal (нормальный);
AboveNormal (выше нормального);
Highest (наивысший).
Следует иметь в виду, что среда .NET изначально проектировалась в расчёте на перенос на несколько платформ, поэтому перечисленные значения приоритетов могут не совпадать со значениями конкретных ОС. Например, в Windows 2000 существует 6 основных приоритетов, а в Windows CE 3.0 – 256 градаций приоритета, обозначенных числами от 0 до 255.
Просторы интернета:
Планирование бывает вытесняющим (процесс может быть приостановлен в любой момент исполнения) и невытесняющим (процесс занимает столько процессорного времени, сколько ему необходимо).
На примерах разберём несколько алгоритмов.
Обозначение: время исполнения - CPU Burst.
Алгоритм FCFS (First-Come, First-Served).
Процесс p0 p1 p2
Продолжительность очередного CPU burst 13 4 1
Алгоритм Round Robin (RR)
Таблица 60.1.
Время 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
p0 И И И И Г Г Г Г Г И И И И И И И И И
p1 Г Г Г Г И И И И
p2 Г Г Г Г Г Г Г Г И
Shortest-Job-First (SJF)
Процесс p0 p1 p2 p3
Продолжительность очередного CPU burst 5 3 7 1
Время 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
p0 Г Г Г Г И И И И И
p1 Г И И И
p2 Г Г Г Г Г Г Г Г Г И И И И И И И
p3 И
При приоритетном планировании каждому процессу присваивается определенное числовое значение – приоритет, в соответствии с которым ему выделяется процессор. Процессы с одинаковыми приоритетами планируются в порядке FCFS. Для алгоритма SJF в качестве такого приоритета выступает оценка продолжительности следующего CPU burst. Чем меньше значение этой оценки, тем более высокий приоритет имеет процесс.
Алгоритмы назначения приоритетов процессов могут опираться как на внутренние параметры, связанные с происходящим внутри вычислительной системы, так и на внешние по отношению к ней.
Можно выделить относительные и абсолютные приоритеты. Если по ходу выполнения одного процесса в очередь процессов, находящихся в состоянии ожидания, попадает процесс с относительным приоритетом, то исполняемый процесс будет выполнен до конца своего кванта времени, в то время, как очередь ожидающих процессов изменится в соответствие с приоритетами. Если же новый процесс имеет абсолютный приоритет, который к тому же выше приоритета исполняемого процесса, то произойдёт прерывание, и далее исполняться будет новый процесс. Также выделяют смешанные приоритеты.
Приоритеты могут быть статическими и динамическими. Механизмы статической приоритетности легко реализовать, и они сопряжены с относительно небольшими издержками на выбор наиболее приоритетного процесса. Однако статические приоритеты не реагируют на изменения ситуации в вычислительной системе, которые могут сделать желательной корректировку порядка исполнения процессов. Более гибкими являются динамические приоритеты процессов, изменяющие свои значения по ходу исполнения процессов. Как правило, изменение приоритета процессов проводится согласованно с совершением каких-либо других операций: при рождении нового процесса, при разблокировке или блокировании процесса, по истечении определенного кванта времени или по завершении процесса. Примерами алгоритмов с динамическими приоритетами являются алгоритм SJF и алгоритм гарантированного планирования. Схемы с динамической приоритетностью гораздо сложнее в реализации и связаны с большими издержками по сравнению со статическими схемами. Однако их использование предполагает, что эти издержки оправдываются улучшением работы системы.
Главная проблема приоритетного планирования заключается в том, что при ненадлежащем выборе механизма назначения и изменения приоритетов низкоприоритетные процессы могут не запускаться неопределенно долгое время.