Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Шпоры по операционным системам - файл Планирование работы процессора.doc


Загрузка...
Шпоры по операционным системам
скачать (1236.1 kb.)

Доступные файлы (55):

OS2.doc37kb.22.01.2006 15:11скачать
OS2.txt8kb.23.01.2006 10:37скачать
Введение.txt16kb.23.01.2006 10:38скачать
Виды ЭВМ.txt11kb.23.01.2006 10:38скачать
Выполнение программ.txt6kb.23.01.2006 10:38скачать
Интерфейсы ОС.txt11kb.23.01.2006 10:38скачать
Место и роль ОС в вычислительной системе.txt10kb.23.01.2006 10:39скачать
Мультипрограммная.txt25kb.23.01.2006 10:45скачать
№1.txt39kb.23.01.2006 11:24скачать
№3.txt6kb.23.01.2006 11:24скачать
№4.txt27kb.23.01.2006 11:25скачать
Novell NetWare.txt6kb.23.01.2006 11:25скачать
Файловые системы UNIX System V Release 4.txt12kb.23.01.2006 11:25скачать
Оверлей и свопин.txt18kb.23.01.2006 10:53скачать
Планирование работы процессора.txt17kb.23.01.2006 10:42скачать
Прерывания.txt5kb.23.01.2006 10:56скачать
Примеры современных ОС и перспективы развития.txt13kb.23.01.2006 10:40скачать
Примеры управления памятью.txt5kb.23.01.2006 10:42скачать
Сетевые функции.txt8kb.23.01.2006 10:45скачать
Системная интеграция.txt7kb.23.01.2006 10:40скачать
Статическое и динамическое выделение памяти.txt12kb.23.01.2006 10:45скачать
Управление памятью.txt10kb.23.01.2006 10:41скачать
Управление процессами.txt16kb.23.01.2006 10:58скачать
Управление ресурсами.txt12kb.23.01.2006 10:44скачать
Установка и загрузка ОС.txt3kb.23.01.2006 10:41скачать
Файловая система.txt17kb.23.01.2006 10:45скачать
Функции защиты.txt2kb.23.01.2006 10:43скачать
Функции ОС-.txt6kb.23.01.2006 10:41скачать
Введение.doc59kb.22.01.2006 13:00скачать
Виды ЭВМ.doc44kb.22.01.2006 01:12скачать
Выполнение программ.doc33kb.22.01.2006 14:45скачать
Интерфейсы ОС.doc55kb.22.01.2006 14:28скачать
Место и роль ОС в вычислительной системе.doc39kb.22.01.2006 00:19скачать
Мультипрограммная.doc90kb.22.01.2006 21:50скачать
Оверлей и свопин.doc82kb.23.01.2006 10:53скачать
№1.doc116kb.22.01.2006 20:56скачать
№3.doc31kb.22.01.2006 23:59скачать
№4.doc81kb.22.01.2006 15:32скачать
Novell NetWare.doc32kb.23.01.2006 00:36скачать
Файловые системы UNIX System V Release 4.doc47kb.23.01.2006 00:34скачать
Планирование работы процессора.doc58kb.22.01.2006 20:25скачать
Прерывани1.doc28kb.23.01.2006 10:55скачать
Прерывания.doc855kb.22.01.2006 14:03скачать
Примеры современных ОС и перспективы развития.doc60kb.22.01.2006 15:15скачать
Примеры управления памятью.doc42kb.22.01.2006 20:55скачать
Сетевые функции.doc42kb.22.01.2006 22:42скачать
Системная интеграция.doc35kb.22.01.2006 17:40скачать
Статическое и динамическое выделение памяти.doc43kb.23.01.2006 10:34скачать
Управление памятью.doc45kb.22.01.2006 16:03скачать
Управление процессами.doc64kb.22.01.2006 20:44скачать
Управление ресурсами.doc57kb.22.01.2006 21:13скачать
Установка и загрузка ОС.doc25kb.22.01.2006 17:25скачать
Файловая система.doc77kb.23.01.2006 10:35скачать
Функции защиты.doc23kb.22.01.2006 21:09скачать
Функции ОС-.doc32kb.22.01.2006 12:51скачать

Планирование работы процессора.doc

Реклама MarketGid:
Загрузка...
Планирование работы процессора. Оптимизация и планирование работы процессора. Диспетчер. Приоритет процесса. Планирование процессов с учетом приоритета. Планирование в симметричных и асимметричных системах. Планирование в системах жесткого и мягкого реального времени.
Ответ:
Системы жесткого и мягкого реального времени

Системы реального времени можно разделить на системы жесткого и мягкого реального времени.

Признаки систем жесткого реального времени:

недопустимость никаких задержек ни при каких условиях;

бесполезность результатов при опоздании;

катастрофа при задержке реакции;

цена опоздания бесконечно велика.

Хороший пример системы жесткого реального времени - бортовая система управления самолетом.
^ Система мягкого реального времени характеризуется следующими признаками:

за опоздание результатов приходится платить;

снижение производительности системы, вызванное запаздыванием реакций, приемлемое.

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

Итак, различие между системами жесткого и мягкого реального времени определяется следующими требованиями: система называется системой жесткого реального времени, если она "не имеет права опаздывать", и мягкого реального времени, если ей "не следует опаздывать".

Не существует операционных систем жесткого или мягкого реального времени!

Понятия системы реального времени и операционной системы реального времени (ОСРВ) часто смешиваются.

Система реального времени - это конкретная система, связанная с реальным объектом. Она включает в себя необходимые аппаратные средства, операционную систему и прикладное программное обеспечение.

Операционная система реального времени - только инструмент, помогающий построить конкретную систему реального времени. Поэтому бессмысленно говорить об операционных системах жесткого или мягкого реального времени. Можно говорить только о том, можно ли с помощью данной операционной системы построить систему реального времени. Конкретная ОСРВ может только предоставить вам возможность создать систему жесткого реального времени. Но обладание такой ОСРВ вовсе не делает вашу систему "жесткой". Для создания системы жесткого реального времени необходимо сочетание подходящих аппаратных средств, адекватной операционной системы и правильного проектирования прикладного программного обеспечения.

Если, например, вы решили построить систему реального времени, обслуживающую TCP/IP-соединение через Ethernet, она никогда не будет системой жесткого реального времени, поскольку сам Ethernet непредсказуем.

^ Планирование процессов

Всякий раз, когда нам приходится иметь дело с ограниченным количеством ресурсов и несколькими их потребителями, будь то фонд заработной платы в трудовом коллективе или студенческая вечеринка с несколькими ящиками пива, мы вынуждены заниматься распределением наличных ресурсов между потребителями или, другими словами, планированием использования ресурсов. Такое планирование должно иметь четко поставленные критерии (чего мы хотим добиться распределением ресурсов) и алгоритмы, соответствующие критериям и опирающиеся на параметры потребителей. Только при правильном выборе критериев и алгоритмов можно избежать таких вопросов, как "Почему я получаю в десять раз меньше, чем мой шеф?" или "А где мое пиво?". Настоящая глава посвящена планированию исполнения процессов в мультипрограммных вычислительных системах или, кратко говоря, планированию процессов.


^ 3.1. Уровни планирования
В первой главе, рассматривая эволюцию компьютерных систем, мы говорили о существовании двух видов планирования в вычислительных системах: планировании заданий и планировании использования процессора. Планирование заданий появилось в пакетных системах после того, как для хранения сформированных пакетов заданий начали использоваться магнитные диски. Магнитные диски, будучи устройствами прямого доступа, позволяют загружать задания в компьютер в произвольном порядке, а не только в том, в котором они были записаны на диск. Изменяя порядок загрузки заданий в вычислительную систему, можно повысить эффективность ее использования. Процедуру выбора очередного задания для загрузки в машину, т. е. для порождения соответствующего процесса, мы и назвали планированием заданий. Планирование использования процессора впервые возникает в мультипрограммных вычислительных системах, где в состоянии готовность могут одновременно находиться несколько процессов. Именно для процедуры выбора из них одного процесса, который получит процессор в свое распоряжение, т.е. будет переведен в состояние исполнение, мы использовали это словосочетание. Теперь, когда мы познакомились с концепцией процессов в вычислительных системах, оба этих вида планирования мы будем рассматривать как различные уровни планирования процессов.


