
- •1. Предпосылки появления первых ос.
- •2. Мультипрограммные ос мейнфреймов.
- •3. Ос миникомпьютеров.
- •4. Ос в 80-е годы.
- •5. Современные ос.
- •6. Классификация ос.
- •7. Основные понятия операционных систем реального времени (осрв)
- •Тема 8. Критерии оценки ос: надёжность, эффективность, удобство, масштабируемость, способность к развитию, мобильность.
- •Тема 9. Основные функции и структура ос. Понятие ядра системы.
- •6. Ос автономного компьютера.
- •7. Сетевые ос.
- •8. Серверные ос.
- •9. Мультипрограммирование.
- •10. Планирование процессов и потоков.
- •11. Алгоритмы планирования процессов.
- •13. Планирование процессов в осрв.
- •14. Необходимость решения сложных задач на кластерах.
- •15. Структура Windows.
- •16. Процессы и потоки в Windows.
- •17. Управление памятью в Windows.
- •18. Безопасность Windows.
- •19. Обзор системы Unix.
- •20 Процессы Unix.
- •21.Управление памятью в Unix.
- •22.Файловые системы Unix.
- •23. Модель исполнения приложения в Windows Mobile.
- •24. Платформа Android и архитектура приложения.
11. Алгоритмы планирования процессов.
Планирование - обеспечение поочередного доступа процессов к одному процессору.
Планировщик - отвечающая за планирование часть операционной системы. Алгоритм планирования – порядок действий при планировании. Планирование необходимо:
• когда создается процесс
• когда процесс завершает работу
• когда процесс блокируется на операции ввода/вывода, семафоре, и т.д.
• при прерывании ввода/вывода.
Алгоритм планирования без переключений (неприоритетный) - не требует прерывание по аппаратному таймеру, процесс останавливается только когда блокируется или завершает работу.
Алгоритм планирования с переключениями (приоритетный) - требует прерывание по аппаратному таймеру, процесс работает только отведенный период времени, после этого он приостанавливается по таймеру, чтобы передать управление планировщику.
Алгоритм планирования зависит от задач, зависящих от вида операционных систем.
Основные три системы:
• системы пакетной обработки - могут использовать неприоритетный и приоритетный алгоритм
• интерактивные системы - могут использовать только приоритетный алгоритм
• системы реального времени - могут использовать неприоритетный и приоритетный алгоритм
13. Планирование процессов в осрв.
Планирование и диспетчеризация процессов в системах реального времени должно удовлетворять следующим требованиям:
• строгое соблюдение дисциплины планирования,
• полное исключение инверсии приоритетов между задачами (за исключением специальных планировщиков – например, невытесняющих),
• сохранение контекста задачи при вытеснении ее с процессора,
• восстановление контекста задачи при назначении ей процессора,
• минимально возможное потребление ресурсов - памяти и процессорного времени.
Существует 2 типа планировщиков задач. Простой планировщик – список готовых задач, упорядоченных по убыванию приоритета. «POSIX» планировщик поддерживает списки задач для каждого приоритета.
Типы планирования:
• невытесняющее планирование – применяется для быстрой обработки события,
• вытесняющее планирование - основной тип планирования в системах жесткого реального времени,
• круговое планирование - применяется как замена «общего цикла выполнения». ОС не влияет на вытеснение задач и на время выполнения задач,
• планирование с квантованием - похоже на круговое, но вытеснение задач происходит принудительно по истечении кванта времени (таким образом, ОС влияет на время выполнения задач),
• time-triggered scheduling - двойное и тройное исполнение задачи для сравнения результата вычислений. Жесткий (непериодический) график задач строится до исполнения (off-line). Прерывания разрешаются только в определенные моменты времени или не разрешаются во время полного цикла выполнения.
14. Необходимость решения сложных задач на кластерах.
Кластер — группа компьютеров, объединённых высокоскоростными каналами связи и представляющая с точки зрения пользователя единый аппаратный ресурс. Вычислительные кластеры, позволяют решать сложные задачи намного быстрее, используя преимущества параллельной обработки данных. В связи с этим, исследования в сфере параллельных вычислений сегодня становятся приоритетным направлением.
Параллельные вычисления - достаточно специфичная область математики и далеко не всегда параллельные вычисления могут быть применимы.
Существует необходимость решения задач на кластерах если:
1) программы не адаптированы для параллельных вычесление в средах MPI и PVM .В этом случае вы просто не сможете задействовать долее одного процессора для выполнения задачи или вообще запустить вашу программу в чужой операционной среде.
2) программы требуют не более нескольких часов процессорного времени на имеющемся оборудовании. Может случиться так, что время, потраченное вами на распараллеливание и отладку вашей задачи съест все преимущество в быстродействии, которое даст многопроцессорная обработка.
3) время жизни программы сравнимо со временем ее разработки в параллельном варианте. Основными особенностями модели параллельного программирования являются высокая эффективность программ, применение специальных приемов программирования и, как следствие, более высокая трудоемкость программирования.