ОС Многопоточные различия - PullRequest
6 голосов
/ 20 января 2009

Я задаю этот вопрос, потому что я исследовал ОС Haiku (потомок BeOS).

Целью операционной системы BeOS было создание среды рабочего стола, которая хорошо справляется с мультимедиа и очень отзывчива. Они справляются с этим, создавая ядро ​​с «многопоточностью».

Другие операционные системы (Linux, Windows и т. Д.) Не имеют такой «распространяющейся многопоточности» и, следовательно, не так отзывчивы. (нет пламенных войн, пожалуйста ...)

Может ли кто-нибудь объяснить (тонкие) различия между "распространяющейся многопоточностью" (как в BeOS / Haiku) и многопоточностью, используемой в Windows или Linux?

Какое значение имеет разработчик для различных многопоточных систем?


Я нашел интересный сайт о многопоточности BeOS ... Многопоточность BeOS

1 Ответ

4 голосов
/ 17 февраля 2009

Скопировано из ответа, который я сделал на закрытый вопрос "Что такое / было так потрясающе в BeOS [закрыто]", но применимо здесь довольно красиво:

Из памяти странная вещь в разработке BeOS состоит в том, что GUI действительно является многопоточным, в отличие от каркасов GUI на других платформах, которые имеют тенденцию быть абсолютно однопоточными.

Это означало, что разработка приложений с графическим интерфейсом для BeOS совершенно иная, но я предполагаю, что это означало, что графические интерфейсы были более отзывчивыми, без необходимости явного проектирования на уровне приложений для обработки взаимодействий с графическим интерфейсом.

Конечно, это означает, что использование мьютексов и тому подобного более важно, и перенос приложений GUI из других ОС в BeOS затруднен, если библиотека GUI BeOS не будет эффективно превращена в однопоточную библиотеку с использованием и принудительным применением единой библиотеки. мьютекс всего приложения.

Linux, Windows и почти все другие операционные системы, которые я могу придумать, которые я использовал в последнее десятилетие, поддерживают многопоточность, Linux и Windows, которые используют многопоточность по-разному, но делают это очень хорошо - однако, BeOS действительно использует многопоточность повсеместно - и это становится очевидным, например, благодаря инфраструктуре GUI, тогда как большинство других являются строго однопоточными. (Или, в крайнем случае, разрешить доступ к нескольким потокам с неопределенными последствиями ...)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...