Планирование заданий выступает в качестве долгосрочного планирования процессов. Оно отвечает за порождение новых процессов в системе, определяя ее степень мультипрограммирования, т. е. количество процессов, одновременно находящихся в ней. Если степень мультипрограммирования системы поддерживается постоянной, т. е. среднее количество процессов в компьютере не меняется, то новые процессы могут появляться только после завершения ранее загруженных. Поэтому долгосрочное планирование осуществляется достаточно редко, между появлением новых процессов могут проходить минуты и даже десятки минут. Решение о выборе для запуска того или иного процесса оказывает влияние на функционирование вычислительной системы на протяжении достаточно длительного интервала времени. Отсюда и проистекает название этого уровня планирования - долгосрочное. В некоторых операционных системах долгосрочное планирование сведено к минимуму или совсем отсутствует. Так, например, во многих интерактивных системах разделения времени порождение процесса происходит сразу после появления соответствующего запроса. Поддержание разумной степени мультипрограммирования осуществляется за счет ограничения количества пользователей, которые могут работать в системе, и человеческой психологии. Если между нажатием на клавишу и появлением символа на экране проходит 20-30 секунд, то многие пользователи предпочтут прекратить работу и продолжить ее, когда система будет менее загружена.


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


В некоторых вычислительных системах бывает выгодно для повышения их производительности временно удалить какой-либо частично выполнившийся процесс из оперативной памяти на диск, а позже вернуть его обратно для дальнейшего выполнения. Такая процедура в англоязычной литературе получила название swapping, что можно перевести на русский язык как перекачка, хотя в профессиональной литературе оно употребляется без перевода - свопинг. Когда и какой из процессов нужно перекачать на диск и вернуть обратно, решается дополнительным промежуточным уровнем планирования процессов - среднесрочным.


^ 3.2. Критерии планирования и требования к алгоритмам
Для каждого уровня планирования процессов можно предложить много различных алгоритмов. Выбор конкретного алгоритма определяется классом задач, решаемых вычислительной системой, и целями, которых мы хотим достичь, используя планирование. К числу таких целей можно отнести:


Справедливость: гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не приступал к выполнению.
Эффективность: постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90 процентов.
Сокращение полного времени выполнения (turnaround time): обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением.
^ Сокращение времени ожидания (waiting time): минимизировать время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки.
Сокращение времени отклика (response time): минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.
^ Независимо от поставленных целей планирования желательно также, чтобы алгоритмы обладали следующими свойствами:


Были предсказуемыми. Одно и то же задание должно выполняться приблизительно за одно и то же время. Применение алгоритма планирования не должно приводить, к примеру, к извлечению корня квадратного из 4 за сотые доли секунды при одном запуске и за несколько суток при втором запуске.
Имели минимальные накладные расходы, связанные с их работой. Если на каждые 100 миллисекунд, выделенных процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, использовать не стоит.
^ Равномерно загружали ресурсы вычислительной системы, отдавая предпочтение тем процессам, которые будут занимать малоиспользуемые ресурсы.
Обладали масштабируемостью, т. е. не сразу теряли работоспособность при увеличении нагрузки. Например, рост количества процессов в системе в два раза не должен приводить к увеличению полного времени выполнения процессов на порядок.
Многие из приведенных выше целей и свойств являются противоречивыми. Улучшая работу алгоритма с точки зрения одного критерия, мы ухудшаем ее с точки зрения другого. Приспосабливая алгоритм под один класс задач, мы тем самым дискриминируем задачи другого класса. "В одну телегу впрячь не можно коня и трепетную лань". Ничего не поделаешь. Такова жизнь.


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


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


К статическим параметрам вычислительной системы можно отнести предельные значения ее ресурсов (размер оперативной памяти, максимальное количество памяти на диске для осуществления свопинга, количество подключенных устройств ввода-вывода и т. п.). Динамические параметры системы описывают количество свободных ресурсов в текущий момент времени.


^ К статическим параметрам процессов относятся характеристики, как правило, присущие заданиям уже на этапе загрузки:


Каким пользователем запущен процесс или сформировано задание.
^ Насколько важной является поставленная задача, т. е. каков приоритет ее выполнения.
Сколько процессорного времени запрошено пользователем для решения задачи.
^ Каково соотношение процессорного времени и времени, необходимого для осуществления операций ввода-вывода.
Какие ресурсы вычислительной системы (оперативная память, устройства ввода-вывода, специальные библиотеки и системные программы и т. д.) и в каком количестве необходимы заданию.
Алгоритмы долгосрочного планирования используют в своей работе статические и динамические параметры вычислительной системы и статические параметры процессов (динамические параметры процессов на этапе загрузки заданий еще не известны). Алгоритмы краткосрочного и среднесрочного планирования дополнительно учитывают и динамические характеристики процессов. Для среднесрочного планирования в качестве таких характеристик может выступать следующая информация:


^ Сколько времени прошло со времени выгрузки процесса на диск или его загрузки в оперативную память.
Сколько оперативной памяти занимает процесс.
Сколько процессорного времени было уже предоставлено процессу
Рис 3.1. Фрагмент деятельности процесса с выделением промежутков непрерывного использования процессора и ожидания ввода-вывода.
Для краткосрочного планирования нам понадобится ввести еще два динамических параметра. Деятельность любого процесса можно представить как последовательность циклов использования процессора и ожидания завершения операций ввода-вывода. Промежуток времени непрерывного использования процессора носит на английском языке название CPU burst, а промежуток времени непрерывного ожидания ввода-вывода - I/O burst. На рисунке 3.1. показан фрагмент деятельности некоторого процесса на псевдоязыке программирования с выделением указанных промежутков. Для краткости изложения мы будем использовать термины CPU burst и I/O burst без перевода. Значения продолжительности последних и очередных CPU burst и I/O burst являются важными динамическими параметрами процесса.


^ 3.4. Вытесняющее и невытесняющее планирование

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


^ Когда процесс переводится из состояния исполнение в состояние завершение.
Когда процесс переводится из состояния исполнение в состояние ожидание.
Когда процесс переводится из состояния исполнение в состояние готовность (например, после прерывания от таймера).
Когда процесс переводится из состояния ожидание в состояние готовность (завершилась операция ввода-вывода или произошло другое событие). Подробно процедура такого перевода была рассмотрена нами в разделе 2.3.5, где мы показали, почему при этом возникает возможность смены процесса, находящегося в состоянии исполнение.
В случаях 1 и 2 процесс, находившийся в состоянии исполнение, не может дальше исполняться, и для выполнения всегда необходимо выбрать новый процесс. В случаях 3 и 4 планирование может не проводиться, процесс, который исполнялся до прерывания, может продолжать свое выполнение после обработки прерывания. Если планирование осуществляется только в случаях 1 и 2, говорят, что имеет место невытесняющее (nonpreemptive) планирование. В противном случае говорят о вытесняющем (preemptive) планировании. Термин "вытесняющее планирование' возник потому, что исполняющийся процесс помимо своей воли может быть вытеснен из состояния исполнение другим процессом.


Невытесняющее планирование используется, например, в MS Windows 3.1 и ОС Apple Macintosh. При таком режиме планирования процесс занимает столько процессорного времени, сколько ему необходимо. При этом переключение процессов возникает только при желании самого исполняющегося процесса передать управление (для ожидания завершения операции ввода-вывода или по окончании работы). Этот метод планирования относительно просто реализуем и достаточно эффективен, так как позволяет использовать большую часть процессорного времени на работу самих процессов и до минимума сократить затраты на переключение контекста. Однако при невытесняющем планировании возникает проблема возможности полного захвата процессора одним процессом, который вследствие каких-либо причин (например, из-за ошибки в программе) зацикливается и не может передать управление другому процессу. В такой ситуации спасает только перезагрузка всей вычислительной системы.


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


Скачать файл (1236.1 kb.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации
Рейтинг@Mail.ru