- •1Эволюция ос . Первый период (1945 -1955)
- •Второй период (1955 - 1965)
- •Третий период (1965 - 1980)
- •Четвертый период (1980 - настоящее время)
- •2Назначение и функции ос.
- •3. Требования, предъявляемые к ос.
- •4. Архитектура ос .
- •5. Интерфейс прикладного программирования. Системные вызовы .
- •8. Основные принципы построения ос.
- •9. Основные концепции ос.
- •10. Контекст и дескриптор процесса.
- •11. Потоки (нити).
- •12. Алгоритмы планирования процессов.
- •13. Ресурсы. Их свойства и классификация.
- •14. Концепция виртуализации. Концепция прерывания.
- •17. Взаимодействие процессов. Виды отношений.
- •18. Синхронизация процессов. Способ использования
- •19. Синхронизация процессов. Способ использования
- •20. Синхронизация процессов. Способ использования
- •21. Синхронизация процессов. Тупики.
- •24. Способы отображения основной памяти на кэш.
- •25. Стратегии управления оперативной памятью.
- •26. Методы распределения памяти без использования
- •27. Методы распределения памяти с использованием
- •28. Виртуальная память. Механизм преобразования
- •29. Виртуальная память. Алгоритмы замещения блоков.
- •30. Виртуальная страничная память.
- •31. Виртуальная сегментная память.
- •32. Виртуальная сегментно-страничная память.
- •Отношения между процессами
Отношения между процессами
Между процессами в мультипрограммной ВС могут возникать различного типа отношения. Рассмотрим основные из них:
Отношение предшествования. Для двух процессов существование такого отношения означает, что один процесс должен переходить в активное состояние всегда раньше второго процесса.
Отношение приоритетности. Процесс с приоритетом P может быть в активное состояние только при выполнении двух условий:
- в состоянии готовности к рассматриваемому процессору НЕТ процессов с большим приоритетом;
- процессор либо свободен, либо используется процессом с приоритетом меньшим Р.
Отношение взаимного исключения.
Пусть два процесса A и B используют при своем развитии некоторый общий ресурс R. Тогда совокупность действий над этим ресурсом в ходе каждого процесса называется критической областью (секцией), а совместно используемый ресурс называется критическим ресурсом.
Критическая область не должна выполнятся процессом одновременно с критической областью над этим же ресурсом в ходе другого процесса. В общем случае количество параллельных процессов, использующих общий ресурс, и следовательно имеющих соответствующую критическую секцию, может быть более двух.
Отношения "производители - потребители".
Пусть два процесса А и В информационно взаимодействуют друг с другом. Один процесс только вырабатывает сообщения (такой процесс называется производителем), а другой процесс воспринимает эти сообщения (такой процесс называется потребителем) Процессы взаимодействуют через некоторую общую буферную область памяти, которая в этом случае является критическим ресурсом
В эту область памяти процесс-производитель должен помещать очередное сообщение, а процесс потребитель должен считывать очередное сообщение.
Синхронизация этих двух процессов требует выполнения следующих условий:
- обеспечить отношения взаимного исключения по отношению к буферной памяти для хранения сообщений;
- учитывать состояние буферной области памяти, определяющее возможность или невозможность посылки или принятия очередного сообщения.
Процесс-производитель должен быть переведен в состояние ожидания, если предыдущее сообщение не было забрано из буфера процессом-потребителем.
Аналогично процесс-потребитель должен быть переведен в состояние ожидания, если процесс-производитель не поместил в буфер очередное сообщение.
В общем случае процессов-потребителей процесс производителей может быть более одного, в буферной области могут хранится более одного сообщения.
Отношения "читатели-писатели". В отношении некоторой области памяти, выступающей в качестве критического ресурса, множество параллельных процессов, работающих с ней, разделяется на два типа:
- первый тип- процессы-читатели - они могут одновременно считывать информацию из области памяти;
- второй тип - процессы-писатели - они записывают информацию в область памяти и делают это только исключая как друг друга, так и процессы-читатели. То есть, каждый из этих процессов находится в отношении взаимного исключения к другим процессам.
Существует множество вариантов взаимодействия таких процессов.
Наиболее распространенные следующие два:
1) устанавливается приоритетность в использовании критического ресурса процессам-читателям. Если хотя бы один процесс-читатель пользуется ресурсом, то он закрыт для использования всем процессам-писателям и доступен для использования всем процессам -читателям.
2) больший приоритет устанавливается процессам-писателям. При появлении запроса от процесса писателя доступ к критическому ресурсу закрывается для всех процессов-читателей и процессов-писателей, которые выдадут запрос позже него.
Отношения "обедающие философы".
Пусть имеются три параллельных процесса X,Y,Z и три ресурса P1- (клавиатура), P2- (дисплей), P3- (накопитель на магнитном диске)
Особенность развития процессов такова, что
- для пребывания процесса X в активном состоянии ему требуется выделить одновременно ресурсы Р1 и Р2
- для пребывания процесса Y в активном состоянии ему требуется выделить одновременно ресурсы Р2 и Р3
- для пребывания процесса Z в активном состоянии ему требуется выделить одновременно ресурсы Р3 и Р1
Переходы процессов в активное состояние происходят в непредсказуемые моменты времени.