Linux slogan
Visite também: BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Debia,Gimp ,AMSN  haha
Por zoioverde
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Registrando extensões no kernel com o binfmt_misc
Linux user
robersonfox
10/12/2004
Você alguma vez já pensou que maravilha seria se quando fizesse uma chamada a um programa feito para a plataforma Windows, ele automaticamente fazendo uso do wine, se instalasse? Ou se arquivos compilados em Java se executassem sem necessariamente termos que escrever aquela enorme expressão antes do arquivo que deve ser executado? Pois essa é a função do binfmt_misc, recurso do kernel que será explicado nesse artigo.
Por: Roberson Carlos | Blog: http://carlrobers.wordpress.com
[ Hits: 11084 ]
Conceito: 10.0   3 voto(s)3 voto(s)3 voto(s)3 voto(s)3 voto(s) + quero dar nota ao artigo

Introdução

Você alguma vez já pensou que maravilha seria se quando fizesse uma chamada a um programa feito para a plataforma Windows, ele automaticamente fazendo uso do wine, se instala-se, ou se arquivos compilados em Java se executassem sem necessariamente termos que escrever aquela enorme expressão antes do arquivo que deve ser executado?

Mas não parar-mos-ia por aí, poder-mos-ia executar aplicações Perl, Python ou até mesmo Emacs fazendo uso do binfmt_misc. Ele reconhece um arquivo binário lendo alguns bytes no cabeçalho do arquivo caso usemos uma opção denominada magic ou pode até mesmo assimilar a extensão (.exe, .com, .class) usada no arquivo e associá-la ao programa que interpreta o arquivo binário.

Quando queremos executar um programa em Java e temos que escrever:

$ /usr/bin/jdk1.5/java g3Horas

Onde: g3Horas é o arquivo com extensão class que foi compilado com a ferramenta javac da Sun. Se fosse feito o uso do binfmt_misc, aqui bastaria escrever:

$ ./g3Horas.class

Isto já ajudaria bastante o trabalho de muitos programadores. Caso seu sistema não esteja com a extensão class registrada, o kernel retornará um erro dizendo que não pode executar o arquivo binário, isto acontece porque ele ainda não sabe qual o programa que é o interpretador do arquivo, o que nós fazemos é registrar a extensão ou o cabeçalho do arquivo em um arquivo chamado register e informamos ao kernel o endereço do programa que interpreta o arquivo binário.

O register irá criar um arquivo novo para cada extensão ou cabeçalho que você quiser registrar.

Próxima página >>




Páginas do artigo

Outros artigos deste autor

Leitura recomendada

Comentários
[1] Comentário enviado por vodooo em 11/12/2004 - 07:39h:

Cara, perfeito!!! Bom artigo!

É o linux sempre simplificando nossas vidas!!!

Abraços


[2] Comentário enviado por luiscarlos em 11/12/2004 - 11:14h:

Ótimo artigo, muito bem explicado e de grande utilidade, facilita a vida dos programadores e aumenta o conhecimento dos gamados por fuçar no kernel o que eh muito prazeroso, mas soh uma perguntinha, qual foi sua fonte de pesquisa, falo por que tem um artigo muito parecido escrito pelo Morimoto em http://www.guiadohardware.net/artigos/293/ ,se foi de lah sua fonte eu acharia bastante ético vc citar a fonte, sem críticas negativas, apenas um comentário, estah de parabéns pelo artigo!!


[3] Comentário enviado por robersonfox em 13/12/2004 - 15:22h:

luis0101, nao sei se você já leu algum outro artigo meu pela rede afora, mas uma vez publiquei que estava traduzindo os arquivos do linux, incluindo o diretório /etc e tambem o kernel, eu os traduzi completamente usando um português ´xulo´, pois eu estava cansado do dialeto mecanico que os computadores nos retornam, nesta epoca eu traduzindo o kernel encontrei um arquivo explicativo, e a partir dele criei este, entendeu?
Valeu.



Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.