- •11) Таблица процессов.
- •13.Критические области. Семафоры. Мьютексы. Мониторы.
- •16. Активация планировщика (когда выполняется планирование).
- •23.Управление памятью. Подкачка.
- •24. Страничная организация памяти. Таблицы страниц.
- •25. Подкачка (swapping).
- •26. Алгоритмы замещения страниц.
- •15. Планирование процессов. Задачи алгоритмов планирования.
15. Планирование процессов. Задачи алгоритмов планирования.
Планирование - это раздел вычислит ресурсов сист-ы между процессами и потоками.
Во-1, когда создается нов процесс, необход решить, какой процесс запустить: родительский или дочерний. Поскольку оба проц-са наход в сост готовности, эта ситуац не выходит за рамки обычн и планировщик может запустить любой из двух проц-ов.
Во-2, планирование необход, когда проц заверш раб. Этот проц уже не сущест, следоват, необход из набора готовых проц-в выбрать и запустить следующ. Если проц-в, наход в сост готовности, нет, обычно запускается холостой проц, поставляемый системой.
В-3, когда проц блокируется на операции ввода-вывода, семафоре, или по др причине, необход выбрать и запустить др процесс. Иногда причина блокировки может повлиять на выбор. Например, если А —
важн проц и он ожидает выхода проц-а В из критич обл, можно запустить следующ проц В, чтобы он вышел из критич обл и позволил проц-у Л продолжать работу. Сложность, в том, что планировщик обычно не обладает инф, необход для принятия прав-ого реш.
В-4, необход планирования может возникнуть при появл прерывания ввода-вывода. Если прерывание пришло от ус-ва ввода-вывода, закончившего работу, можно запустить проц, кот был блокирован в ожид этого события. Планировщик должен выбрать, какой проц запустить: нов, тот, кот был останов прерыванием, или какой-то др.
Задачи
17.
Алгоритм пларирования FCFS
«Первым пришел — первым обслужен»
Проц-ам предоставл доступ к процессору в том порядке, в кот они его запрашивают. Чаще всего формируется един очередь ждущих проц-ов. Как только появл перв задача, она немедленно запускается и работает столько, сколько необход. Остальн задачи ставятся в конец очереди. Когда текущ проц блокируется, запускается следующ в очереди, а когда блокировка снимается, проц попадает в конец очереди.
18. Алгоритм пларирования SJF
«Кратчайшая задача — первая»
Рассм еще один алгоритм без переключ для систем пакетной обработки, предполагающий, что времен отрезки работы известны заранее. Если в очереди есть неск одинак важных задач, планировщик выбирает первой самую короткую задачу.
19. Алгоритм пларирования RoundRobin
Циклич план-ие.Кажд процессу предоставл некот интервал времени проц-ра, так называемый квант времени. Если к концу кванта времени проц все еще работает, он прерыв-ся, а управл передается др проц-у.
20. Алгоритм пларирования "Multilevel Queue"
Неск очередей.В рез-те было разработ реш-е с классами приоритетов. Проц-ам класса с высшим приоритетом выделялся один квант, проц-амм след класса — два кванта, след — четыре кванта и т. д. Когда проц исп-ал все отведен ему время, он перемещ на класс ниже.
21. Алгоритм пларирования Multilevel Feedback Queue
Здесь процс не постоянно приписан к опредеk очереди, а может мигрировать из одной очереди в другую в завис от своего поведения. Планирование процсв между очередями осущест на основе вытесняющего приоритетного мех-ма. Если при работе процесса появл другой процс в какой-либо более приоритет очереди, исполняющийся процс вытесняется новым. через некоторое время все процы, требующие малого времени работы процессора, окажутся размещен в высокоприорит очередях, а все процессы, требующие большого счета и с низкими запросами к времени отклика, – в низкоприоритетных. Перемещ процс из очередей с низк приоритетами в очереди с высок приор-ми позволяет более полно учитывать изменен поведения процс с теч времени. Многоуровневые очереди с обратной связью представ собой наиболее общий подход к планированию процессов из числа подходов, рассмотренных нами. Они наиболее трудны в реализации, но в то же время обладают наибольшей гибкостью.
22. Взаимоблокировки. Условия взаимоблокировки. Предпол, напр, что кажд из двух проц-ов хочет записать отсканированный док-т на диск. Проц А запраш разреш на исп-ие сканера и получает его. Проц В запрограммирован по-другому, поэтому сначала запраш ус-во для записи дисков и также получ его. Затем проц А обращается к ус-ву для записи дисков, но запрос отклон до тех пор, пока это ус-тво занято проц-ом В. К сожалению, вместо того чтобы освобод ус-во для записи дисков, В запраш сканер. В этот момент проц-ы заблокированы и будут вечно оставаться в этом сост. Такая ситуация назыв тупиком, тупиковой ситуацией или взаимоблокировкой.Для возникновения взаимоблокировок должны выполняться след четыре усл:
1. Услов взаимн исключ. Каждый ресурс в данный момент или отдан ровно одному проц-у, или доступен.
2. Услов удержан и ожидания. Проц-ы, в данный момент удерживающ полученные ранее ресурсы, могут запрашивать нов рес-ы.
3. Услов отсутств принудит выгрузки рес-а. У проц-а нельзя принуд-м образом забрать ранее получ рес-ы. Проц, владеющий ими, должен сам освобод рес-ы.
4. Услов циклич ожидания. Должна существ круговая последоват из двух и более проц-в, каждый из кот ждет доступа к рес-у, удержив-му след членом последовательности.
