П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010


Скачать 1.28 Mb.
Название П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010
страница 1/20
Тип Учебное пособие
rykovodstvo.ru > Руководство эксплуатация > Учебное пособие
  1   2   3   4   5   6   7   8   9   ...   20


Министерство образования и науки Российской Федерации

САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАЦИОННЫХ ТЕХНОЛОГИЙ, МЕХАНИКИ И ОПТИКИ

П.С. Алексеев

МНОГОПОТОЧНОЕ ПРОГРАММИРОВАНИЕ

Учебное пособие



Санкт-Петербург

2010

Содержание


Содержание 2

Введение 8

1 Введение в многопоточное программирование 10

1.1 Классификация параллельных аппаратных архитектур по Флинну 10

1.1 Характеристики последовательных программ 13

1.2 Характеристики параллельных программ 14

1.3 Особенности разработки параллельных программ 15

1.2 Понятия процессов и потоков. Основные определения 16

1.3 Переключение задач в многозадачных ОС. Многозадачность 22

2 Аппаратная поддержка многозадачности 24

2.1 Способы повышения быстродействия компьютеров 24

Архитектуры процессоров CISC и RISC 24

4.1 Законы Амдала 26

2.2 Параллельные компьютеры с общей памятью 26

2.3 Вычислительные системы с распределённой памятью 29

2.4 GRID 30

2.5 Классификация параллельных компьютеров и систем 32

2.6 Производительность параллельных компьютеров 37

3 Основы многопоточных программ 54

3.1 Основные определения 54

3.2 Виды ресурсов 56

3.3 Типы взаимодействия процессов 57

3.4 Основные средства синхронизации 58

4 Реализация многопоточности на различных платформах 76

4.1 BSD, UNIX System V, POSIX, XPG 76

BSD 76

UNIX System V 76

POSIX 76

POSIX – (Portable Operating System Interface for Unix  – переносимый интерфейс операционных систем Unix)  – набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. 77

Разработано комитетом 1003 IEEE, утверждено стандартом ISO/IEC 9945. 77

POSIX 1003.1 – Корневые службы 77

Создание и контроль процессов 77

Сигналы 77

Исключения плавающей точки 77

Нарушение сегментации 77

Запрещенные директивы 77

Ошибки шины 77

Таймеры 77

Операции над файлами (директориями) 77

Каналы 77

Библиотека C (включает стандарт ANSI C) 77

Интерфейс и контроль ввода/вывода 77

POSIX 1003.1b – Расширения реального времени 77

Планировка приоритетов 77

Сигналы реального времени 77

Таймеры и синхронизация 77

Семафоры 77

Передача сообщений 77

Общая память 77

Асинхронный и синхронный ввод/вывод 77

Интерфейс блокировки памяти 77

POSIX 1003.1c – Расширения потоков 77

Создание, контроль и очистка потоков 77

Планировщик потоков 77

Синхронизация потоков 77

Обработка сигналов 77

Поддержка POSIX операционными системами 78

Полная поддержка 78

Android OS 78

LynxOS 78

QNX 78

VxWorks 78

Неполная поддержка 78

FreeBSD 78

Linux 78

Symbian OS 78

POSIX для Windows NT 78

Поддерживается только POSIX 1003.1 http://msdn.microsoft.com/en-us/library/y23kc048(ja-jp,VS.90).aspx 78

Для расширения поддержки POSIX используется Interix 78

http://support.microsoft.com/kb/324081 78

http://msdn.microsoft.com/en-us/library/bb463220.aspx 78

XPG 78

XPG – X/Open Portability Guide – стандарт на ОС UNIX, являющийся более общим, чем POSIX. Определяет требования к операционной системе (тому, что она должна содержать) 78

4.2 WinAPI 78

Возможности по работе с потоками и процессами 78

Работа с процессами 78

Работа с потоками 78

Поддержка 32-разрядных и 64-разрядных потоков 78

Объединение совместно выполняющихся процессов в задания (Job) 78

Пулы потоков 78

Служба поддержки порядка потоков (Thread Ordering Service) – обеспечивает однократное выполнение потоков в нужном порядке в течение заданного периода 78

Служба планировщика мультимедийного класса (Multimedia Class Scheduler Service) – обеспечивает максимально допустимое использование процессора для мультимедийных приложений без запрета выделения ресурсов низкоприоритетным приложениям 79

Волокна (fiber) – возможность самостоятельно планировать выполнение модулей выполнения 79

Поддержка NUMA – (non-uniform memory access) – архитектуры многопроцессорных систем, в которой каждый процессор обладает собственной памятью и обменивается с остальными процессорами посредством кэшируемой шины 79

Работа с логическими процессорами и группами процессоров для поддержки более 64 логических процессоров 79

Пользовательский планировщик (User-Mode Scheduling UMS) – возможность написать собственный планировщик для управления переключением потоков 79

Управление потоками 79

Общие операции 79

CreateThread 79

OpenThread 79

SuspendThread 79

ResumeThread 79

GetCurrentThreadId 79

GetExitCodeThread 79

ExitThread – предпочтительный способ завершения потока 79

TerminateThread – опасна, стек потока не освобождается 79

