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

Н.В. Вдовикина, А.В. Казунин, И.В. Машечкин, А.Н. Техехин - Системное программное обеспечение - взаимодействие процессов, страница 2

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

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

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

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

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

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

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

Вобщем случае данная информация может дополняться или менятьсяпо ходу исполнения процесса в зависимости от того, чем в данныймомент процесс занимался.Одной из целей создания и поддержания такой структурыявляется возможность продолжения корректной работы процессапосле приостановки его функционирования на процессоре. В моментвыделения следующему процессу вычислительных ресурсовпроисходит так называемое переключение контекста, в результатекоторого происходит сохранение контекста текущего процесса ипередача управления новому.2.1 Некоторые типы процессов.2.1.1 «Полновесные процессы»Существует понятие «полновесные процессы» - это процессы,выполняющиесявнутризащищенныхучастковпамятиоперационной системы, то есть имеющие собственные виртуальныеадресные пространства для статических и динамических данных.Для «полновесных процессов» можно сказать, что операционнаясистема поддерживает их обособленность: у каждого процесса6имеется свое виртуальное адресное пространство, каждому процессуназначаются свои ресурсы - файлы, окна, семафоры и т.д.

Такаяобособленность нужна для того, чтобы защитить один процесс отдругого, поскольку они, совместно используя все ресурсы ВС,конкурируют с друг другом. В общем случае процессы принадлежатразным пользователям, разделяющим один компьютер, и ОС беретна себя все функции, связанные с распределением ресурсов междуконкурирующими процессами. В операционных системахуправление такими процессами тесно связанно с управлением изащитой памяти, поэтому переключение процессора с выполненияодного процесса на выполнение другого является достаточнодорогой операцией по времени.2.1.2 «Легковесные процессы»Наряду с «полновесными процессами» существуют и«легковесные процессы», они же нити, которые в той или инойстепени присутствуют в различных операционных системах.

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

Для этих целейсовременные ОС предлагают использовать механизм многонитевойобработки (multithreading). При этом вводится новое понятие "нить"(thread). Нити, относящиеся к одному процессу, не настолькоизолированы друг от друга, как процессы в традиционноймногозадачной системе, между ними легко организовать тесноевзаимодействие. Нити, или «легковесные процессы», во многихотношениях схожи с процессами. Каждая нить выполняется строгопоследовательно и имеет свой собственный программный счетчик истек. Нити, как и процессы, могут, например, порождать нитипотомки, могут переходить из состояния в состояние. Подобнотрадиционным процессам (то есть процессам, состоящим из однойнити), нити могут находится в одном из следующих состояний:ВЫПОЛНЕНИЕ, ОЖИДАНИЕ и ГОТОВНОСТЬ.

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

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

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

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

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

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

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

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