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