Операционные системы


сдать спермограмму недорого в москве, iga. |

Понятие многонитевости - часть 3


Все такие нити имеют одно и то же адресное пространство. Это означает, что они разделяют одни и те же глобальные переменные. Поскольку каждая нить может иметь доступ к каждому виртуальному адресу, одна нить может использовать стек другой нити. Между нитями нет полной защиты, потому что, во-первых, это невозможно, а во-вторых, не нужно. Все нити одного процесса всегда решают общую задачу одного пользователя, и аппарат нитей используется здесь для более быстрого решения задачи путем ее распараллеливания. При этом программисту очень важно получить в свое распоряжение удобные средства организации взаимодействия частей одной задачи. Кроме разделения адресного пространства, все нити разделяют также набор открытых файлов, таймеров, сигналов и т.п.

Итак, нити имеют собственные:

-

программный счетчик;

-         стек;

-         регистры;

-         нити - потомки;

-         состояние.

Нити разделяют:

-         адресное пространство;

-         глобальные переменные;

-         открытые файлы;

-         таймеры;

-         семафоры;

-         статистическую информацию.

Многонитевая обработка повышает эффективность работы системы по сравнению с многозадачной обработкой. Например, в многозадачной среде Windows можно одновременно работать с электронной таблицей и текстовым редактором. Однако, если пользователь запрашивает пересчет своего рабочего листа, электронная таблица блокируется до тех пор, пока эта операция не завершится, что может потребовать значительного времени. В многонитевой среде в случае, если электронная таблица была разработана с учетом, предоставляемых программисту, возможностей многонитевой обработки, этой проблемы не возникает, и пользователь всегда имеет доступ к электронной таблице.




Содержание  Назад  Вперед