Н.В. Вдовикина, А.В. Казунин, И.В. Машечкин, А.Н. Техехин - Системное программное обеспечение - взаимодействие процессов
Описание файла
PDF-файл из архива "Н.В. Вдовикина, А.В. Казунин, И.В. Машечкин, А.Н. Техехин - Системное программное обеспечение - взаимодействие процессов", который расположен в категории "". Всё это находится в предмете "практика расчётов на пэвм" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Московский Государственный Университет им. М.В. ЛомоносоваФакультет вычислительной математики и кибернетикиН.В.Вдовикина, А.В.Казунин, И.В.Машечкин, А.Н.ТерехинСистемное программное обеспечение:взаимодействие процессов.(учебно-методическое пособие)Москва2002УДК 681.3.06ББК 32.973-018.2C40В пособии рассматриваются основные аспекты управленияпроцессами в операционной системе и организации межпроцессноговзаимодействия на примере операционной системы UNIX.Изложение проиллюстрировано большим количеством программныхпримеров. Пособие рекомендуется для студентов, аспирантов ипреподавателей в поддержку курсов лекций «Системноепрограммное обеспечение» и «Операционные системы».АвторывыражаютблагодарностьЕ.М.Шляховой,Ю.О.Нестеровой, А.Н.Розинкину, О.И.Вдовикину за помощь вподготовке пособия.УДК 681.3.06ББК 32.973-018.2Рецензенты:чл.-корр.
РАНдоцентЛ.Н.КоролевЕ.А.КузьменковаВдовикина Н.В., Казунин А.В., Машечкин И.В., Терехин А.Н.С40 Системное программное обеспечение:процессов: учебно-методическое пособие.взаимодействиеИздательский отдел факультета ВМиК МГУ(лицензия ИД № 05899 от 24.09.2001), 2002, - 183 c.Печатается по решению Редакционно-издательского Советафакультета вычислительной математики и кибернетики МГУ им.М.В. ЛомоносоваISBN 5-89407-139-9© Издательский отдел факультета вычислительной математики икибернетики МГУ им.
М.В. Ломоносова, 2002ОГЛАВЛЕНИЕЧАСТЬ I. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ. ..............................................51Введение. ...........................................................................................52Понятие процесса. ............................................................................52.12.1.12.1.22.23Некоторые типы процессов. ................................................................6«Полновесные процессы» ........................................................................6«Легковесные процессы».........................................................................7Жизненный цикл процесса.
.................................................................8Синхронизация параллельных процессов....................................123.13.1.13.1.23.1.33.1.43.1.53.1.63.23.2.13.2.23.2.3Способы реализации взаимного исключения. ...............................16Запрещение прерываний и специальные инструкции. ........................16Алгоритм Петерсона. ...........................................................................17Активное ожидание. .............................................................................18Семафоры.
..............................................................................................19Мониторы...............................................................................................20Обмен сообщениями. .............................................................................22Классические задачи синхронизации процессов. ..........................25«Обедающие философы» ......................................................................25Задача «читателей и писателей»........................................................28Задача о «спящем парикмахере»..........................................................31ЧАСТЬ II.
РЕАЛИЗАЦИЯ ПРОЦЕССОВ. ...........................................344Реализация процессов в ОС UNIX...............................................344.14.1.14.1.24.1.34.1.44.24.34.44.54.64.74.84.9Понятие процесса в UNIX. .................................................................34Контекст процесса. ..............................................................................34Тело процесса. ........................................................................................35Аппаратный контекст.
........................................................................36Системный контекст. ..........................................................................37Аппарат системных вызов в OC UNIX............................................38Порождение новых процессов. ..........................................................41Механизм замены тела процесса.
.....................................................45Завершение процесса...........................................................................50Жизненный цикл процесса в ОС UNIX...........................................55Начальная загрузка. Формирование О и 1 процессов..................56Планирование процессов в ОС UNIX. .............................................58Принципы организация свопинга....................................................60ЧАСТЬ III. РЕАЛИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ ПРОЦЕССОВ. ..6255.15.25.35.45.55.6Элементарные средства межпроцессного взаимодействия.
......65Сигналы.................................................................................................65Надежные сигналы. .............................................................................73Программные каналы.........................................................................79Именованные каналы (FIFO)............................................................87Нелокальные переходы. .....................................................................90Трассировка процессов.......................................................................9336Средства межпроцессного взаимодействия System V.
...............996.16.1.16.1.26.1.36.26.2.16.2.26.2.36.2.46.36.3.16.3.26.3.36.3.46.46.4.16.4.26.4.37Организация доступа и именования в разделяемых ресурсах. ..99Именование разделяемых объектов.....................................................99Генерация ключей: функция ftok(). .....................................................100Общие принципы работы с разделяемыми ресурсами.....................101Очередь сообщений. ..........................................................................103Доступ к очереди сообщений..............................................................104Отправка сообщения...........................................................................104Получение сообщения. .........................................................................105Управление очередью сообщений.
......................................................106Разделяемая память ..........................................................................112Создание общей памяти. ....................................................................113Доступ к разделяемой памяти. ..........................................................113Открепление разделяемой памяти. ...................................................114Управление разделяемой памятью.....................................................115Семафоры.
...........................................................................................116Доступ к семафору ..............................................................................117Операции над семафором ...................................................................118Управление массивом семафоров.......................................................120Взаимодействие процессов в сети.
.............................................1267.17.1.17.1.27.1.37.1.47.1.57.1.67.27.2.17.2.27.2.37.2.47.2.57.2.67.2.7Механизм сокетов. .............................................................................126Типы сокетов. Коммуникационный домен. .......................................127Создание и конфигурирование сокета...............................................128Предварительное установление соединения.....................................131Прием и передача данных. ..................................................................133Завершение работы с сокетом.
.........................................................135Резюме: общая схема работы с сокетами. ......................................136Среда параллельного программирования MPI ...........................145Краткий обзор параллельных архитектур. ......................................145Модель программирования MPI. ........................................................150Функции общего назначения. Общая структура программы. ........152Прием и передача данных. Общие замечания. ..................................156Коммуникации «точка-точка». Блокирующий режим....................158Коммуникации «точка-точка».
Неблокирующий режим................164Коллективные коммуникации. ............................................................1718 Алфавитный указатель упоминаемых библиотечных функций исистемных вызовов. ............................................................................1819Список литературы.......................................................................1834ЧАСТЬ I. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ.1 ВВЕДЕНИЕ.Вычислительная система (ВС) есть совокупность аппаратныхи программных средств, функционирующих как единое целое ипредназначенных для решения задач определенного класса.
Любаявычислительная система обладает некоторым набором ресурсов.Эти ресурсы включают в себя как реально существующиефизические ресурсы (устройства) с их реальными характеристиками,так и устройства, эксплутационные характеристики которыхполностью или частично реализованы программным образом –виртуальные (логические) ресурсы (устройства). Под операционнойсистемой (ОС) понимают комплекс программ осуществляющийуправление, распределение и контроль за использованием ресурсоввычислительной системы.Любая операционная система оперирует некоторымисущностями (понятиями), которые во многом характеризуютсвойства этой операционной системы. К таким сущностям могутотноситься понятия – задача, процесс, объект, файл, набор данных ит.д..