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


Скачать 0.73 Mb.
Название Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос
страница 2/5
Тип Программа
rykovodstvo.ru > Руководство эксплуатация > Программа
1   2   3   4   5

5. Понятие процесса и потока. Создание процессов и потоков. Управляющие структуры процессов и потоков

Понятие процесса

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

Понятие потока

Потоки – последовательности команд.

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

Существует две основных категории реализации потоков:

Пользовательские потоки – потоки, реализуемые через специальные библиотеки потоков.

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

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

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

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

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

Управляющие структуры процессов

Для управления процессами ОС должна располагать всей необходимой для этого информацией, для чего каждому процессу необходим дескриптор, содержащий:

  • идентификатор процесса (PID);

  • тип (или класс) процесса, который определяет для супервизора некоторые правила предоставления ресурсов;

  • приоритет процесса, в соответствии с которым супервизор предоставляет ресурсы (в рамках одного класса процессов в первую очередь, обслуживаются более приоритетные процессы);

  • переменную состояния, которая определяет, в каком состоянии находится процесс (готов к работе, исполняется, ожидает устройства ввода-вывода и т.д.);

  • контекст задачи, т.е. защищённую область памяти (или адрес такой области), в которой хранятся текущие значения регистров процессора, когда процесс прерывается, не закончив работу;

  • информацию о ресурсах, которыми процесс владеет и/или имеет право пользоваться (указатели на открытые файлы, информация о незавершённых операциях ввода-вывода и др.);

  • место (или его адрес) для организации общения с другими процессами;

  • параметры времени запуска (момент времени, когда процесс должен активизироваться, и периодичность этой процедуры);

  • адрес задачи на диске (в случае отсутствия системы управления файлами) в её исходном состоянии и адрес на диске, куда она выгружается из ОП, если её вытесняет другая задача.

Операции над процессами

Изменением состояния процессов занимается ОС, совершая операции над ними.Основные операции над процессами удобно объединить в три пары:

  • создание процесса – завершение процесса (одноразовые);

  • приостановка процесса (перевод из состояния исполнение в состояние готовность) – запуск процесса (перевод из состояния готовность в состояние исполнение);

  • блокирование процесса (перевод из состояния исполнение в состояние ожидание) – разблокирование процесса (перевод из состояния ожидание в состояние готовность).

Необходимо помнить, что существует еще одна (непарная) операция: изменение приоритета процесса.


6. Контекст процесса и его состояния

Контекст процесса.

Информация, для хранения которой предназначен блок управления процессом состоит из:

регистрового контеста (содержимое всех регистров процессора);

системного (запись в таблице процессов, управляющая информация о процессе и т.д.);

пользовательского (код и данные).

Совокупность регистр, сист и польз-го контекстов называется просто контекстом процесса Контекст-информация, полностью характеризуя процесс в любой момент времени.

Переключение контекста.

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

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

Состояния процесса

простейшая диаграмма состояний процесса

Простейшая диаграмма состояний процесса

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

более подробная диаграмма состояний процесса

В состоянии исполнение происходит непосредственное выполнение программного кода процесса. Выйти из этого состояния процесс может по трем причинам:

  • завершает свою деятельность;

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

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

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

диаграмма состояний процесса, принятая в курсе

Более детальная схема

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

Готовность-> исполнение: осуществляется выбор процесса для исполнения в соответствии с установленной дисциплиной обслуживания.

Исполнение->готовность: обычно происходит в результате окончания выделенного кванта времени не работы или в результате появления процесса с более с более высоким приоритетом.

Ожидание->готовность: блокированный процесс переходит в состояние готовности к выполнению в момент появления некоторого ожидаемого события

Исполнение->ожидание: перевод процесса в заблокированное состояние осуществляется в случае, если для продолжения его работы требуется наступление некоторого события.

Исполнение-> завершение: если процесс сигнализирует об окончании своей работы или происходит его аварийное завершение, ОС прекращает его выполнение.

Дополнительное состояние приостановлен->готов может может в некоторых случаях существовать в OCPB:

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

  • при ненадёжной работе системы и возможном её отказе;

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

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

  • в ОС Windows NT – 7 состояний

  • в ОС UNIX – 9 состояний

