Лекция 7. Мультипрограммирование и мультипроцессирование.
Позволяет обеспечить эффективное использование ресурсов с точки зрения минимизации их простоев.
Способствует наиболее быстрому развитию процессов.
Приоритетные
- С фиксированным приоритетом
- ДО с относительным приоритетом (ОП)
- С абсолютным приоритетом (АП)
- Адаптивное обслуживание
- С динамическим приоритетом
- В зависимости от tожид.
- В зависимости от tобслуж.
Системы распределения ресурсов.
Используют
- Централизованную схему распределения ресурсов. При этом для каждого ресурса или совокупности ресурсов существует распределитель( монитор).
Монитор – объединение процедур доступа к ресурсам, которые он распределяет по формализованным запросам. При этом одновременно реализуются функции по синхронизации процессов.
2. Децентрализованную схему распределения ресурсов. Распределение осуществляется на основании некоторых соглашений, устанавливаемых между процессами.
Статическое и динамическое распределение ресурсов.
- Статическое распределение – ресурсы распределяются процессу до момента порождения процесса и являются далее для него постоянными.
2. Динамическое распределение – по мере развития процесса – потребителя
Мультипрограммирование.
Характеристики состояний процесса:
· Планирование (scheduling)
· Владение ресурсами (resource ownership)
· Выполнение (execution)
Единица планирования и владения ресурсами – процесс (process) или задание (task)
Единица диспетчеризации (выполнения) – поток (thread) или облегченный процесс (lightweight process) или нити
Варианты многопоточности:
1. Один процесс, один поток (MS DOS)
2. Несколько процессов, по одному потоку в процессе (разновидности UNIX)
3. Один процесс, несколько потоков (среда выполнения JAVA)
4. Несколько процессов, несколько потоков в процессе (W2000, Linux, Solaris)
Мультипрограммная система – система может выполнять несколько процессов одновременно.
Многопоточная система - включает в себя понятие мультипрограммирования, но расширяет эту концепцию и предполагает возможность одновременного выполнения отдельных потоков одного и того же процесса
Потоки могут выполняться:
синхронно(для выполнения потока 2 могут понадобиться результаты потока 1)
асинхронно(потоки независимы).
М.б. и смешанные ситуации.
Мультипрограммная ОС реализует сложные методы управления процессами и ресурсами. Они должны распределять ресурсы, такие как циклы CPU и память, назначать приоритеты таким образом, чтобы каждый процесс получал адекватное обслуживание.
Особенности мультипрограммирования:
1. Обеспечивает разделение памяти и взаимную защиту программ друг от друга.