Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Н.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008)

Н.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008), страница 3

PDF-файл Н.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008), страница 3 Операционные системы (38890): Книга - 3 семестрН.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008): Операционные системы - PDF, стран2019-05-08СтудИзба

Описание файла

PDF-файл из архива "Н.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008)", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст 3 страницы из PDF

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

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

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

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

Можно выделить несколько основныхсостояний процесса:1. ПОРОЖДЕНИЕ – состояние процесса, когда он уже создан,но не готов к запуску, при этом создаютсяинформационные структуры, описывающие данныйпроцесс; загружается кодовый сегмент процесса воперативную память или в область свопинга.2. ВЫПОЛНЕНИЕ – активное состояние процесса, во времякоторого процесс обладает всеми необходимыми ресурсамии непосредственно выполняется процессором;3. ОЖИДАНИЕ – пассивное состояние процесса, процессзаблокирован, он не может выполняться по своимвнутренним причинам, т.к.

ждет осуществления некоторогособытия, например, завершения операции ввода-вывода,получения сообщения от другого процесса, освобождениякакого-либо необходимого ему ресурса;4. ГОТОВНОСТЬ – также пассивное состояние процесса:процесс имеет все требуемые для него ресурсы, он готоввыполняться, однако процессор занят выполнением другогопроцесса.95. ЗАВЕРШЕНИЕ – конечное состояние в жизненном циклепроцесса, процесс выгружается из памяти и разрушаютсявсе структуры данных, связанные с ним.Взаимосвязь перечисленных состояний, описывающаяжизненный цикл процесса, представлена на Рис. 1.Порождение процессаВыполнение процесса ЦПочередь на запуск,очередь готовых процессовОжиданиеЗавершениеочередьзаблокированныхпроцесовГотовностьРис. 1 Общая схема состояний процесса.С точки зрения ОС, все множество процессов, кроме того или тех,которые в данный момент выполняются ЦП, можно представить ввиде совокупности очередей.

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

Это множество очередей может состоять изочередейраспределенияпроцессовпофункциональнымустройствам, времени ЦП, доступа к внешним или внутреннимустройствам ввода-вывода, памяти. Итак, жизненный цикл процессаесть совокупность состояний, которые в основном характеризуютсялибо работой процесса, либо ожиданием в какой-либо очереди.Как видно из Рис. 1, начальным этапом обработки процесса воперационной системе является очередь на запуск.

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

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

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

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

Совместное использование ресурса двумя процессами,когда каждый из процессов полностью владеет ресурсом некотороевремя, называют разделением ресурса. Разделению подлежат какаппаратные, так программные ресурсы. Разделяемые ресурсы,которые должны быть доступны в текущий момент времени толькоодному процессу – это так называемые критические ресурсы.Таковыми ресурсами могут быть как внешнее устройство, так инекая переменная, значение которой может изменяться разнымипроцессами.Процессы могут быть связаны некоторыми соотношениями(например, когда один процесс является прямым потомком другого),а могут быть не связанными друг с другом.

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

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

Свежие статьи
Популярно сейчас
Как Вы думаете, сколько людей до Вас делали точно такое же задание? 99% студентов выполняют точно такие же задания, как и их предшественники год назад. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5258
Авторов
на СтудИзбе
420
Средний доход
с одного платного файла
Обучение Подробнее