![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
В операционной системе Unix традиционно поддерживается
классическая схема мультипрограммирования. Система поддерживает возможность параллельного (или квазипараллельного в случае наличия только одного аппаратного процессора) выполнения нескольких пользовательских программ.
Каждый процесс выполняется в собственной виртуальной
памяти, и, тем самым, процессы защищены один от другого,
т. е. один процесс не в состоянии неконтролируемым образом
прочитать что-либо из памяти другого процесса или записать в
нее. Однако контролируемые взаимодействия процессов допускаются системой.
Ядро системы предоставит возможности (набор системных
вызовов) для порождения новых процессов, отслеживания окончания порожденных процессов и т. д. С другой стороны, в ОС
Unix ядро системы — это полностью пассивный набор программ
и данных. Любая программа ядра может начать работать только
по инициативе некоторого пользовательского процесса.
В связи с распространением так называемых симметричных
мультипроцессорных архитектур компьютеров (Symmetric Multiprocessor Architectures — SMP) в ОС Unix был внедрен механизм легковесных процессов (light-weight processes), или нитей, или потоков управления (threads). Можно сказать, что нить — это процесс, выполняющийся в виртуальной памяти, используемой совместно с другими нитями одного и того же «тяжеловесного» (т. е. обладающего отдельной виртуальной памятью) процесса.
Дата публикования: 2015-10-09; Прочитано: 240 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!