Navegação pelos fontes

Post Reply
gnome_gtk
Posts: 35
Joined: Sun Dec 09, 2007 10:08 pm

Navegação pelos fontes

Post by gnome_gtk » Sun Dec 23, 2007 5:13 am

Tem algum lugar aonde vejo quais arquivos do fonte respondem por qual tarefa ou sequência de boot?

Jeronimus Linuxius
Posts: 43
Joined: Mon Jun 18, 2007 11:14 pm

Post by Jeronimus Linuxius » Tue Dec 25, 2007 6:50 am

Esse tipo de informação exige algum conhecimento sobre o processo de arranque do windows NT. Se quiseres aprender mais sobre isso, tens http://en.wikipedia.org/wiki/Windows_NT_startup_process .

Perceber exactamente onde estão cada um daqueles programas na árvore das sources, já é um bocado mais tricky. Mas com o hábito vai lá...

JJ

Jeronimus Linuxius
Posts: 43
Joined: Mon Jun 18, 2007 11:14 pm

Re: Navegação pelos fontes

Post by Jeronimus Linuxius » Tue Dec 25, 2007 6:54 am

Esqueci-me de dizer que, se estiveres interessado em alguma coisa especial, é só perguntares. Tenho alguma experiência em vasculhar pelas sources do ROS e posso-te fornecer uns apontadores se estiveres perdido...

JJ

gnome_gtk
Posts: 35
Joined: Sun Dec 09, 2007 10:08 pm

Post by gnome_gtk » Tue Dec 25, 2007 7:46 pm

Estava tentando entender o boot em si mas só achei o inicio bem inicio.
Nem a mudança para o modo protegido eu achei.

Jeronimus Linuxius
Posts: 43
Joined: Mon Jun 18, 2007 11:14 pm

Post by Jeronimus Linuxius » Wed Dec 26, 2007 6:18 am

gnome_gtk wrote:Estava tentando entender o boot em si mas só achei o inicio bem inicio.
Nem a mudança para o modo protegido eu achei.
A mudança para Protected Mode é no FreeLoader. O ficheiro é o /reactos/boot/freeldr/freeldr/arch/i386/arch.S. Tem lá umas funçõezinhas que fazem o trabalho sujo e chamam o C...

Há mais uma quantidade de transições para Real Mode e voltas a Protected Mode por causa dos wrappers de chamada da BIOS...

O ReactOS não é coisa que se apanhe facilmente lendo do princípio ao fim como se fosse um livro... Requer alguns conhecimentos profundos da arquitectura do windows para se perceber bem a Big Picture...

JJ

gnome_gtk
Posts: 35
Joined: Sun Dec 09, 2007 10:08 pm

Post by gnome_gtk » Wed Dec 26, 2007 1:13 pm

Ficar transacionando entre modo real e protegido não é perigoso?

Jeronimus Linuxius
Posts: 43
Joined: Mon Jun 18, 2007 11:14 pm

Post by Jeronimus Linuxius » Wed Dec 26, 2007 6:10 pm

gnome_gtk wrote:Ficar transacionando entre modo real e protegido não é perigoso?
Não. O computador não explode por isso...........

JJ

gnome_gtk
Posts: 35
Joined: Sun Dec 09, 2007 10:08 pm

Post by gnome_gtk » Wed Dec 26, 2007 6:34 pm

Explodir eu não diria mas processos de usuário rodando em modo real podem resultar em falha de proteção de memória, não?

Jeronimus Linuxius
Posts: 43
Joined: Mon Jun 18, 2007 11:14 pm

Post by Jeronimus Linuxius » Wed Dec 26, 2007 9:22 pm

gnome_gtk wrote:Explodir eu não diria mas processos de usuário rodando em modo real podem resultar em falha de proteção de memória, não?
Que confusão vai prai! O computador arranca em Modo Real. A partir dai, a BIOS inicializa o chip set, faz testes ao sistema e passa o controlo ao loader. O loader, por sua vez, carrega o kernel e executa-o. Só há uma linha de execução (a da BIOS, primeiro, e depois a do próprio loader) até o kernel do sistema operativo configurar o multi-tasking e este entrar em acção.

O ntoskrnl.exe, em si, não faz switches entre modo real e modo protegido para chamar funções da BIOS. Só o FreeLDR o faz. Um kernel de 32 bits geralmente não recorre á BIOS: tem os seus próprios drivers. Quando nesessita *mesmo* de recorrer à BIOS (por exemplo, para tirar partido do ACPI ou do VESA BIOS), usa o Modo 8086 Virtual, que simula o ambiente de execução do Real Mode.

Mesmo que o kernel mudasse para Modo Real para executar rotinas da BIOS, não havia nenhum problema fatal com isso. O único inconveniente é que as rotinas da BIOS penduram enquanto estão à espera do hardware e demoram muito tempo (para além de não estarem integradas na restante arquitectura do kernel e do SO em geral), o qual não seria aproveitado pelos programas que não estão à espera de I/O.

Espero ter ajudado a compreender,
JJ

Post Reply

Who is online

Users browsing this forum: No registered users and 6 guests