- •1. Введение. Классификация видов программного обеспечения.
- •2.Назначение и функции операционных систем.
- •3. Мультипрограммирование. Режим разделения времени.
- •4. Многопользовательский режим работы. Режимы реального времени.
- •4. Содержание лекции:
- •1.Универсальные операционные системы и ос специального назначения.
- •2. Классификация операционных систем.
- •3. Модульная структура построения ос и их переносимость.
- •4. Управление процессором.
- •Раздел 2. Организация и управление процессами
- •4. Содержание лекции:
- •1. Понятие процесса и ядра. Сегментация виртуального адресного пространства процесса.
- •2.Структура контекста процесса. Идентификатор и дескриптор процесса.
- •3.Диспетчеризация и синхронизация процессов.
- •4. Иерархия процессов. Понятие приоритета и очереди процессов.
- •5.Планы проведения семинарских, лабораторных занятий
- •Тема 1 Структура операционной системы. Схема работы и взаимодействие элементов ос. Типы управляющих структур. Многозадачность.
- •1.Ознакомление со структурой операционной системы на примерах современных ос.
- •2. Рассмотрение схемы работы и взаимодействие элементов ос на примере WindowsXp.
- •3. Знакомство типами управляющих структур ос Minix, Linux WindowsNt.
- •Тема 2 Работа ядра при управлении процессом. Атрибуты процесса. Обработка прерываний. Порождение дочерних процессов в среде ос. Синхронизация процессов.
- •1. Работа ядра при управлении процессом.
- •2. Атрибуты процесса.
- •3. Обработка прерываний.
- •4. Порождение дочерних процессов в среде ос. Синхронизация процессов.
- •Тема 3 Функции, структура, алгоритм работы менеджера ввода-вывода. Организация защиты ввода-вывода.
- •1. Функции, структура, алгоритм работы менеджера ввода-вывода.
- •2. Организация защиты ввода-вывода.
- •Тема 4 Структура и свойства файловой системы. Права доступа. Способы защиты файлов. Кэширование.
- •1. Структура и свойства файловой системы.
- •2. Права доступа.
- •3. Способы защиты файлов.
- •4. Кэширование.
- •Тема 5 Управление памятью. Совместное использование памяти. Защита памяти. Механизм реализации виртуальной памяти. Стратегии подкачки страниц.
- •1. Управление памятью. Совместное использование памяти
- •2. Защита памяти.
- •3. Механизм реализации виртуальной памяти.
- •4. Стратегии подкачки страниц.
- •Тема 6 Состав и работа стандартных команд ос по управлению устройствами, файлами, процессами, диагностикой.
- •1. Состав команд ос по управлению устройствами, файлами, процессами, диагностикой.
- •2. Работа стандартных команд ос по управлению устройствами, файлами, процессами, диагностикой.
3.Диспетчеризация и синхронизация процессов.
Для аппаратной поддержки работы операционных систем с этими информационными структурами (дескрипторами задач) в процессорах могут быть реализованы соответствующие механизмы. Так, например, в микропроцессорах Intel 80x86 начиная с 80286, имеется специальный регистр TR (task register), указывающий местонахождение TSS, в котором при переключении с задачи на задачу автоматически сохраняется содержимое регистров процессора. Как правило, в современных ОС для этих микропроцессоров дескриптор задачи включает в себя TSS. Другими словами, дескриптор задачи больше по размеру, чем TSS, и включает в себя такие традиционные поля, как идентификатор задачи, ее имя, тин, приоритет и т. п.
Основным подходом к организации того или иного метода управления процессами, обеспечивающего эффективную загрузку ресурсов или выполнение каких-либо иных целен, является организация очередей процессов и ресурсов.
Основным подходом к организации того или иного метода управления процессами, обеспечивающего эффективную загрузку ресурсов или выполнение каких-либо иных целей, является организация очередей процессов и ресурсов.
Стратегия планирования определяет, какие процессы мы планируем на выполнение для того, чтобы достичь поставленной цели. Известно большое количество различных стратегий выбора процесса, которому необходимо предоставить процессор. Среди них, прежде всего, можно назвать следующие стратегии:
по возможности заканчивать вычисления (вычислительные процессы) в том же самом порядке, в котором они были начаты;
отдавать предпочтение более коротким процессам;
предоставлять всем пользователям (процессам пользователей) одинаковые услуги, в том числе и одинаковое время ожидания.
Известно большое количество правил (дисциплин диспетчеризации), в соответствии с которыми формируется список (очередь) готовых к выполнению задач. Различают два больших класса дисциплин обслуживания — бесприоритетные и приоритетные. При бесприоритетном обслуживании выбор задачи производится в некотором заранее установленном порядке без учета их относительной важности и времени обслуживания. При реализации приоритетных дисциплин обслуживания отдельным задачам предоставляется преимущественное право попасть в состояние исполнения.
Рис. 2.1. Дисциплины диспетчеризации
4. Иерархия процессов. Понятие приоритета и очереди процессов.
Для определения порядка выполнения потоков диспетчер использует систему приоритетов.
Класс процессов, имеющих самые высокие значения приоритет - называется критическим. Этот класс предназначается для процессов, которые мы в обиходе называем процессами реального времени, то есть для них должен быть обязательно предоставлен определенный минимум процессорного времени.
Следующий класс процессов имеет название приоритетного. Поскольку к этому классу относят процессы, которые выполняют по отношению к остальным задачам роль сервера. Приоритет таких процессов должен быть выше, это будет гарантировать, что запрос на некоторую функцию со стороны обычных процессов выполнится сразу, а не будет дожидаться, пока до него дойдет очередь на фоне других пользовательских приложений.
Большинство процессов относят к обычному классу, его еще называют регулярным или стандартным. По умолчанию система программирования порождает процесс, относящийся именно к этому классу.
К классу фоновых задач, относятся программы, которые получают процессорное время только тогда, когда нет задач из других классов, которым сейчас нужен процессор.
При выполнении программ, реализующих какие-либо задачи контроля и управления (что характерно, прежде всего, для систем реального времени), может случиться такая ситуация, когда одна или несколько задач не могут быть реализованы (решены) в течение длительного промежутка времени из-за возросшей нагрузки в вычислительной системе. Потери, связанные с невыполнением таких задач, могут оказаться больше, чем потери от невыполнения программ с более высоким приоритетом. При этом оказывается целесообразным временно изменить приоритет «аварийных» задач (для которых истекает отпущенное для них время обработки). После выполнения этих задач их приоритет восстанавливается. Поэтому почти в любой ОС реального времени имеются средства для изменения приоритета программ. Есть такие средства и во многих ОС, которые не относятся к классу ОСРВ. Введение механизмов динамического изменения приоритетов позволяет реализовать более быструю реакцию системы на короткие запросы пользователей, что очень важно при интерактивной работе, но при этом гарантировать выполнение любых запросов.
В Windows каждый поток (тред) имеет базовый уровень приоритета, который лежит в диапазоне от двух уровней ниже базового приоритета процесса, его породившего, до двух уровней выше этого приоритета, как показано на рис. 2.4. Базовый приоритет процесса определяет, сколь сильно могут различаться приоритеты потоков процесса и как они соотносятся с приоритетами потоков других процессов. Поток наследует этот базовый приоритет и может изменять его так, чтобы он стал немного больше или немного меньше. В результате получается приоритет планирования, с которым потоки начинает исполняться. В процессе исполнения потока его приоритет может отклоняться от базовой).
На рис. 2.4 показан динамический приоритет потока, нижней границей которого является базовый приоритет потока, а верхняя — зависит от вида работ, исполняемых потоком. Например, если ноток обрабатывает пользовательский ввод» то диспетчер задач Windows поднимает его динамический приоритет; если же он выполняет вычисления, то диспетчер постепенно снижает его приоритет до базового. Снижая приоритет одного процесса и поднимая приоритет другого, подсистемы могут управлять относительной приоритетностью потоков внутри процесса.
Рис. 2.4. Схема динамического изменения приоритетов в Windows
Диспетчер использует систему приоритетов для эффективного управления ресурсами вычислительной системы. ОС прекращает исполнение или вытесняет текущий поток или процесс, если становится готовым к выполнению другой поток или процесс с более высоким приоритетом.
Существует группа очередей — но одной для каждого приоритета. Windows поддерживает 32 уровня приоритетов; потоки делятся на два класса: реального времени и переменного приоритета. Потоки реального времени, имеющие приоритеты от 16 до 31 — это высокоприоритетные потоки, используемыми программами с критическим временем выполнения, то есть требующие немедленного внимания системы (по терминологии Microsoft).
Диспетчер задач просматривает очереди, начиная с самой приоритетной. При этом если очередь пустая, то есть нет готовых к выполнению задач с таким приоритетом, осуществляется переход к следующей очереди. Следовательно» если есть задачи, требующие процессор немедленно, они будут обслужены в первую очередь. Для собственно системных модулей, функционирующих в статусе задач, зарезервирована очередь с номером 0.
Контрольные задания для СРС (тема 1) [(1;53-67,76-95),(2;57-64,103-121,129-135),(3;107-109)]
1.Сегментный способ организации виртуальной памяти
2.Страничный способ организации виртуальной памяти
3.Сегментно-страничный способ организации виртуальной памяти.
4.Распределение оперативной памяти в MS-DOS.
5. Распределение оперативной памяти в Microsoft Windows ХР
