# Apêndice B - Lista de Leitura - Rubinius
Rubinius is an implementation of the Ruby programming language. The Rubinius bytecode virtual machine is written in C++. The bytecode compiler is written in pure Ruby. The vast majority of the core library is also written in Ruby, with some supporting primitives that interact with the VM directly.
Author: Less Than Three. <3. http://less.thanthree.com

1.2.3

## Apêndice B - Lista de Leitura

A Construção de máquinas virtuais em geral e implementações de linguagens de programação em particular, requerem algum conhecimento. O objetivo do Rubinius é reduzir as barreiras mantendo, tanto quanto possível em Ruby, mas para modificar garbage collector você precisa
entender o que está acontecendo por trás das cortinas.

Essa página contém refer6encias para livros, leituras online, posts em blogs e outras publicações que você achará util trabalhando com o Rubinius.

Repare que algumas dessas referências possam ter informações desatualizadas sobre o Rubinius.

## Máquina Virtual

- Smalltalk-80: Linguagem e Implementação by Goldberg, Robson, Harrison (conhecido como “O livro Azul”), Os capítulos de Implementação são o da parte IV available online
- Máquinas Virtuais por Iain D. Craig
- Grandes posts do Adam Gardiner: introdução, Como enviar trabalhos

## Coletor de Lixo (Garbage Collector)

- Coletor de Lixo: Algoritmos para Gerenciamento Dinâmico Automatizado de Memória por Richard Jones
- Garbage collection lectures

## Métodos Primitivos

- Extensões Primitivas do Ruby e Smalltalk
- Guia Falando sobre Primitivas

## FFI

- Implementando Arquivo#Usando Link FFI
- Rubinius’ Função de Interface Estrangeira