Re: Atualizando kernel sem reiniciar.
Olah!
Na atual implementacao do padrao PC (BIOS e tal) naum eh possivel substituir
um kernel que jah esteja rodando. Mesmo um microkernel. No ultimo caso, ele
continua rodando e apenas seus servicos saum substituidos.
Num sistema como o Linux ou o Windows (com kernel monolitico) os servicos saum
parte do kernel, e, quando alterados, precisam de re-carga do kernel (exceto
os modulos, no caso do Linux, mas esta eh uma outra historia). Se o sistema
fosse o Hurd, por exemplo, o microkernel continuaria executando, enquanto os
servicos seriam alterados on-the-fly. Perceba que o kernel em si continua
necessitando de reboot. Isso eh uma falha de arquitetura de hardware, naum de
software. Na realidade naum bem uma falha, mas na epoca em que foi concebido,
o PC funcionava satisfatoriamente assim.
Nesse ponto, Windows e Linux saum muito parecidos. O Windows tem um problema
grave no entanto: qualquer programa acaba por modificar componentes do kernel
e, neste ponto, o sistema precisa de reboot. Nem todos os reboots que as
pessoas precisam no Windows saum devidos a isso, outras necessidades saum as
atualizacoes de registro (naum todas, mas a maioria das importantes), ou
recarga de modulos com parametros diferentes.
O Linux naum sofre deste mal pq a maioria dos programas naum precisa de
alteracoes no kernel ou seus componentes. E, mesmo os que precisam, podem
faze-lo atraves da infra-estrutura de modulos, que evita muitos reboots. No
entanto, a execucao de um novo kernel exige reboot.
Quanto a execucao de linux dentro do linux, existem, basicamente, duas
maneiras de fazer isso:
(1) emulacao de computador: um software emula um computador completo, e,
dentro deste software, um novo kernel pode ser executado, iniciando pelo LILO
e tal. Eh o caso do VMWare, bochs e plex86
(2) kernel modo usuario: um kernel que foi alterado especialmente e compilado
para ser executado no user-land (ao inves de no kernel-land). Ele torna-se
apenas mais um processo, como qualquer programa dentro do sistema. Veja bem,
que naum tem LILO envolvido, jah que o kernel eh executado em modo-usuario,
naum precisa de loader (o loader eh o proprio sistema operacional primario).
Eh o caso do user-mode-linux
Espero ter esclarecido, []s
Pablo
Em Seg 14 Abr 2003 20:55, Guilherme Mesquita Gondim escreveu:
| Opa!
|
| Tem como atualizar o kernel (depois de uma recompilação...) sem precisar
| reiniciar o pc?
|
| Até,
| semente
|
| .''`. Guilherme Mesquita Gondim - semente
|
| : :' : semente@netfor.com.br UIN(ICQ#) 22721986
|
| `. `'` GNU/Linux User #307581, Debian User Brasil #625
| `- "Software livre e anarquia!"
--
Pablo Lorenzzoni (Spectra) <spectra@debian.org>
GnuPG Key ID 268A084D at search.keyserver.net
Webpage: http://people.debian.org/~spectra/
Reply to: