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

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: