- •1.Ос как расширенная машина
- •2.Ос как система управления ресурсами.
- •3.Особенности алгоритмов управления ресурсами.
- •Методы распределения памяти .
- •4.Особенноти аппаратных платформ.
- •5.Особенности областей использования
- •6. Особенности методов построения.
- •Управление процессами. Состояние процессов.
- •Управление процессами. Контекст и дескриптор процесса.
- •Управление процессами. Алгоритмы планирования процессов.
- •Проблема синхронизации процессов.
- •11. Средства синхронизации и взаимодействия процессов. Критическая секция.
- •Средства синхронизации и взаимодействия процессов. Тупики.
- •Средства синхронизации и взаимодействия процессов. Нити.
- •Управление памятью. Типы адресов.
- •Распределение памяти фиксированными разделами.
- •Распределение памяти разделами переменной величины (динамическими).
- •Перемещаемые разделы.
- •Страничное распределение памяти.
- •21. Странично-сегментное распределение.
- •Сегментное распределение памяти.
- •Физическая организация устройств ввода-вывода.
- •Организация программного обеспечения ввода-вывода.
- •Обработка прерываний. Драйверы устройств.
- •Независимый от устройств слой операционной системы. Пользовательский слой по.
- •28. Логическая организация файла.
- •Файловая система. Имена файлов.
- •Типы файлов.
- •Физическая организация и адрес файла.
- •31. Кэширование диска
- •Права доступа к файлу.
- •Общая модель файловой системы.
- •33. Современные архитектуры файловых систем
- •34. Распределенные файловые системы
- •35. Интерфейс файлового сервиса
- •Интерфейс сервиса каталогов.
- •Семантика разделения файлов в распределенных файловых системах.
- •Способы адресации в распределенных системах.
- •Кэширование в распределенных файловых системах.
- •Репликация в распределенных файловых системах.
- •Базовые примитивы передачи сообщений в распределенных системах.
- •Блокирующие и неблокирующие примитивы.
- •Буферизуемые и небуферизуемые примитивы.
- •Надежные и ненадежные примитивы.
- •Вызов удаленных процедур (rpc).
- •Проблемы взаимодействия операционных систем в гетерогенных сетях. Гетерогенность.
- •Основные подходы к реализации взаимодействия сетей.
- •Шлюзы в гетерогенных сетях.
- •Мультиплексирование стеков протоколов.
- •50. Вопросы реализации гетерогенных сетей. Варианты сетевого взаимодействия.
- •51.Вопросы реализации гетерогенных сетей
- •52.Сравнение вариантов организации взаимодействия сетей.
- •53.Службы именования ресурсов.
- •54.Доменный подход.
- •55.Четыре модели организации связи домена.
Управление процессами. Алгоритмы планирования процессов.
Процесс (или по-другому, задача) - абстракция, описывающая выполняющуюся программу.
Для операционной системы процесс представляет собой единицу работы, заявку на потребление системных ресурсов.
Планирование процессов включает в себя решение следующих задач:
определение момента времени для смены выполняемого процесса;
выбор процесса на выполнение из очереди готовых процессов;
переключение контекстов "старого" и "нового" процессов.
Первые две задачи решаются программными средствами, а последняя в значительной степени аппаратно.
Существует множество различных алгоритмов планирования процессов, по разному решающих вышеперечисленные задачи, преследующих различные цели и обеспечивающих различное качество мультипрограммирования.
Среди этого множества алгоритмов рассмотрим подробнее две группы наиболее часто встречающихся алгоритмов: алгоритмы, основанные на квантовании, и алгоритмы, основанные на приоритетах.
В соответствии с алгоритмами, основанными на квантовании, смена активного процесса происходит, если:
процесс завершился и покинул систему,
произошла ошибка,
процесс перешел в состояние ОЖИДАНИЕ,
исчерпан квант процессорного времени, отведенный данному процессу.
Другая группа алгоритмов использует понятие "приоритет" процесса. Приоритет - это число, характеризующее степень привилегированности процесса при использовании ресурсов вычислительной машины, в частности, процессорного времени: чем выше приоритет, тем выше привилегии.
Приоритет может выражаться целыми или дробными, положительным или отрицательным значением.
Проблема синхронизации процессов.
Процессам часто нужно взаимодействовать друг с другом, например, один процесс может передавать данные другому процессу, или несколько процессов могут обрабатывать данные из общего файла. Во всех этих случаях возникает проблема синхронизации процессов, которая может решаться приостановкой и активизацией процессов, организацией очередей, блокированием и освобождением ресурсов.
Сложность проблемы синхронизации состоит в нерегулярности возникающих ситуаций.В данном случае все определяется взаимными скоростями процессов и моментами их прерывания. Поэтому отладка взаимодействующих процессов является сложной задачей.
Ситуации подобные той, когда два или более процессов обрабатывают разделяемые данные, и конечный результат зависит от соотношения скоростей процессов, называются гонками.
11. Средства синхронизации и взаимодействия процессов. Критическая секция.
Критическая секция - это часть программы, в которой осуществляется доступ к разделяемым данным.
Чтобы исключить эффект гонок по отношению к некоторому ресурсу, необходимо обеспечить, чтобы в каждый момент в критической секции, связанной с этим ресурсом, находился максимум один процесс.
Этот прием называют взаимным исключением.
Простейший способ обеспечить взаимное исключение - позволить процессу, находящемуся в критической секции, запрещать все прерывания.
Однако этот способ непригоден, так как опасно доверять управление системой пользовательскому процессу; он может надолго занять процессор, а при крахе процесса в критической области крах потерпит вся система, потому что прерывания никогда не будут разрешены.
Другим способом является использование блокирующих переменных.
С каждым разделяемым ресурсом связывается двоичная переменная, которая принимает значение 1, если ресурс свободен (то есть ни один процесс не находится в данный момент в критической секции, связанной с данным процессом), и значение 0, если ресурс занят.