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.
[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.