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

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

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

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

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

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

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

1647.1.6 Завершение работы с сокетом .................................................................... 1667.1.7 Резюме: общая схема работы с сокетами ................................................. 1677.2Среда параллельного программирования MPI ..................................... 1767.2.1 Краткий обзор параллельных архитектур .................................................

1777.2.2 Модель программирования MPI ................................................................... 1827.2.3 Функции общего назначения. Общая структура программы ................... 1837.2.4 Прием и передача данных. Общие замечания ............................................. 1887.2.5 Коммуникации «точка-точка». Блокирующий режим .............................. 1907.2.6 Коммуникации «точка-точка». Неблокирующий режим.......................... 1967.2.7 Коллективные коммуникации ....................................................................... 2038АЛФАВИТНЫЙ УКАЗАТЕЛЬ УПОМИНАЕМЫХ БИБЛИОТЕЧНЫХФУНКЦИЙ И СИСТЕМНЫХ ВЫЗОВОВ .................................................................

2129СПИСОК ЛИТЕРАТУРЫ ..................................................................................... 2144ЧАСТЬ I. ПРОЦЕССЫ В ОПЕРАЦИОННОЙ СИСТЕМЕ1ВведениеВычислительнаясистема(ВС)представляетсобойсовокупностьаппаратныхипрограммныхсредств,функционирующих как единое целое и предназначенных длярешения определенного класса задач. Любая вычислительнаясистема располагает некоторым набором ресурсов: как реальносуществующих (физических) ресурсов, обладающих теми илииными реальными характеристиками, так и т.н.

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

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

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

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

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

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

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

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

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

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

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