Однопроцессорные ОС пример

С помощью humanmashine скажем:
1-ое:

Если система не поддерживает работу на многопроцессорной машине, то она однопроцессорная

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

2-ое:

все первые версии мобильных ОС были однопроцессорнми

например, все версии ОС Андройд до версии 3 - это однопроцессорные системы.

Android 3 "Honeycomb" - многопроцессорная система (поддерживает многоядерные процессоры)

humanmashine's picture

Почему муть?
Если система не поддерживает работу на многопроцессорной машине, то она однопроцессорная - по моему. Правда большинство современных ОС поддерживают многопроцессорную архитектуру, но до недавнего времени многие мобильные ОС являлись однопроцессорными, да и различные ОС для микроконтроллеров и прочей хардварной сладости, такие как FreeRTOS (хотя я точно не уверен, но по логике вещей).

vedro-compota's picture

humanmashine, тогда пример не подходит.
FreeRTOS (последняя) вроде как может быть собран для разных архитектур.
вот здесь пишут:

FreeRTOS is highly configurable by design. FreeRTOS can be built as a single CPU

Тогда давай для конкретности просто скажем про Андройд до версии 3:

Android 3.x "Honeycomb" - Поддержка многоядерных процессоров

ведь многоядерный процессор, это с точки зрения программирования как многопроцессорная система?

Или есть ещё какие-то иезуитские особенности?))

_____________
матфак вгу и остальная классика =)

humanmashine's picture

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

vedro-compota's picture

ок. а пример системы пакетной обработки данных можешь привести? м?)

_____________
матфак вгу и остальная классика =)