Каков наилучший способ узнать о реализации виртуальной машины помимо фактического взлома кода?

Я хотел бы узнать больше о внедрении и оптимизации виртуальных машин. Прямо сейчас я помогаю (в малой степени) с JRuby, а также играю / пишу с помощью своей собственной языковой реализации, похожей на lisp, которая работает на ВМ.

Однако я хотел бы получить больше информации о работе с виртуальными машинами и их проектировании. Есть ли хороший ресурс для этого типа информации, кроме чтения / работы с существующим кодом? Я не против этого, я просто подумал, есть ли другие источники, которые я мог бы изучить.

3 ответа

Прочитайте работу Антона Эртля. Также Дэвид Грегг. Также вы можете прочитать синюю книгу Smalltalk, которая состоит из трех глав о виртуальной машине. Зеленая книга Smalltalk также интересна и бесплатна онлайн.

Менее технический, но все же интересный, если у вас есть доступ к цифровой библиотеке ACM, является прародителем всех портативных виртуальных машин, UCSD Pascal.

Наконец, я поддерживаю рекомендацию по внедрению Lua 5.0. Это превосходная работа.

Также проверьте реализацию Lua 5.0. он считается самой быстрой виртуальной машиной в своем классе, а также одной из самых чистых и маленьких реализаций.

Посмотрите на LLVM и Parrot.

Другие вопросы по тегам