7. Планирование процессов и потоков: критерии, виды, алгоритмы планирования

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

Планирование процессов включает в себя решение следующих задач:

  • определение момента времени для смены выполняемого процесса;

  • выбор процесса на выполнение из очереди готовых процессов;

  • переключение контекстов "старого" и "нового" процессов.

Диспетчеризация – реализация решения, найденного в результате планирования.

Задачи диспетчеризации:

  • сохранение контекста текущего потока

  • загрузка контекста нового потока

  • запуск нового потока на выполнение

Выделяют следующие уровни планирования:

  • долгосрочное

  • краткосрочное

  • среднесрочное

Долгосрочное планирование

  • отвечает за порождение новых процессов в системе, определяя ее степень мультипрограммирования

  • осуществляется достаточно редко

  • оказывает влияние на функционирование вычислительной системы на протяжении достаточно длительного времени

  • в некоторых ОС сведено к минимуму или отсутствует вовсе

Краткосрочное планирование

  • осуществляется, как правило, не реже одного раза в 100 миллисекунд.

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

  • при планировании использования процессора

Среднесрочное планирование

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

Критерии планирования и требования к алгоритмам

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

Цели планирования

Справедливость

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

Эффективность

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

В реальных вычислительных системах загрузка процессора: 40% - 90%

Сокращение полного времени выполнения (turnaround time)

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

Сокращение времени ожидания (waiting time)

Сократить время, которое проводят процессы в состоянии готовность и задания в очереди для загрузки

Сокращение времени отклика (response time)

Минимизировать время, которое требуется процессу в интерактивных системах для ответа на запрос пользователя

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

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

Свойства алгоритмов планирования

Независимо от целей планирования алгоритмы должны обладать следующими свойствами:

  • Предсказуемость.

Одно и то же задание должно выполняться приблизительно за одно и то же время.

  • Минимальные накладные расходы.

tисполнения процесса>>tвыбора процесса Если на каждые 100 миллисекунд, выделенные процессу для использования процессора, будет приходиться 200 миллисекунд на определение того, какой именно процесс получит процессор в свое распоряжение, и на переключение контекста, то такой алгоритм, очевидно, применять не стоит. Независимо от целей планирования алгоритмы должны обладать следующими свойствами:

Алгоритмы планирования

First-Come, First-Served (FCFS)

Когда процесс переходит в состояние готовность, он, а точнее, ссылка на его PCB помещается в конец этой очереди. Выбор нового процесса для исполнения осуществляется из начала очереди с удалением оттуда ссылки на его контекст.



(+) : простота реализации

(-): среднее время ожидания и среднее полное время выполнения для этого алгоритма существенно зависят от порядка расположения процессов в очереди.

 Выполнение процессов при порядке p0,p1,p2:

выполнение процессов при порядке p0,p1,p2

t1=13, t2=4, t3=1 => среднее время ожидания: (0+13+17)/3=10 единиц времени

среднее полное время выполнения: (13+17+18)/3=16 единиц времени

Выполнение процессов при порядке p2, p1, p0:

выполнение процессов при порядке p2, p1, p0

Среднее время ожидания: (5+1+0)/3=2 (в 5 раз <)

Среднее полное время выполнения: (18+5+1)/3=8 (в 2 раза <)

Round Robin (RR)

По сути дела, это тот же самый алгоритм, только реализованный в режиме вытесняющего планирования (очередной процесс передаётся на исполнение по таймеру по истечении определённого кванта времени)

процессы на карусели
Процессы на карусели

На производительность алгоритма RR сильно влияет величина кванта времени:

при очень больших величинах кванта алгоритм RR вырождается в алгоритм FCFS

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

~ 1/n от производительности реального процессора.

Shortest-Job-First (SJF)

Если выбирать процесс не по порядку (как в FCFS и RR), а основываясь на его минимальном времени непрерывного использования процессора, то это позволит повысить производительность алгоритма планирования использования процесса. Описанный алгоритм получил название «кратчайшая работа первой».

Основную сложность при реализации алгоритма SJF представляет невозможность точного значения времени выполнения очередного процесса.

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

Параллельные процессы

Параллельные процессы – последовательные вычислительные процессы, которые одновременно находятся в каком-либо активном состоянии (осуществляют борьбу за ресурсы).

