Основы современных операционных систем Лекция 10

advertisement
Основы современных
операционных систем
Лекция 10
vosafonov@gmail.com
http://polyhimnie.math.spbu.ru/jtl
Потоки (threads)
(C) В.О. Сафонов, 2010
Однопоточные и многопоточные
процессы
(C) В.О. Сафонов, 2010
Преимущества многопоточности
(C) В.О. Сафонов, 2010
История многопоточности
(C) В.О. Сафонов, 2010
Пользовательские потоки
(user threads)
(C) В.О. Сафонов, 2010
Потоки ядра (kernel threads)
(C) В.О. Сафонов, 2010
Модели многопоточности
(каким образом пользовательские
потоки отображаются в потоки ядра?)
(C) В.О. Сафонов, 2010
Модель “много / один”
(C) В.О. Сафонов, 2010
Схема модели “много / один”
(C) В.О. Сафонов, 2010
Модель “один / один”
(C) В.О. Сафонов, 2010
Схема модели “один / один”
(C) В.О. Сафонов, 2010
Модель “много / много”
(C) В.О. Сафонов, 2010
Схема модели “много/много”
(C) В.О. Сафонов, 2010
Проблемы многопоточности
(C) В.О. Сафонов, 2010
PThreads
(C) В.О. Сафонов, 2010
POSIX threads
дескриптор
(C) В.О. Сафонов, 2010
POSIX threads
(C) В.О. Сафонов, 2010
POSIX threads
мьютексов
условных переменных
(C) В.О. Сафонов, 2010
Пример: POSIX threads на Си (1/3)
(C) В.О. Сафонов, 2010
Пример: POSIX threads на Си (2/3)
(C) В.О. Сафонов, 2010
Пример: POSIX threads на Си (3/3)
(C) В.О. Сафонов, 2010
Потоки в Solaris
(C) В.О. Сафонов, 2010
Процесс в Solaris
(C) В.О. Сафонов, 2010
Потоки в Windows 2000
(C) В.О. Сафонов, 2010
Потоки в Linux
(C) В.О. Сафонов, 2010
Потоки в Java
(C) В.О. Сафонов, 2010
Состояния потоков в Java
(C) В.О. Сафонов, 2010
Q&A
(C) В.О. Сафонов, 2010
Download