Лекция: ПОТОКИ. МНОГОПРОЦЕССОРНЫЕ СИСТЕМЫ

Потоки

Во многих процессах встречается ситуация, когда процесс может быть разделен на несколько независимо работающих частей. Например, в издательской системе длительные операции ( печать, обработка графических данных ...) могут выполняться отдельно от приема данных от пользователя ( набор текста, работа с мышью...). Однако, если эти действия находятся в одном процессе, то они выполняются последовательно одно за другим и в этом случае процесс печати остановит работу пользователя – он не сможет работать в это время ни с клавиатурой, ни с мышью, хотя процессор в это время не занят( печать выполняет само устройство принтера). Если разделить эти действия в виде двух разных процессов, то для каждого из них будет отведена своя область памяти и один процесс не сможет использовать данные другого процесса. А если оба процесса должны использовать одни и те же данные, а разделить на параллельное выполнение нужно только действия? Если команды процесса разделить так, чтобы они работали отдельно, но использовали одну область памяти с данными в рамках одного процесса, то такое разделение называется разделением процесса на потоки. Один поток – это команды печати, а другой поток – это команды ввода данных пользователем. Однако оба эти потока – это все один процесс и они используют одну область памяти, отведенную для всего процесса и пользуются одними и теми же данными из этой области. Управлением потоками в этом случае может заниматься либо сама Ос либо процесс пользователя.

 

еще рефераты
Еще работы по информатике