Н.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008)
Описание файла
PDF-файл из архива "Н.В. Вдовикина, И.В. Машечкин, А.Н. Терехин, А.Н. Томилин - Операционные системы - взаимодействие процессов (2008)", который расположен в категории "". Всё это находится в предмете "операционные системы" из 3 семестр, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .
Просмотр PDF-файла онлайн
Текст из PDF
Московский Государственный Университет им. М.В. ЛомоносоваФакультет вычислительной математики и кибернетикиН.В.Вдовикина, И.В.Машечкин, А.Н.Терехин, А.Н.ТомилинОперационные системы: взаимодействиепроцессов.(учебно-методическое пособие)Москва2008УДК 681.3.06ББК 32.973-018.2C40В пособии рассматриваются основные аспекты управленияпроцессами в операционной системе и организации межпроцессноговзаимодействия на примере операционной системы UNIX.Изложение проиллюстрировано большим количеством программныхпримеров. Пособие рекомендуется для студентов, аспирантов ипреподавателей в поддержку курса «Операционные системы».АвторывыражаютблагодарностьО.И.Вдовикину,А.А.Шестимерову за помощь в подготовке пособия.УДК 681.3.06ББК 32.973-018.2Рецензенты:член-корр. РАН Л.Н.КоролевдоцентЕ.А.КузьменковаВдовикина Н.В., Машечкин И.В., Терехин А.Н.,Томилин А.Н.С40 Операционные системы: взаимодействиеучебно-методическое пособие.процессов:Издательский отдел факультета ВМиК МГУ 2008, - 215 c.Печатается по решению Редакционно-издательского Советафакультета вычислительной математики и кибернетики МГУ им.М.В.
ЛомоносоваISBN 978-5-89407-341-5© Издательский отдел факультета вычислительной математики икибернетики МГУ им. М.В. Ломоносова, 2008ОГЛАВЛЕНИЕЧАСТЬ I. ПРОЦЕССЫ В ОПЕРАЦИОННОЙ СИСТЕМЕ............................... 51ВВЕДЕНИЕ .................................................................................................................. 51.1Понятие процесса.............................................................................................
51.1.1 Полновесные и легковесные процессы (нити) ................................................. 61.1.2 Нити и процессоры............................................................................................ 71.1.3 Контекст процесса ........................................................................................... 81.1.4 Жизненный цикл процесса .................................................................................
92СИНХРОНИЗАЦИЯ ПАРАЛЛЕЛЬНЫХ ПРОЦЕССОВ .................................. 122.1Способы реализации взаимного исключения .......................................... 162.1.1 Запрещение прерываний и специальные инструкции ...................................
162.1.2 Алгоритм Петерсона ...................................................................................... 172.1.3 Активное ожидание ........................................................................................ 182.1.4 Семафоры .........................................................................................................
182.1.5 Мониторы ........................................................................................................ 202.1.6 Обмен сообщениями ........................................................................................ 222.2Классические задачи синхронизации процессов ..................................... 252.2.1 «Обедающие философы» ................................................................................ 252.2.2 Задача «читателей и писателей».................................................................. 282.2.3 Задача о «спящем парикмахере» .................................................................... 30ЧАСТЬ II.
РЕАЛИЗАЦИЯ ПРОЦЕССОВ .......................................................... 333РЕАЛИЗАЦИЯ ПРОЦЕССОВ В ОС UNIX ......................................................... 353.1Понятие процесса в UNIX ............................................................................ 353.1.1 Контекст процесса ......................................................................................... 353.1.2 Тело процесса ...................................................................................................
363.1.3 Аппаратный контекст ................................................................................... 373.1.4 Системный контекст ..................................................................................... 383.2Аппарат системных вызов в OC UNIX...................................................... 403.3Порождение новых процессов ..................................................................... 423.4Механизм замены тела процесса ................................................................ 463.5Завершение процесса ....................................................................................
533.6Жизненный цикл процесса в ОС UNIX ..................................................... 573.7Начальная загрузка. Формирование системных процессов ................. 583.8Планирование процессов в ОС UNIX ........................................................ 61ЧАСТЬ III. РЕАЛИЗАЦИЯ ВЗАИМОДЕЙСТВИЯ ПРОЦЕССОВ ...............
654ЭЛЕМЕНТАРНЫЕ СРЕДСТВА МЕЖПРОЦЕССНОГОВЗАИМОДЕЙСТВИЯ....................................................................................................... 694.1Сигналы........................................................................................................... 694.2Надежные сигналы ........................................................................................ 774.3Нелокальные переходы ................................................................................
844.4Программные каналы .................................................................................. 874.5Именованные каналы (FIFO)...................................................................... 954.6Трассировка процессов................................................................................. 985СРЕДСТВА МЕЖПРОЦЕССНОГО ВЗАИМОДЕЙСТВИЯ SYSTEM V ..... 1055.1Организация доступа и именования в разделяемых ресурсах ........... 1055.1.1 Именование разделяемых объектов.............................................................
1055.1.2 Генерация ключей: функция ftok() ................................................................ 1065.1.3 Общие принципы работы с разделяемыми ресурсами............................... 1075.2Очередь сообщений ..................................................................................... 1095.2.1 Доступ к очереди сообщений ....................................................................... 11035.2.25.2.35.2.45.35.3.15.3.25.3.35.3.45.45.4.15.4.25.4.3Отправка сообщения..................................................................................... 110Получение сообщения .................................................................................... 111Управление очередью сообщений .................................................................
112Разделяемая память .................................................................................... 119Создание общей памяти ............................................................................... 120Доступ к разделяемой памяти .....................................................................
120Открепление разделяемой памяти .............................................................. 121Управление разделяемой памятью............................................................... 121Семафоры ...................................................................................................... 123Доступ к семафорам ..................................................................................... 124Операции над семафорами ........................................................................... 125Управление массивом семафоров.................................................................
1276МНОГОНИТЕВАЯ МОДЕЛЬ. БИБЛИОТЕКА PTHREADS ......................... 1346.1Реализация нитей......................................................................................... 1346.1.1 Представление атрибутов нити ................................................................. 1356.1.2 Создание нити ...............................................................................................
1366.1.3 Завершение нити. Ожидание завершения нити......................................... 1376.1.4 Конкуренция нитей при планировании ........................................................ 1406.1.5 Нити и сигналы .............................................................................................. 1416.2Синхронизация нитей ................................................................................. 1436.3Двоичные семафоры ................................................................................... 1436.3.1 Создание и инициализация двоичного семафора ........................................
1446.3.2 Установка блокировки .................................................................................. 1456.3.3 Снятие блокировки ........................................................................................ 1456.3.4 Уничтожение семафора ............................................................................... 1466.4Условные переменные ................................................................................ 1476.4.1 Создание условной переменной.....................................................................
1486.4.2 Ожидание на условной переменной ............................................................. 1486.4.3 Разблокирование условной переменной ....................................................... 1496.4.4 Уничтожение условной переменной ............................................................ 1497ВЗАИМОДЕЙСТВИЕ ПРОЦЕССОВ В СЕТИ ..................................................
1547.1Механизм сокетов ........................................................................................ 1547.1.1 Типы сокетов ................................................................................................. 1557.1.2 Коммуникационный домен ............................................................................ 1587.1.3 Создание и конфигурирование сокета......................................................... 1597.1.4 Предварительное установление соединения .............................................. 1617.1.5 Прием и передача данных .............................................................................