Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Процессы и треды. Для реализации «мультизадачности» было введено понятие «легковесных»



Для реализации «мультизадачности» было введено понятие «легковесных»

процессов, которые в настоящее время получили названия потоки или треды (нити).

Понятие процесс в плоскости ОС подчеркивает их обособленность:

- у каждого процесса свое виртуальное адресное пространство;

- каждому процессу выделяются свои ресурсы – файлы, семафоры и т.д.

Обособленность процессов нужна для защиты процессов друг от друга, т.к. они,

используя общие ресурсы вычислительной системы, постоянно конкурируют друг с

другом. Процессы не связаны между собой и могут принадлежать различным

пользователям, разделяющим одну вычислительную систему. ОС считает процессы

несвязанными и независимыми.

В самих процессах также имеется внутренний параллелизм, использование которого

позволяет повысить производительность вычислительной системы. Например,

некоторые операции, выполняемые приложением, могут требовать большого количества

процессорного времени, в этом случае пользователь долго будет ждать результата. Если

программные модули, выполняющие такие длительные операции, оформить в виде

самостоятельных «подпроцессов» (легковесных или облегченных потоков, тредов,

«задач»), то у пользователя появляется возможность параллельно выполнять несколько

операций в рамках одного процесса. Для этих задач ОС не создает полноценной

виртуальной машины:

- задачи не имеют собственных ресурсов;

- находятся в том же виртуальном адресном пространстве, что и данный

процесс;

- могут пользоваться теми же файлами, виртуальными устройствами и прочими

ресурсами.

Единственный собственный ресурс для потоков – процессорный.

В однопроцессорных системах потоки разделяют между собой процессорное время,

а в многопроцессорных – могут выполняться параллельно, если нет конкуренции из-за

других ресурсов.

Главный результат многопоточности – возможность параллельно выполнять

несколько видов операций в одной прикладной программе. Параллельное вычисление

(более эффективное использование ресурсов центрального процессора и уменьшение

суммарного времени выполнения задачи) реализуется на уровне потоков и программа,

оформленная в виде нескольких потоков в рамках одного процесса, выполняется быстрее

за счет параллельного выполнения отдельных ее частей.

Особенно эффективно можно использовать многопоточность для выполнения

распределенных приложений.

С понятием «поток» связано распределение процессорного времени.

С понятием «процесс» связано распределение всех ресурсов, при диспетчеризации

следует учитывать все ресурсы, закрепленные за процессом.

Каждый процесс всегда состоит, по крайней мере, из одного потока, и только при

наличии внутреннего параллелизма программист может расщепить один поток на

несколько.





Дата публикования: 2014-11-29; Прочитано: 504 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...