Выделяют:

1. Независимые

Множества переменных (файлы данных, области ОП) не пересекаются, не влияют на результаты работы друг друга (могут только задерживать исполнение друг друга)

2. Взаимодействующие

Используют совместно некоторые (общие) переменные, и влияют на результаты выполнения друг друга.

Синхронизация процессов

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

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

Для синхронизации процессов прикладных программ программист может использовать:

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

- средства ОС (часто более эффективные или единственно возможные: потоки разных процессов, не имеют возможности вмешиваться в работу друг друга)

Пример необходимости синхронизации



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

Переменная NEXT, доступная всем процессам-клиентам, содержит номер первой свободной для записи имени файла позиции файла “Заказов”.

Процессы-клиенты считывают эту переменную, записывают в соответствующую позицию файла “заказов” имя своего файла и наращивают значение NEXT на единицу.

При передаче управления процессу R, он, в соответствии со считанным ранее значением текущей свободной позиции запишет имя файла для печати в файл “заказов” в позицию поверх имени файла процесса S и файл процесса S напечатан не будет.

Критическая секция

Критическая секция – часть программы, результат выполнения которой может непредсказуемо меняться, если переменные, относящиеся к ней, изменяются другими потоками в то время, когда выполнение этой части еще не завершено. В примере критическая секция – файл “заказов”, являющийся разделяемым ресурсом для процессов R и S.

9. Механизмы синхронизации: блокирующие переменные, семафоры, мониторы.
1   2   3   4   5

Похожие:

Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon 15 руководство пользователя
Просим уделить время для внимательного изучения инструкций в настоящем Руководстве пользователя. Это поможет вам надлежащим образом...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Инструкция (типовая) по охране труда при
Реактивы химические – это чистые вещества, их растворы, смеси или композиции строго регламентируемого состава, применяемые для научных...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Пароконвектомат «эра» это многофункциональная печь, которая может...
Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Пароконвектомат «эра» это многофункциональная печь, которая может...
Он позволяет повару готовить блюда лучшего качества при меньших физических затратах. Возможность использования одного пароконвектомата...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство пользователя следует изучить перед установкой оборудования,...
Это руководство содержит информацию о правилах установки и эксплуатации оборудования
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Регулирование криптовалют, токенов блокчейн и первичного предложения монет (ico)
Наиболее перспективной технологией является блокчейн, которая представляет собой технологию распределённой базы данных и обеспечивает...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Компьютер и дети. Компьютер друг или враг?
Показать возможность использования компьютера в учебной деятельности и в домашних условиях
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Инструкция по подключению к программе Teamspeak
Это бесплатная программа, не требующая регистрации или чего-либо еще, очень экономная в плане трафика. Программа представлена в разных...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство пользователя Артикул: 12313 Версия 0
Оптима окажется для вас многофункциональным полезным оборудованием и в будущем. Ваша отопительная установка отличается современным...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon 1. Программное обеспечение компьютера – это
А вся совокупность программ, хранящихся на всех устройствах долговременной памяти компьютера
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Инструкция по эксплуатации Razer Kabuto Спасибо, что выбрали товар...
Самое интересное, что Razer Kabuto еще и защищает дисплей. Каким образом? При транспортировке ноутбука или монитора компьютера нужно...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Программа для родителей и педагогов, которая называется «Из детства в отрочество»
Вы держите в руках необычную книгу. Это программа для родителей и педагогов, которая называется «Из детства — в отрочество»
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство пользователя Содержание
Перед началом использования необходимо внимательно ознакомиться с данным руководством и эксплуатировать оборудование в соответствии...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Краткое руководство пользователя собрания
Они могут сделать экран своего компьютера доступным для совместного использования всеми участниками, а также вести чат и транслировать...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Программа «Вольный стиль»
Дополнительное образование обеспечивает возможность успеха в данной сфере деятельности и тем самым способствует развитию таких качеств...
Это программа, которая обеспечивает возможность рационального использования оборудования компьютера удобным для пользователя образом. Ос icon Руководство Пользователя, Обновления для драйвера и по
Это инструкция знакомит с правилами эксплуатации и процедурой установки продукта. Для гарантии наилучшей производительности продукта...

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск