The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Проект GnuPG представил новую свободную многопоточную библио..."
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Треды в линуксе" –5 +/
Сообщение от nuclightemail (ok), 09-Май-12, 22:03 
>> В линуксе нет тредов.
> Не пишите глупости, есть. Это в «классическом» Unix-е был только fork. И
> то лет 20 тому назад.

Нету. Именно как тредов - нету. Это для Linux вообще характерно во многих областях - есть подход всех обычных ОС, а есть как в линуксе. Например, везде кроме ядра есть понятие базовой системы ОС и сторонних программ - а в линуксе нету, там кроме ядра только пакеты.

Но вернемся к тредам. В типичных ОС (Windows, Solaris, FreeBSD) есть две раздельные сущности - процесс и тред (раздельные сущности с именами, например, struct proc и struct thread в ядре). Процесс имеет свое пространство виртуальной памяти, свой набор файловых дескрипторов, и др. атрибуты, особняком из которых стоят один или несколько тредов - просто поток исполнения со своим стеком и контекстом (набор регистров). Всё остальное принадлежит процессу.

В линуксе же всё - процесс. Тред в линуксе - просто легковесный процесс. В случае нескольких тредов в одном процессе эти нижележащие легковесные процессы просто разделяют (shared) те же самые атрибуты в виде пространства VM, дескрипторов и др. Собственно, если начало двухтысячных кто вспомнит, тогда даже в top можно бывало видеть артефакты этой реализации - многотредная программа показывалась как несколько процессов.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Проект GnuPG представил новую свободную многопоточную библио..., opennews, 09-Май-12, 15:27  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру