Emulação de Linux ® no FreeBSD

Roman Divacky

Revisão: 52222
Nota Legal
2018-09-06 00:48:03 por ebrandi.
Resumo

Essa tese master lida com a atualização da camada de emulação do Linux® (o chamado Linuxulator). A tarefa foi atualizar a camada para casar com a funcionalidade do Linux® 2.6. Como uma referencia a implementação, o kernel Linux® 2.6.16 foi escolhido. O conceito é perdidamente baseado na implementação do NetBSD. Maior parte do trabalho foi feito no verão de 2006 como parte de um programa de estudante do Google Summer of Code. O foco foi trazer o suporte do NPTL (nova biblioteca de threads POSIX®) pra dentro da camada de emulação, incluindo TLS (thread local storage), futexes (mutexes rapidos na camada de usuario), PID mangling, e algumas outras coisas menores. Muitos pequenos problemas foram identificados e corrigidos. Meu trabalho foi integrado dentro do repositório de principal do FreeBSD e vai ser ligado ao 7.0R release. Nós, o time de desenvolvimento de emulação estamos trabalhando na emulação do Linux® 2.6 a camada de emulação padr ão do FreeBSD.

[ Documento HTML em partes / Documento HTML completo ]

Índice
1. Introdução
2. Um olhar para dentro ...
3. Emulação
4. Parte da camada de emulação -MD do Linux®
5. Parte da amada de emulação -MI do Linux ®
6. Conclusão
7. Literaturas

1. Introdução

Nos últimos anos, os sistemas operacionais baseados em código aberto UNIX® começaram a ser amplamente implantados em máquinas servidores e clientes. Entre esses sistemas operacionais eu gostaria de destacar dois: FreeBSD, por sua herança BSD, base de código comprovada pelo tempo e muitos recursos interessantes e Linux® por sua ampla base de usuários, entusiasta comunidade aberta de desenvolvedores e apoio de grandes empresas. O FreeBSD tende a ser usado em máquinas de classe servidor, tarefas de rede pesadas com menos uso em máquinas de classe desktop para usuários comuns. Embora o Linux® tenha o mesmo uso em servidores, mas é muito mais usado por usuários domésticos. Isto leva a uma situação onde existem muitos programas binários disponíveis apenas para Linux® que não suportam o FreeBSD.

Naturalmente, surge a necessidade da habilidade de executar binários Linux® em um sistema FreeBSD e é com isso que esta tese trata: a emulação do kernel do Linux® no sistema operacional FreeBSD.

Durante o verão de 2006, a Google Inc. patrocinou um projeto que se concentrava em estender a camada de emulação do Linux® (o chamado Linuxulator) no FreeBSD para incluir necessidades do Linux® 2.6. Esta tese é escrita como parte deste projeto.

All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/

Questions that are not answered by the documentation may be sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.