ВУЗ:
Составители:
53
3. ЛАБОРАТОРНАЯ РАБОТА № 3. ПРАКТИЧЕСКОЕ
ЗНАКОМСТВО С ПОТОКАМИ И СИНХРОНИЗАЦИЕЙ
ПОТОКОВ В ОС UNIX
ЦЕЛЬ РАБОТЫ
Ознакомиться с подсистемой управления потоками в операционной
системе Unix и основными программными средствами для создания,
управления и удаления потоков.
ЗАДАНИЕ
Изучить основные программные средства управления потоками ОС
Unix, а также способы синхронизации потоков. Разработать приложения
для многопоточных вычислений с использованием синхронизации по-
средством мьютексов, семафоров и условных переменных.
3.1. УПРАВЛЕНИЕ ПОТОКАМИ
3.1.1. Понятие потока
Поток (thread) можно определить как часть процесса, включающая
управляющую последовательность команд и использующая системные
ресурсы этого процесса.
Существует две основных категории реализации потоков.
Пользовательские потоки – потоки, реализуемые через специ-
альные библиотеки потоков и работающие в пользовательском про-
странстве.
Потоки уровня ядра – потоки, реализуемые через системные вызо-
вы и работающие в пространстве ядра.
Каждый процесс имеет, как минимум, один поток, при этом самый
первый поток, создаваемый при рождении нового процесса, принято на-
зывать начальным или главным потоком этого процесса.
Основное отличие процесса от потока заключается в способе ис-
пользования системных ресурсов. Дочерний процесс практически неза-
висим от родительского, для него системой выделяется отдельное ад-
ресное пространство, и он на равных правах с родительским процессом
«конкурирует» за процессорное время. При этом можно уничтожить ро-
дительский процесс, не затронув дочерний, который может выполняться
и после завершения родительского процесса. В отличие от дочернего
процесса, поток, порожденный данным процессом, полностью зависим
от процесса и завершение процесса влечет уничтожение всех созданных
Страницы
- « первая
- ‹ предыдущая
- …
- 51
- 52
- 53
- 54
- 55
- …
- следующая ›
- последняя »