Проектирование уровня абстракции ОС - PullRequest
0 голосов
/ 31 октября 2009

При разработке уровня абстракции ОС для мультимодульной системы, какой подход следует использовать:

  1. Создайте общую библиотеку служб ОС, и каждый модуль создан для ее использования и запускается как отдельные процессы. OR
  2. Создайте только один экземпляр уровня абстракции, который предоставляет память, службы таймера и который порождает все экземпляры модулей.

Каковы плюсы и минусы этих подходов? Также сложите любое другое, если это возможно?

1 Ответ

1 голос
/ 31 октября 2009

В те времена, когда моей задачей было создавать, управлять и руководить (в основном путем создания таких уровней ;-), мне было легко принять решение: некоторые операционные системы (VMS, тогда совершенно новая Win-NT) имели очень порождение процессов с большим весом (так что действительно требовалось много провокаций, чтобы породить новый процесс! -), в то время как на других крайних (например, BSD 4.3 с его тогда совершенно новым vfork! -) положительно поощрил вас породить столько процессов, сколько вы пожелали, и у вас было очень мало накладных расходов при этом. Поэтому я решил, что предоставление разработчикам приложений решения о том, порождать их или нет, было безответственным - мы (группа «Базовые библиотеки») действительно должны были обеспечить уровень абстракции, который будет порождаться или не зависеть от базовой операционной системы. Это работало довольно хорошо ... но также это было 15/20 лет назад, на определенном классе машин (рабочих станций) с широким спектром ОС, но достаточно равномерным запасом памяти, ядер (одно: тогда многоядерных не было! -) и тому подобное.

Если бы я сегодня устроился на ту же работу, я бы сначала подтолкнул заинтересованные стороны (высшее руководство, маркетинг продукта или кто-либо еще) к четкому определению диапазона платформ, которые мы должны поддерживать - какие ОС, какой диапазон ( s) пожертвований HW. Если - как я подозреваю - это так же широко, как и тогда, моя архитектура была бы схожа с точки зрения сокрытия концепции порождения процессов от разработчиков приложений. Но, возможно, целевой диапазон отличается, например, «смартфоны и недорогие нетбуки», которые сделают выбор более легким… хотя абстрагирование процесса создания от программистов приложений является БЕЗОПАСНЫМ выбором, и вы должны раскрывать этот уровень только в том случае, если вы готовы рискнуть на этих разработчиков приложений » общие навыки и единообразие, на которое вы можете рассчитывать сейчас в вашем диапазоне платформ, оставаясь достаточно стабильными в будущем! -)

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