Н.В. Вдовикина, А.В. Казунин, И.В. Машечкин, А.Н. Техехин - Системное программное обеспечение - взаимодействие процессов (1114927)
Текст из файла
Московский Государственный Университет им. М.В. ЛомоносоваФакультет вычислительной математики и кибернетикиН.В.Вдовикина, А.В.Казунин, И.В.Машечкин, А.Н.ТерехинСистемное программное обеспечение:взаимодействие процессов.(учебно-методическое пособие)Москва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 ВВЕДЕНИЕ.Вычислительная система (ВС) есть совокупность аппаратныхи программных средств, функционирующих как единое целое ипредназначенных для решения задач определенного класса.
Любаявычислительная система обладает некоторым набором ресурсов.Эти ресурсы включают в себя как реально существующиефизические ресурсы (устройства) с их реальными характеристиками,так и устройства, эксплутационные характеристики которыхполностью или частично реализованы программным образом –виртуальные (логические) ресурсы (устройства). Под операционнойсистемой (ОС) понимают комплекс программ осуществляющийуправление, распределение и контроль за использованием ресурсоввычислительной системы.Любая операционная система оперирует некоторымисущностями (понятиями), которые во многом характеризуютсвойства этой операционной системы. К таким сущностям могутотноситься понятия – задача, процесс, объект, файл, набор данных ит.д..
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.