[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Escrever um driver



Ola' caro Fred,
 
--- "Frederico R. Marvila" <marvila_r@yahoo.com.br>
escreveu: >  

<CUT>
 
> Só aproveitando a discussão sobre o kernel, eu e 3
> colegas estamos penando para conseguir fazer um
> kernel
> que dá boot mais rápido. Nós precisamos de
> informações
> de como o kernel inicia (desde vc ligar a máquina) e
> como é o esquema de memória dele (ex: como acessar
> memória diretamente, como as estruturas são e onde
> estão, etc.). Infelizmente foram poucos os lugares
> em
> que encontramos as informações e, a maior parte do
> kernel, não é comentada...
> 
> Se alguém souber de algum lugar pra procurar, por
> favor me falem ;) Ah, ia esquecendo, esse é um
> trabalho da matéria sistemas operacionais.
> 

      A inicializacao do linux inicia-se pelos
arquivos /usr/src/linux/arch/i386/kernel/{head.S
setup.S}. Embora sejam uns dos mais dificeis arquivos,
sugiro uma 'leitura' neles, pois sao eles os
responsaveis pelo carregamento do kernel do
dispositivo onde estao (hd, floppy,..) para a memoria,
descompacta'-lo, setar os diretorios de paginas e
tabelas de paginas da memoria virtual, definir os
segmentos base que separam o espaco do usuario do
espaco do kernel, e inicializar a execucao do kernel.
Estao escritos em assembly.

      Uma fonte para o entendimento do gerenciamento
de memoria de uma arquitetura IBM-PC, eh o volume 3
dos livros de documentacao da INTEL, o "System
Programming Guide", encontrado no site da intel, em
http://developer.intel.com/design/pentium4/manuals/245472.htm

    .. Eh um excelente livro gratuito para
desenvolvedores de kernels, estudantes de
ciencias/engenharias, e hackers; notei que
***muitas*** ilustracoes dele e comenta'rios sao
utilizados em livros cla'ssicos dd computacao, de
autorias de A. Tanenbaum, Silbershwatz ...Utilizei-o
para alguns trabalhos tambe'm :) (de arquitetura de
computadores, semestre passado :) ).

     Acho muito legal saber o que acontece la'
embaixo, e o kernel eh uma fonte aberta de algoritmos
beli'ssimos. 

  
     Vai fundo, e depois mande um link para o trabalho
;)

     Um abraco!


      Rodrigo F Baroni
   Computer Science Bach's Student
   Sao Paulo, Brazil



> 
> =====
> Frederico "Ramirez" Marvila
> Ciência da Computação - UFMG
> e-SPEED - UFMG
> 
> "Friends shouldn't help friends run Windows." - Joe
> Barr



_______________________________________________________________________
Busca Yahoo!
O serviço de busca mais completo da Internet. O que você pensar o Yahoo! encontra.
http://br.busca.yahoo.com/



Reply to: