Процессы

Лекции по предмету «Информатика»
Информация о работе
  • Тема: Процессы
  • Количество скачиваний: 0
  • Тип: Лекции
  • Предмет: Информатика
  • Количество страниц: 19
  • Язык работы: Русский язык
  • Дата загрузки: 2014-08-26 22:33:34
  • Размер файла: 202.11 кб
Помогла работа? Поделись ссылкой
Информация о документе

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

Если Вы являетесь автором текста представленного на данной странице и не хотите чтобы он был размешён на нашем сайте напишите об этом перейдя по ссылке: «Правообладателям»

Можно ли скачать документ с работой

Да, скачать документ можно бесплатно, без регистрации перейдя по ссылке:

Процессы
● Понятие о процессах и мультизадачности ● Планирование процессов
Мультизадачность
● Большинство программ для ЭВМ не могут выполняться на процессоре (ЦП) непрерывно: им периодически требуется взаимодействие с периферийными устройствами (жесткий диск, клавиатура, мышь, экран и т.д.). ● Работа с устройствами протекает значительно медленнее, чем вычисления на процессоре. Изначально процессор занимался передачей данных на устройство и приемом ответа.
Мультизадачность
● С изобретением технологии DMA (Direct Memory Access) устройства смогли работать с оперативной памятью напрямую, минуя процессор. ● Пока программа ожидает ответа устройства, работающего через DMA процессор простаивает. В это время его можно использовать для выполнения других программ. ● Выполняемая программа получила название процесса.
Процесс
● Процессом называют программу, находящуюся в состоянии выполнения, с выделенными ей ресурсами (оперативной памятью, открытыми файлами и т.д.) Процесс ≠ Программа ● одну программу можно запустить несколько раз (параллельно) ● в некоторых ОС одна программа может состоять из нескольких процессов ● процесс может изменить выполняемую в нем программу на другую
Невытесняющая мультизадачность
● При невытесняющей мультизадачности процесс сам решает, когда вернуть управление процессору, обычно это происходит в двух случаях: – процесс начал выполнять операцию на периферийном устройстве; – процесс сообщил ОС, что его можно прервать для выполнения других програм. ● Невытесняющая мультизадачность была реализована в Windows 3
Невытесняющая мультизадачность
● Достоинства – простота реализации ● Недостатки – программист должен регулярно возвращать управление при выполнении длительных вычислений; – программа может злонамеренно захватить процессорное время, лишая другие процессы возможности выполниться; – бесконечное зацикливание вследствие ошибки в любой программе, если цикл содержит только вычисления, приведет к зависанию всей ОС
Вытесняющая мультизадачность
● При вытесняющей мультизадачности, если процесс не вернул управление в течении определенного срока (кванта процессорного времени), ОС принудительно приостанавливает его и заменяет другим. ● Это дает возможность ОС контролировать распределение процессорного времени, а также сохранять стабильность несмотря на ошибки в программах пользователей.
Состояния процесса
Состояния процесса
● Процесс находится в состоянии ожидания, когда он не может выполниться, поскольку ожидает какого-либо события (например ответа периферийного устройства). ● Процесс находится в состоянии готовности, если он может выполняться, но процессор занят другим процессом.
Планирование процессов
Цели планирования ● Справедливость – гарантировать каждому заданию или процессу определенную часть времени использования процессора в компьютерной системе, стараясь не допустить возникновения ситуации, когда процесс одного пользователя постоянно занимает процессор, в то время как процесс другого пользователя фактически не начинал выполняться. ● Эффективность – постараться занять процессор на все 100% рабочего времени, не позволяя ему простаивать в ожидании процессов, готовых к исполнению. В реальных вычислительных системах загрузка процессора колеблется от 40 до 90%.
Цели планирования ● Сокращение полного времени выполнения (turnaround time) – обеспечить минимальное время между стартом процесса или постановкой задания в очередь для загрузки и его завершением. ● Сокращение времени ожидания (waiting time) – сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки. ● Сокращение времени отклика (response time) – минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя.
First-Come, First-Served (FCFS)
.....
Процессор
Процессы
Round Robin
Round Robin
● Вытесняющий вариант FCFS. ● Обеспечивает относительное равноправие процессов. ● Производительность зависит от выбора кванта времени. ● Слишком маленький квант увеличивает расходы времени на переключение процессов. ● При слишком большом кванте превращается в FCFS.
Shortest-Job-First (SJF)
Идеальный случай, но сложно предсказать величину CPU burst. Пусть τ(n) – величина n-го CPU burst, T(n + 1) – предсказываемое значение для n + 1-го CPU burst, а – некоторая величина в диапазоне от 0 до 1. Определим рекуррентное соотношение T(n+1)= аτ(n)+(1-а )T(n) T(0) положим произвольной константой. Первое слагаемое учитывает последнее поведение процесса, тогда как второе слагаемое учитывает его предысторию.
Обычно выбирают а=1/2. Так удобнее и считать, т.к. деление на 2 осуществляется побитовым сдвигом.
Справедливое планирование
● Гарантированное выполнение. Пронумеруем всех пользователей от 1 до N. Для каждого пользователя с номером i введем две величины: Ti – время нахождения пользователя в системе или, другими словами, длительность сеанса его общения с машиной и τi – суммарное процессорное время уже выделенное всем его процессам в течение сеанса. ● Справедливым для пользователя было бы получение Ti/N процессорного времени. Вычисляется для процессов каждого пользователя значение коэффициента справедливости τi*N/Ti и очередной квант времени предоставляется готовому процессу с наименьшей величиной этого отношения.
Справедливое планирование
● Статистическая справедливость. Каждому процессу выделяется лотерейный билет (приоритетным процессам может выделяться несколько), система случайно выбирает билет и запускает на выполнение соответствующий процесс. Поскольку переключение задач происходит очень часто (в современных системах в среднем 20-60 раз в секунду), каждый процесс получает долю процессорного времени в соответствии со своим приоритетом. Этот алгоритм обладает высокой скоростью из-за простоты.
Приоритетные очереди