Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Принципы функционирования очереди.




Очередь – это последовательность постановки процессов на выполнение (конкуренции за ресурс).

1. Есть следующие типы очередей: FIFO (first input first output) – в очереди не играет роли, какая задача по объему, по приоритету, по ресурсам, главное – ее момент появления в очереди (караван, буфер). Самая важная заявка – первая.

2. LIFO (last input first output). Стэк.

Если в момент обслуживания (n-1) заявки поступила еще одна, то она встает сразу за (n-1). Такой тип обслуживания называется стеком.

Согласно LIFO самая важная заявка, которая пришла последней, а в FIFO – первой.

3. Очередь с использованием приоритетов. Заявки на обслуживание при появлении в очереди имеют разные значения приоритетов. Чем ниже число, тем выше уровень приоритета.

Приоритеты могут быть динамическими – при нахождении в очереди заявка получает либо больший приоритет, либо меньший. Динамический приоритет зависит о того, какие из ресурсов являются приоритетными по обслуживанию.

Приоритеты зависят от объема задачи – чем меньше задача, тем быстрее она обслужится.

4. Планирование возможно с разделением тактов машинного времени – круговая диспетчеризация.

Между этими задачами делится машинное время.

Работает система приоритетов – чем больше время переключения, тем больше теряем время процессора.

 

Многоуровневые очереди.

Принцип этой очереди в том, что все процессы на обслуживание ставятся в несколько очередей в зависимости от приоритета процесса.

 

Если нет ни одного процесса в первой очереди, на обслуживание берется процесс с меньшим приоритетом, то есть из второй очереди и т.д. Это позволяет выделить наиболее важные процессы по приоритетам и, прежде всего, обслуживать именно их.

Например, в качестве первой очереди могут выступать какие-либо системные процессы (например, нажать комбинацию клавиш Alt+Ctrl+Del).

В качестве второй очереди могут выступать программы пользователя, в качестве третьей – какие-либо фоновые задачи (например, печать документа на принтере).

 

Планирование с использованием многоуровневой очереди с обратными связями.

 


Принцип данного планирования состоит в том, что каждому из процессов дается определенное количество времени на обслуживание.

Замечание: в основном этот механизм используется в системах реального времени.

После обслуживания первого процесса обслуживается следующий за ним. Если за отведенное процессу время он не успел обслужиться, то процесс уходит в очередь более низкого уровня. Время же на его обслуживание увеличивается вдвое по сравнению с первой очередью. Если же процесс снова не успевает обслужиться, он уходит в третью очередь, и время обслуживания увеличивается уже в четыре раза по сравнению с первой очередью. Данная очередь называется динамической.

При использовании данного типа очереди пользователь выигрывает в том, что чем больше он переключается между очередями, тем больше процессор считает, в то же время получается, что из первой очереди вычерпываются самые быстрые процессы.

После полного обслуживания процессов первой очереди, все остальные очереди поднимаются на уровень выше, и время на обслуживание процессов этих очередей уменьшается в два раза.

Замечание: наиболее перспективным считается последний тип очереди, который сочетает в себе динамику приоритетов и по опыту считается наиболее перспективным в ОС.

Все реальное состояние процесса определяется блоком PCB.

Управление памятью.

Управление памятью необходимо для распределения памяти между отдельными задачами, программами, буферами (например, буферами файлов, обменов) и один из методов – это перемещение процесса (программы на выполнение) в оперативной памяти.

 

Данный механизм называется SWAP и делится на два этапа:

 

Процесс называется SWAP

 

 

 


Проблемы:

 

1) процессы могут быть независимыми, тогда проблема в том, чтобы участки памяти не пересекались. Должен быть предусмотрен такой механизм, чтобы начальный адрес процесса не попадал в область ОС.

2)При работе взаимосвязанных процессов.

Один процесс может инициировать загрузку с диска еще каких-либо процессов. При SWAP OUT этого процесса должна быть освобождена память не только то самого процесса, но и от тех, которые были вызваны данным процессом.

Самая большая проблема – фрагментация памяти – это явление, которое возникает при загрузке и удалении процессов и может привести к тому, что при сильной фрагментации памяти нет достаточно большого участка, чтобы загрузить очередной процесс, особенно в случае взаимосвязанных процессов.

.del – динамически связанные библиотеки – наиболее проблематичны.

Msvb60.dll – 1.6 мб.

 





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 403 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Так просто быть добрым - нужно только представить себя на месте другого человека прежде, чем начать его судить. © Марлен Дитрих
==> читать все изречения...

2493 - | 2243 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.