- •1. Ос как виртуальная машина
- •2. Ос как система управления ресурсами
- •4. Определение распределенной ос
- •3. Определение сетевой ос
- •5. Функциональные компоненты сетевой ос
- •6. Сетевые службы и сетевые сервисы
- •7. Способы реализации сетевых служб и оболочек
- •8. Характеристика одноранговых ос
- •10. Требования к современным сетевым ос
- •12. Привилегированный и пользовательский режим
- •14. Переносимость ос
- •13. Многослойная структура ядра ос
- •15. Монолитное ядро
- •16. Модульное ядро
- •17. Особенности микроядерной архитектуры
- •18. Преимущества и недостатки микроядерной архитектуры
- •19. Выполнение системного вызова при классической организации ядра ос
- •20. Выполнение системного вызова при микроядерной организации ядра
- •21. Наноядро
- •22. Гибридное ядро
- •23. Гипервизор. Виртуальные машины
- •25. Реализация множественных прикладных программных сред
- •43. Планирование в системах реального времени
- •26. Мультипрограммирование в системах пакетной обработки
- •27. Мультипрограммирование в системах разделения времени
- •24. Двоичная совместимость и совместимость исходных текстов
- •31. Понятие «процесс»
- •32. Понятие «поток»
- •28. Мультипрограммирование в системах реального времени
- •30. Симметричная организация вычислительного процесса
- •29. Асимметричная организация вычислительного процесса
- •33. Информационные структуры для управления процессами и потоками
- •34. Статическое планирование потоков
- •35. Динамическое планирование потоков
- •36. Диспетчеризация потоков
- •37. Состояния потока
- •38. Преимущества и недостатки вытесняющих алгоритмов планирования
- •39. Преимущества и недостатки невытесняющих алгоритмов планирования
- •40. Алгоритмы планирования основанные на квантовании
- •41. Приоритетные алгоритмы планирования
- •42. Смешанные алгоритмы планирования
38. Преимущества и недостатки вытесняющих алгоритмов планирования
Вытесняющие (preemptive) алгоритмы - способы планирования потоков, в которых решение о переключении процессора с выполнения одного потока на выполнение другого потока принимается ОС, а не активной задачей.
При вытесняющем мультипрограммировании функции планирования потоков целиком сосредоточены в операционной системе и программист не заботится о том, что его приложение будет выполняться одновременно с другими задачами. При этом ОС выполняет функции: определяет момент снятия с выполнения активного потока, запоминает его контекст, выбирает из очереди готовых потоков следующий, запускает новый поток на выполнение, загружая его контекст.
+Преимущества:
Одна программа не может монопольно завладеть всеми ресурсами и вызвать зависание - повышение надёжности системы.
Упрощение разработки ПО (переключение задач полностью выполняет ОС).
-Недостатки:
Переключение задач происходит медленнее чем при использовании невытесняющих алгоритмов планирования.
Проблемы совместного использование данных.
39. Преимущества и недостатки невытесняющих алгоритмов планирования
Невытесняющие (non-preemptive) алгоритмы основаны на том, что активному потоку позволяется выполняться, пока он по собственной инициативе не отдаст управление операционной системе, которая выбирает из очереди другой готовый к выполнению поток.
При невытесняющем мультипрограммировании механизм планирования распределен между операционной системой и прикладными программами. Прикладная программа, получив управление от операционной системы, сама определяет момент завершения очередного цикла своего выполнения и затем передает управление ОС с помощью системного вызова. ОС формирует очереди потоков и выбирает в соответствии с некоторым правилом (например, с учетом приоритетов) следующий поток на выполнение. Такой механизм создает проблемы, как для пользователей, так и для разработчиков приложений.
+Преимущества:
Быстрое переключение задач..
2. Дает возможность разработчику приложений самому проектировать алгоритм планирования, наиболее подходящий для данного фиксированного набора задач.
3. Легко решаются проблемы совместного использования данных.
-Недостатки:
Одна программа может не отдать управление ОС и монопольно владеть ресурсами - причина зависаний.
Повышенные сложность разработки ПО и требования к квалификации разработчиков.
40. Алгоритмы планирования основанные на квантовании
В основе многих вытесняющих алгоритмов планирования лежит концепция квантования. В соответствии с этой концепцией каждому потоку поочередно для выполнения предоставляется ограниченный непрерывный период процессорного времени — квант. Смена активного потока происходит, если:
- поток завершился и покинул систему; - произошла ошибка;
- поток перешел в состояние ожидания;
- исчерпан квант процессорного времени, отведенный данному потоку.
Поток, который исчерпал свой квант, переводится в состояние готовности и ожидает, когда ему будет предоставлен новый квант процессорного времени, а на выполнение в соответствии с определенным правилом выбирается новый поток из очереди готовых.
Кванты, выделяемые потокам, могут быть одинаковыми для всех потоков или различными.
Чем больше квант, тем выше вероятность того, что потоки завершатся в результате первого же цикла выполнения.
Затраты на вспомогательные действия для выполнения переключения контекстов задач не зависят от величины кванта времени, поэтому чем больше квант, тем меньше суммарные накладные расходы, связанные с переключением потоков.
Кванты, выделяемые одному потоку, могут быть фиксированной величины, а могут изменяться во времени.