WaitForSingleObject – ожидание завершения потока 79

GetTickCount – возвращает количество тиков (мс) с момента старта ОС 79

GetThreadTimes 79

Sleep 79

SuspendThread 79

Управление приоритетом 79

SetThreadPriority 79

GetThreadPriority 79

SetThreadPriorityBoost – разрешение или запрет динамического повышения приоритета потока (для активной задачи) 80

GetThreadPriorityBoost 80

Задание приоритетного процессора 80

SetThreadAffinityMask – на основе маски соответствия потока группе процессоров 80

SetThreadIdealProcessor – по номеру процессора 80

Список функций работы с процессами и потоками http://msdn.microsoft.com/en-us/library/ms684847(v=VS.85).aspx 80

Список функций обеспечения синхронизации http://msdn.microsoft.com/en-us/library/ms686360(v=VS.85).aspx 80

Использование разделяемой памяти http://msdn.microsoft.com/en-us/library/aa366878(v=VS.85).aspx 80

Пулы потоков http://www.rsdn.ru/article/baseserv/threadpool.xml 80

Особенности реализации многозадачности http://www.dtf.ru/articles/read.php?id=39888 80

Критические секции http://www.rsdn.ru/article/baseserv/critsec.xml 80

4.3 .NET 80

4.4 Java 83

5 Управление и синхронизация процессов и потоков 86

5.1 Функции создания процессов и управления ими 86

5.2 Функции создания потоков и управления ими 88

5.3 Функции работы со средствами синхронизации 90

6 Системы программирования на основе передачи сообщений 97

6.1 Основы MPI 97

Сообщения 98

Коммуникаторы 100

Обмен сообщениями 100

7 Новые средства многопоточного программирования 103

7.1 Совершенствование пулов потоков 109

7.2 Транзакционная память 109

Приложения 115


  1   2   3   4   5   6   7   8   9   ...   20

Похожие:

П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Г. Санкт-Петербург 09. 09. 2014 г
Предмет закупки: поставка бытовой техники: холодильников и микроволновых печей (далее Товар) в здания ниу вшэ – Санкт-Петербург,...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Литература по дисциплине "Цифровая обработка сигналов"
Цифровая обработка сигналов [Текст] : учебное пособие для вузов / А. Б. Сергиенко. 3-е изд. Санкт-Петербург : бхв петербург, 2011....
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Инженерная геодезия землеустройство учебное пособие Санкт-Петербург
Инженерная геодезия. Землеустройство: Учеб пособие / В. С. Ермаков, Н. Н. Загрядская, Е. Б. Михаленко, Н. Д. Беляев спб.: Изд-во...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Органического мира и биотические кризисы
Эволюция органического мира и биотические кризисы. Материалы LVI сессии Палеонтологического общества при ран (5-9 апреля 2010 г.,...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Органического мира и биотические кризисы
Эволюция органического мира и биотические кризисы. Материалы LVI сессии Палеонтологического общества при ран (5-9 апреля 2010 г.,...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Гуманитарныйинститу т
Основы генетики в коррекционной педагогике : учебное пособие для вузов / Л. А. Попова, Т. П. Степанова; под ред. В. П. Соломина....
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебное пособие Издание третье, исправленное и дополненное Москва...
Б 17 Литературное редактирование: Учеб пособие., изд. 3 – М.: Рудн, 2010. – 249 с
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебное пособие для студентов, обучающихся по специальностям: 260502...
Охрана труда в общественном питании : Учебное пособие для студ образовательных учреждений среднего профессионального образования...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебное пособие по устному и письменному переводу для переводчиков...
Печатается по постановлению Редакционно-издательского совета Института иностранных языков (Санкт-Петербург)
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Владимирский Государственный Университет Научная библиотека Бюллетень...
Принципы моделирования социальной самоорганизации: учебное пособие/ И. Д. Колесин. Санкт-Петербург: Лань, 2013. 281 c ил (Учебники...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебное пособие санкт-петербург 2016 ббк 65. 23 О 36 О36 Управление...
Управление затратами труда на предприятии. Для бакалавров по направлению «Управление государственными и частными предприятиями» всех...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебный план 3745 (еису) ифксиМП. 371. 62. 2015 Код ооп направление/...
...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon За 2011 год Санкт-Петербург 2011г
Показатели административных правонарушений по районам Санкт-Петербурга в 2010 году 47
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебно-методическое пособие Санкт-Петербург 2014 Авторы: Морозов...
Учебно-методическое пособие предназначено для повышения квалификации преподавательского состава умц по го чс и пб санкт-Петербурга...
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Вопросы к экзамену по дисциплине «Теория и технология программирования»
Культин Н. Б. Программирование в Turbo Pascal 0 и Delphi. Спб.: Бхв-санкт-Петербург, 1999. –416 с ил
П. С. Алексеев многопоточное программирование учебное пособие Санкт-Петербург 2010 icon Учебное пособие Владивосток Издательство тгэу 2010
Горшков М. В. Экологический мониторинг. Учеб пособие. 2-е изд испр и доп. – Владивосток: Изд-во тгэу, 2010. 300 с

Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск