Детерминированный GC в CLR?

есть ли какие-либо реализации CLR, которые имеют детерминированную сборку "мусора"?

Недетерминированные паузы в CLR MS GC запрещают .NET то, чтобы быть подходящей средой для разработки в реальном времени.

GC метронома и BEA, JRockit в Java являются двумя детерминированными реализациями GC, о которых я знаю.

Но имейте там какие-либо эквиваленты .NET?

Спасибо

5
задан DayOne 2 July 2010 в 11:16
поделиться

3 ответа

Невозможно сделать GC детерминированным, за исключением, конечно, вызова GC.Collect () ровно каждую секунду с использованием таймера ;-).

GC, однако, содержит механизм уведомлений (начиная с .NET 3.5 SP1), который позволяет вам получать уведомления, когда собирается сбор данных поколения 2. Вы можете прочитать об этом здесь .

GC теперь также содержит несколько режимов задержки, которые позволяют предотвратить любые сборы GC. Конечно, вы должны быть очень осторожны с этим, но это особенно полезно для систем реального времени. Вы можете прочитать об этом здесь .

5
ответ дан 14 December 2019 в 08:40
поделиться

Нет, таких нет. По моему опыту, .net нельзя использовать для создания систем реального времени по многим причинам, не только для сборки мусора. C или C ++ - лучший выбор. Также современные ОС не обеспечивают детерминированное планирование, и это касается всех приложений, независимо от языка.

2
ответ дан 14 December 2019 в 08:40
поделиться

Вам придется самостоятельно управлять сборщиком мусора, чтобы получить предсказуемое поведение в реальном времени, но если вы это делаете, то вы также можете не использовать управляемый язык.

Для систем реального времени вам нужен контроль над всем, что работает. Существуют сторонние модификации Windows XP, которые делают ее работающей в реальном времени (хотя не могу вспомнить, программный или жесткий режим реального времени).

Совершенно невыполнимый вариант. Посмотрите в Cosmos OS - написанную на C # и скомпилированную на ассемблер, я думаю - может что-то с этим сделать :)

0
ответ дан 14 December 2019 в 08:40
поделиться
Другие вопросы по тегам:

Похожие вопросы: