Autor: naranjiTo
Data: 14/10/200.
O 20 de Novembro está previsto que saia a primeira versão estável do que agora mesmo é o "current" de FreeBSD. Algumas das melhoras mais soadas da versão 5.0 são avanços na velocidade e escalabilidad, com um novo sistema para procesadores múltiples, SMPng (http://www.freebsd.org/smp/) e melhoras para aplicações multithread com KSE (http://people.freebsd.org/julian/"). Ademais se pretende aumentar a segurança e a fiabilidade do SO, com progressos em separação de privilégios e infra-estruturas de QoS. Estas e muitas outras novidades, suscitam perguntas sobre a nova versão. Para ajudar-nos a resolver algumas destas dúvidas procurámos a ajuda de um developer espanhol de FreeBSD, Jesús Rodríguez. Fizemos-lhe chegar as perguntas que nos mandastes, e aqui estão suas respostas:
1. O DP2 segue sem aparecer; suguiere isto que veremos um atraso considerável no release final, ou ainda se espera que veja a luz em Novembro?
A DP2 de FreeBSD 5.0 está previsto que apareça para o fim de semana do 19 e 20 de Outubro. Pelo momento, está-se mantendo a agenda e trabalhando para que FreeBSD 5.0-RELEASE esteja disponível o 20 de novembro Aliás, o próximo 16 de outubro se estabelece um "feature freeze" que permita dedicar os esforços dos desarrolladores a estabilizar o sistema e evitar que ao adicionar novas funções se produzam problemas com as já existentes. O objetivo principal, após ter retrasado 1 ano a data de saída é dispor de FreeBSD 5.0-RELEASE o 20 de novembro e é aí onde se estão centrando agora todos os esforços. Comentar também que não aparecerá nenhuma nova release da versão 4 (exceptuando 4.7-RELEASE publicada recentemente) até que não apareça 5.0-RELEASE.
2. No canal de FreeBSD de openprojects (recentemente renombrado freenode) fala-se muito de UFS2. Em que consiste UFS2 e que melhoras/avanços trará?
UFS2 é o que se espera será o novo sistema de arquivos de FreeBSD em FreeBSD 5, ainda que não está claro todavia que o seja na versão 5.0-RELEASE. UFS2 suporta blocos de 64 bits (expandindo o tamanho dos inodos a 256 bytes), adiciona um campo novo que indica a data de criação dos arquivos e suporta toda uma nova série de atributos relacionados com access-lists e MACs (Mandatory Access Controls).
Toda a nova funcionalidade de atributos se baseia num projeto chamado TrustedBSD que esta sendo financiado por entidades como DARPA, NAI Labs, Yahoo!, etc, que pretende dotar a FreeBSD de novos sistemas de segurança que permita dispor de coisas como as mencionadas listas de controle de acesso para arquivos e diretórios, atributos estendidos que permitem ao kernel e aos processos de usuário "marcar" os arquivos com parâmetros arbitrários. TrustedBSD também permite um controle muito mas estreito dos processos permitindo a processos que não sejam propriedade do root aceder a recursos privilegiados do sistema (algo asi como um "suo" integrado no sistema) e algo tão interessante como poder controlar o acesso a elementos como processos ou sockets e objetos (sockets, objetos do sistema de arquivos, nodos sysctl, etc).
3. Se espera integrar "suporte" para algum sistema de ficheros journal (tipo ReiserFS)?
Não que eu saiba. FreeBSD incorpora um elemento chamado SoftUpdates que é o que mais se acerca a um sistema de arquivos Journal. SoftUpdates permite incrementar enormemente o rendimento dos sistemas de arquivos mudando praticamente todas as atualizações sincronas e asincronas de metadata por escrituras "retrasadas" (delayed writes). Isto permite reduzir enormemente o número de acessos a disco necessários, especialmente em sistemas que usam grande quantidade de arquivos de tamanho reduzido. Ademais, é possível realizar fsck's em background quando ao arrancar, o sistema de arquivos não é correto. A SoftUpdates se lhe pode adicionar Vinum. Vinum é um raid por software que permite criar sistemas de arquivos em raid 0, raid 1 e raid 5.
4. Terá suporte para Serial ATA? Incluirá também suporte para "intercâmbios em quente" (hot swappable).
Atualmente já existe suporte Serial ATA para as controladoras Highpoint 1520 e 1540 e se está trabalhando em ampliar o suporte a outras controladoras. Neste caso, o mais complicado é conseguir hardware de provas para que se possam desenvolver os drivers.
O desenvolvimento de Serial ATA está feito pela mesma pessoa que desenvolveu todo o resto de suporte ATA e ATAPI e o único que precisa é hardware e/ou especificaciones dos fabricantes para ampliar o número de controladoras suportadas.
5. Em que estado se encontram os drivers para Firewire?
O passado 13 de setembro se incoporó em -CURRENT o suporte de Firewire IEEE 1394 e se está trabalhando para integrá-lo com -STABLE em poucos dias. Enquanto se consegue esta integração, se alguém precisa suporte Firewire para -STABLE, podem-se baixar os drivers desde aqui:
http://people.freebsd.org/simokawa/
Até o momento, o driver suporta OHCI, SBP-II (Firewire sobre SCSI), Ethernet sobre Firewire (ainda que esta implementacion não cumpre com nenhuma das RFC pelo momento).
6. A notícia de que Nvidia prepara drivers nativos para FreeBSD parece comfirmar a crescente popularidade de FreeBSD e dos BSD em general. Cries que esta notícia pode criar um novo empuxo para FreeBSD como estação multimídia? Te parece que FreeBSD deveria seguir nesta direção ou concentrar-se mais em aspectos de servo?
Desde logo, o anúncio de Nvidia ajudasse a que gente que tinha cartões Nvidia e não as podia aproveitar ao máximo, agora se que possa fazê-lo mas não se até que ponto pode ser realmente um empuxo importante. Se além de Nvidia há mais fabricantes que decidem portar o suporte seus produtos a outros sistemas que não sejam Windows, então se que será um empuxo real para esses sistemas... seria necessário que os fabricantes vissem que há um mundo mais lá de Windows.
Neste apartado se estão produzindo alguns avanços importantes como por exemplo, o suporte direto por parte de Intel para o driver fxp e para os cartões Gigabit Ethernet, as aportações que está fazendo Apple provenientes de Mac VOS X, há desarrolladores de Juniper que integram algumas das funcionalidades que desenvolvem para JunOS, AMI, Mylex e 3Ware também têm desarrolladores próprios que suportam os drivers para seus controladoras... crio que este é o caminho a seguir pelos sistemas operativos não windows para avançar.
Respecto a estação de trabalho/server, é algo que se comentou muitas vezes dentro da equipe de desenvolvimento de FreeBSD e normalmente a gente, em general, está mais por desenvolver características a nível servo que a nível de estação de trabalho. De todas maneiras, FreeBSD avançou muito nos dois últimos anos para ser uma boa estacion de trabalho com suporte de características multimídia.
7.Se pretende ampliar o leque de arquiteturas suportadas por FreeBSD ou vai dar prioridade a i386 como até agora? Em que estado se encontra o port a s/390?
Durante o último mês se produziram avanços neste tema tentando aclarar o futuro de FreeBSD e para onde vai dirigir. Atualmente, os sistemas suportados oficialmente (chamados TIER1) são I386 e Alpha. Está muito avançado o suporte para Sparc 64 (aliás, só falta suportar ao 100% todo o conjunto de ferramentas de compilacion incluindo GBD e poder fazer uma instalação completa usando sysinstall).
No mesmo estado que o port de Sparc se encontra o port a IA64. Todos os desenvolvimentos se estão fazendo de cara a suportar diretamente arquiteturas de 64 bits sem problemas.
Também se estan fazendo algumas coisas para portar FreeBSD a PowerPC mas está mais retrasado e o trabalho vai muito mais lento.
A semana passada, um desarrollador comento a possibilidade de portar FreeBSD a MIPS para usar, especialmente, com "embeded systems"... e aí apareceu o chefe dos desarrolladores de Juniper oferecendo a versão de FreeBSD para MIPS que já tem Juniper funcionando em suas routers. O estado atual é que se esta considerando muito seriamente a possibilidade de ter FreeBSD sobre MIPS.
Respecto ao port a s/390, sento-o, não tenho nem idéia.
8. Estará pronta a implementação x86-64 de FreeBSD para quando saiam estes procesadores AMD? Existe algum projeto para portar FreeBSD à arquitetura de 64-bits dos Intel Itanium?
Como comentava na pergunta anterior, SIM vão suportar as arquiteturas de 64 bits.
9. Por que ainda se segue usando sendmail e não passaram a postfix como fez NetBSD? Por que não existe a possibilidade de não instalar sendmail ou bind?
Pessoalmente, crio que Sendmail segue sendo o MTA por defeito por vários motivos. O primeiro é por tradição, no sentido de que Sendmail sempre tem estado aí, funciona muito bem, está completamente integrado no sistema e Eric Allman está muito implicado em todo o referente ao mundo BSD. No que se se avançou muito é nas facilidades para instalar outro MTA desde os ports ou como pacote. Basta com modificar o arquivo /etc/mail/mailer.conf para poder suportar outros MTA sem mas complicações.
A discussão de substituir sendmail por outro MTA (Postfix geralmente) aparece cada certo tempo e é um dos temas recurrentes nas listas de desarrolladores... ainda que pelo momento a intenção é seguir mantendo Sendmail facilitando ao máximo a transição a outro programa se um usuário assim o deseja.
Respecto à possibilidade de não instalar sendmail ou bind, para entendê-lo é necessário ter muito clara a filosofia de FreeBSD. FreeBSD é um sistema operativo completo e não um kernel ao que se lhe adicionam uma série de "acessórios" ou elementos ao redor como é o caso de Linux. A filosofia de FreeBSD é oferecer tanto o kernel como librerias e as aplicações de usuário (userland) como um só elemento. Por isso quando algo se integra no sistema, fica integrado por completo.
O que se é possível fazer quando se atualiza um FreeBSD mediante "make world" é passar-lhe parametros para que não faça algumas coisas, como pode ser, não compilar nem instalar sendmail, bind, perl, ssh, ssl, uucp, etc com algo tão singelo como usar os parâmetros "NÃO_SENDMAIL, NÃO_BIND, NÃO_PERL, etc" ao fazer o mencionado "make world".
10. Existe alguma iniciativa para portar PF a FreeBSD?
Não que eu saiba. Pelo momento se suporta oficialmente IPFW, IPFW2 e IPFILTER. Este último o suporta Darren Reed diretamente.
11. Segundo parece para a 5.0 estará pronto o uso de nsswitch e as livrarias nss. Ao que parece, o trabalho se centra em portar as livrarias de NetBSD, as quais não suportam ldap. Está pensado que vá suportar em NSS o uso de LDAP ou outros meios como SQL, em versões relativamente próximas?
Parece que com a implementação atual baseada em NetBSD como comentavas, há alguns problemas para usar fontes externas como LDAP ou SQL. Há algumas pessoas que conseguiram ter funcionando LDAP mas com rendimentos muito pobres. Crio que se esta trabalhando em alguma espécie de proxy para o nsdispatcher e ter que usar uma só conexão às fontes já que agora precisas uma fonte por cada metodo.
12. Se pretende mudar de alguma maneira o sistema de pacotes? Quiçá mudá-lo a openpackages.
Pelo momento não. Quiçá num futuro quando Openpackages esteja mais avançado e seja realmente funcional sim, mas por agora não.
13. Incluirá a versão 5 os novos scripts de início baseados nos de NetBSD?
Si. Aliás, já estão incluídos. Podem-se ativar com a opção rc_ng="YES" no rc.conf .
14. Terá alguma mudança no logo/arte que usa FreeBSD, ao estilo de OpenBSD?
Não que eu saiba.
15. Cuales em tua opinião são os avanços mais importantes desta versão e cuales são suas maiores vantagens frente a a versão 2.6 de Linux?
Sinceramente, não conheço muito do que sera Linux 2.6 mas se se
que FreeBSD 5 será mais do que um passo adiante. Por suposto, a versão
5.0-RELEASE não deveria usar-se em sistemas em produccion já que terão
ainda muitas coisas que polir, mas se se poderá começar a desfrutar de muitas
novas características.
As novas características de FreeBSD 5 que mencionaria são:
* devfs : permite ter um /dev dinamico com criação automática de dispositvos.
* JAIL: melhorou-se muito o suporte para Jail (ainda que já é muito bom em FreeBSD
4) e permite, por exemplo, que cada Jail funcione com seu próprio
securelevel de maneira independente.
* SMPng: reescritura quase total do suporte multiprocesador incorporando
parte de código e características provenientes de BSD/VOS.
* UFS2/MAC/ACLs: novo sistema de arquivos de 64 bits que incorpora MACs e ACLs.
* KSE: implementação de threads de kernel nativos.
* VLANs: suporte de multicast em VLANs e reescritura de parte do código
de suporte para 802.1q .
* Cardbus: suporte de cartões Cardbus.
* IPv6: ainda que já suportado em FreeBSD-4, se incorporán novas
funcionalidades e características. Agora também se suporta
NFS sobre IPv6.
Ésto é só um muito pequeno exemplo de novas caracteristicas que incorporará
a nova versão de FreeBSD.
Muito obrigado a Jesús por tomar-se o tempo de contestar nossas dúvidas :)
Sobre Jesús Rodríguez: Jesús Rodríguez trabalha como engenheiro de rede, além de ser responsável de sistemas e segurança. É developer de FreeBSD desde 1998. Nestes momentos seu trabalho se centra principalmente no Projeto de Documentação, implicado em temas de documentação e desenvolvimento da infra-estrutura de criação de documentação e web com DocBook e XML. Também forma parte da equipe de webmasters dos principais servos de FreeBSD e de vez em quando contribui parches de código ou ports. Escreveu vários artigos relacionados com FreeBSD e dió uma ponencia sobre o SO no Hispalinux do 2000. Sua página web se encontra na direção: http://www.jerocu.net/