- •2. Операционная система как расширенная машина
- •3. Операционная система как менеджер ресурсов
- •4. Обзор современных ос Операционные системы мэйнфреймов
- •Серверные операционные системы
- •Операционные системы для персональных компьютеров
- •Операционные системы реального времени
- •Встроенные операционные системы
- •Операционные системы для смарт-карт
- •5. Аппаратный состав персонального компьютера
- •6. Процессоры
- •7. Память
- •8. Устройства ввода-вывода
- •9. Шины
- •10. Понятия операционной системы
- •11. Процессы
- •12. Взаимоболокировка
- •13. Управление памятью.
- •14. Ввод-вывод данных
- •15. Файлы
- •16 Безопасность
- •17 . Оболочка.
- •18. Системный вызов
- •19. Windows Win32 api
- •20. Структура операционной системы
- •21 Монолитные системы
- •22 Многоуровневые системы
- •23. Виртуальные машины.
- •24. Экзоядро.
- •25. Модель клиент-сервис.
- •26. Модель процесса.
- •27 Создание процесса
- •28 Завершение процесса
- •29. Иерархия процессов
- •30. Состояние процессов
- •31. Реализация процессов
- •32. Потоки
- •33. Модель потока.
- •34. Использование потоков.
- •35. Реализация потоков в пространстве пользователя.
- •36. Реализация потоков в пространстве ядра.
- •37 Смешанная реализация
- •38 Активация планировщика
- •39 Всплывающие потоки
- •40 Состояние состязания
- •41. Критические области
- •42. Взаимное исключение с активным ожиданием
- •43. Примитивы межпроцессного взаимодействия
- •Проблема производителя и потребителя
- •44. Семафоры
- •45 Мьютексы
- •46 Монитор
- •47 .Передача сообщений
- •48. Барьеры
- •49. Сокеты
- •50. Планирование
- •52. Планирование в интерактивных системах
- •53. Планирование в системах реального времени
- •54.Политика и мезанизм.
- •57 Условие взаимоблокировки
- •58 Моделирование взаимоблокировок
- •59. Страусовский алгоритм
- •60. Обнаружение и устранение взаимоблокировок и обнаружение взаимоблокировки при наличии одного ресурса каждого типа
- •61. Обнаружение взаимоблокировок при наличии нескольких ресурсов каждого типа
- •1)Восстановление при помощи принудительной выгрузки ресурса
- •2) Восстановление путем уничтожения процессов
- •63. Избежание взаимоблокировок
- •64 Алгоритм банкира
- •65 Алгоритм банкира для несколько видов ресурсов
- •66. Предотвращение взаимоблокировок
- •67 Двухфазовое блокирование, тупики без ресурсов и голодание
- •68 Программный ввод-вывод
- •69: Управляемый прерываниями ввод-вывод
- •70: Ввод-вывод с использованием dma(Direct Memory Access).
- •71. Программные уровни ввода-вывода
- •72. Обработчики прерываний
- •73. Драйверы устройств
- •74. Аппаратная часть таймеров
- •75 Программное обеспечение таймеров
- •76 Мягкие таймеры
- •77. Транслятор
- •78. Компилятор
- •79 Понятие прохода. Многопроходный и однопроходные компиляторы
- •80 Интерпретаторы. Особенности построения интерпретаторов
- •81. Трансляторы с языка ассемблера („ассемблеры“ )
- •82.Макроопределения и макрокоманды
- •83. Отладчики
- •84. Компоновщик. Его назначение и функции
52. Планирование в интерактивных системах
1) Циклическое планирование. Каждому процессу предоставляется некоторый интервал времени процессора, так называемый квант времени.Если к концу кванта времени процесс все еще работает, он прерывается, а управление передается другому процессу. Если процесс блокируется или прекращает работу раньше, переход управления происходит в этот момент. Реализация циклического планирования проста. Планировщику нужно всего лишь поддерживать список процессов в состоянии готовности согласно рис. а. Когда процесс исчерпал свой лимит времени, он отправляется в конец списка(рис. б).
Интересным моментом этого алгоритма является длина кванта. слишком малый квант приведет к частому переключению процессов и небольшой эффективности, но слишком большой квант может привести к медленному реагированию на короткие интерактивные запросы. Значение кванта около 20-50 мс часто является разумным компромиссом.
2) Приоритетное планирование. каждому процессу присваивается приоритет, и управление передается готовому к работе процессу с самым высоким приоритетом. Чтобы предотвратить бесконечную работу процессов с высоким приоритетом, планировщик может уменьшать приоритет процесса с каждым тактом часов (то есть при каждом прерывании по таймеру). Если в результате приоритет текущего процесса окажется ниже, чем приоритет следующего процесса, произойдет переключение. Возможно предоставление каждому процессу максимального отрезка времени работы. Как только время кончилось, управление передается следующему но приоритету процессу. Приоритеты процессам могут присваиваться статически или динамически. Часто бывает удобно сгруппировать процессы в классы по приоритетам и использовать приоритетное планирование среди классов, но циклическое планирование внутри каждого класса.
3) Несколько очередей. Процессам класса с высшим приоритетом выделяется один квант, процессам следующего класса — два кванта, следующего — четыре кванта и т. д. Когда процесс использовал все отведенное ему время, он перемещается на класс ниже.4) «Самый короткий процесс — следующий» Если рассматривать выполнение каждой команды как отдельную задачу, можно минимизировать общее среднее время отклика, запуская первой самую короткую задачу. Проблема состоит в том, чтобы понять, какой из ожидающих процессов самый короткий. Один из методов основывается на оценке длины процесса, базирующейся на предыдущем поведении процесса. При этом запускается процесс, у которого оцененное время самое маленькое. 5) Гарантированное планирование. Система должна отслеживать распределение процессора между процессами с момента создания каждого процесса. Затем система рассчитывает количество ресурсов процессора, на которое процесс имеет право, Теперь можно сосчитать отношение времени, предоставленного процессу, к времени, на которое он имеет право. Полученное значение 0,5 означает, что процессу выделили только половину положенного, а 2,0 означает, что процессу досталось в два раза больше, чем положено. Затем запускается процесс, у которого это отношение наименьшее, пока оно не станет больше, чем у его ближайшего соседа.6) Лотерейное планирование. Когда планировщику необходимо принять решение, выбирается случайным образом лотерейный билет, и его обладатель получает доступ к ресурсу. билетов. лотерейное планирование обладает высокой отзывчивостью. Взаимодействующие процессы могут при необходимости обмениваться билетами.7) Справедливое планирование . каждому пользователю достается некоторая доля процессора, и планировщик выбирает процесс в соответствии с этим фактом. Если каждому из пользователей было обещано по 50 % процессора, то им достанется по 50 % процессора, независимо от количества процессов.