Одна задача - один компьютер с прямым доступом к памяти на всех уровнях - возможно ли это сегодня?

286
sanaris

Что, если я превращу свой компьютер x86_64 с ядром Opteron 24 (4 numa x 6 ядер) в машину с одной задачей?

Можно ли будет достичь следующих целей:

  1. Прямой доступ к памяти для всех уровней памяти.
  2. Отсутствие прерываний, кроме взаимодействия с пользователем. Видео работает через отдельный чип VGA Aspeed. Также возможен доступ через консоль COM.
  3. Запуск рукописной ассемблерной программы, которая будет работать с меньшим количеством переводов памяти.
  4. Имея небольшой код, контролирующий каждое ядро.

Это избавило бы от фрагментации памяти и траты ресурсов процессора / памяти?

Позволит ли это максимально возможную вычислительную мощность? Насколько больше по сравнению с обычным пользовательским программным обеспечением? Мало процентов? Какое микроядро работает лучше всего для этой цели?

PS. Я нашел это http://www.templeos.org/Wb/Home/Wb2/TempleOS.html Это работает?

PS2. Я частично согласен с Терри с его подходом - виртуальная память - вещь, которая не нужна большинству современных серверов. Каждая обычная серверная плата имеет 16 слотов памяти.

0
Таким образом, вы действительно хотите взять многоядерный процессор и попробовать сделать его на ASIC: D Почему бы просто не использовать один .. Setekh 8 лет назад 0
«Виртуальный эмори - вещь, в которой большинство современных серверов не нуждается». Если под «виртуальной памятью» вы подразумеваете файл подкачки, да, иногда вы можете обойтись без него. Но вы не избавитесь от виртуальной памяти, если не вернетесь к запуску, MS-DOS. (Обратите внимание, что существует много, много файлов, которые отображаются, следовательно, разбиты на страницы, поэтому избавление от файла подкачки даже не избавляет от подкачки на диск и с диска. Он просто избавляется от одного из множества файлов, вовлеченных в пейджинг. Jamie Hanrahan 8 лет назад 0

1 ответ на вопрос

0
Tiago Teixeira

Вы можете проверить операционную систему BareMetal с полностью написанным на ассемблере BareMetal exokernel, обеспечивающим однопроцессный процесс с многоядерными возможностями и прямым отображением памяти, x86_64 только с крошечным пространством.

https://github.com/ReturnInfinity/BareMetal-kernel

Прерывания ядра для взаимодействия с пользователем и API для программирования на Си.

Если вам нравятся хардкорные вещи, вы хотите посмотреть на это.