[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