- •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. Смешанные алгоритмы планирования
34. Статическое планирование потоков
Другой тип планирования — статический — может быть использован в специализированных системах, в которых весь набор одновременно выполняемых задач определен заранее, например, в системах реального времени. Планировщик называется статическим (или предварительным планировщиком), если он принимает решения о планировании не во время работы системы, а заранее.
Результатом работы статического планировщика является таблица, называемая расписанием, в которой указывается, какому потоку/процессу, когда и на какое время должен быть предоставлен процессор. Для построения расписания планировщику нужны как можно более полные предварительные знания о характеристиках набора задач, например о максимальном времени выполнения каждой задачи, ограничениях предшествования, ограничениях по взаимному исключению, предельным срокам и т. д.
После того как расписание готово, оно может использоваться операционной системой для переключения потоков и процессов. Накладные расходы ОС на исполнение расписания оказываются значительно меньшими, чем при динамическом планировании, и сводятся лишь к диспетчеризации потоков/процессов.
35. Динамическое планирование потоков
В большинстве операционных систем универсального назначения планирование осуществляется динамически - решения принимаются во время работы системы на основе анализа текущей ситуации.
ОС работает в условиях неопределенности — потоки и процессы появляются в случайные моменты времени и также непредсказуемо завершаются. Динамические планировщики могут гибко приспосабливаться к изменяющейся ситуации и не используют никаких предположений о мультипрограммной смеси. Для того чтобы найти в таких условиях оптимальный порядок выполнения задач, операционная система затрачивает усилия.
36. Диспетчеризация потоков
Диспетчеризация - реализация найденного в результате планирования (динамического или статического) решения, то есть переключение процессора с одного потока на другой.
Диспетчеризация сводится к следующему:
- сохранение контекста текущего потока, который требуется сменить;
- загрузка контекста нового потока, выбранного в результате планирования;
- запуск нового потока на выполнение.
Поскольку операция переключения контекстов существенно влияет на производительность вычислительной системы, программные модули ОС выполняют диспетчеризацию потоков совместно с аппаратными средствами процессора.
37. Состояния потока
ОС выполняет планирование потоков, принимая во внимание их состояние. В мультипрограммной системе поток может находиться в одном из трех основных состояний:
- выполнение - активное состояние потока, во время которого поток обладает всеми необходимыми ресурсами и непосредственно выполняется процессором;
- ожидание - пассивное состояние потока, находясь в котором, поток заблокирован по своим внутренним причинам (ждет осуществления некоторого события, например завершения операции ввода-вывода, получения сообщения от другого потока или освобождения какого-либо необходимого ему ресурса);
- готовность - также пассивное состояние потока, но в этом случае поток заблокирован в связи с внешним по отношению к нему обстоятельством (имеет все требуемые для него ресурсы, готов выполняться, однако процессор занят выполнением другого потока).
В течение своей жизни каждый поток переходит из одного состояния в другое в соответствии с алгоритмом планирования потоков, принятым в данной операционной системе.