[FUGSPBR] OpenBSD/NetBSD/DragonFly

João Carlos Mendes Luís jonny em jonny.eng.br
Sex Out 22 10:43:57 BRT 2004


Patrick Tracanelli wrote:
> Marcelo, o suporte SMP e suporte à threads são coisas muitissimo 
> relacionadas, o suporte SMP no FreeBSD 5 esta bem legal, inclusive com 
> coisas bem avancadas, se comparado a algumas coisas na implementacao do 
> Linux, por exemplo em um dos FISL passados (se nao me engano 2001) teve 
> uma palestra do Riek Van Riel sobre SMP do Linux e novos passos/direcoes 
> futuras, onde ele citava que era complicadissimo o suporte SMP nas 
> atividades do kernel, enquanto era bem facil nas aplicacoes em nivel de 
> usuario; hoje o FreeBSD implementa a maioria disso em kernel. Tem 
> complicacoes, por exemplo nao poder usar DEVICE_POLLING :/

     Está rolando uma discussão sobre isso na -hackers, onde se discute 
que isso é teórico, e que tem gente usando DEVICE_POLLING com SMP sem 
problemas.

> Agora a questao de threads, que é o que faz a diferenca em relacao a 
> viabilidade/performance do ambiente SMP no FreeBSD 5, ainda e' um 
> misterio quando comparado com outros sistemas. O FreeBSD implementa 
> threads com o KSE (Kernel Scheduler Entities - 
> http://www.freebsd.org/kse/) que é um misto de threads em nivel de 
> usuario (1 pra 1) e nivel de kernel (1 pra muitos) baseado na proposta 
> de um monte de gente da Univ de Washington, em Seattle, de 1992, chamado 
> Scheduler Activations (http://www.asdf.dk/sjov/freebsd_kse.pdf -- mais 
> links em http://www.freebsdbrasil.com.br/noticia.php?id=18). Na verdade 
> é uma proposta que na tese defendida consegue ser tao rapida quando 
> threads de nivel de usuario e tao flexiveis/poderosas quanto threads de 
> nivel de kernel, ou seja a uniao do que é bom nas duas. Na pratica so o 
> FreeBSD 5 implemeta isso, e portanto ate hoje e um misterio, as 
> referencias principais de literatura ou falam pouco sobre essa 
> abordagem, ou nao falam, por exemplo a ultima revisao do Arqu. de 
> Sistemas Operacionais do Tanenbaum fala muito sobre threads de userland 
> e de kernel, e fala 1 unica pagina sobre Scheduler Activations.

     Opa!!!  Pode ser que o erro esteja somente na sua descrição, ou no 
meu entendimento da mesma, mas essa historia de misturar kernel threads 
e userland threads já existe desde o Solaris 2.5, pelo menos, onde eram 
chamados de lwp (Lightweight Processes).  Acredito que isso venha desde 
o SunOS 4.

     Outra coisa que o Solaris 2.5 já tinha e que o FreeBSD está apenas 
engatinhando é o conceito de escalonadores de processos cambiáveis.

     O kernel do Solaris sempre foi muito bom.  O que matava eram os 
programas de userland dele.  Pena que a versão para i386 nunca foi 
levada a sério pela Sun e pelos usuários.

_______________________________________________________________
Para enviar um novo email para a lista: fugspbr em fugspbr.org
Sair da Lista: http://lists.fugspbr.org/listinfo.cgi
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/



Mais detalhes sobre a lista de discussão freebsd