FreeBSD para leigos

653 visualizações

Publicada em

Trabalho apresentado na Universidade Tiradentes para passar uma introdução sobre sistemas operacionais baseados no FreeBSD, passando sobre seu histórico, seu objetivo e seu funcionamento interno.

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
653
No SlideShare
0
A partir de incorporações
0
Número de incorporações
3
Ações
Compartilhamentos
0
Downloads
15
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide
  • Saudação, explicação do slogan

    Apesar de sua grande utilização ser na área dos servidores, o freeBSD visto como um sistema operacional é muito mais completo e estável que outras opções disponíveis no mercado, realmente, talvez o usuário que vá utilizá-lo precise de um conhecimento a mais, ou talvez uma “vontade maior”, porém uma vez depois que foi feito isso, o usuário pode desfrutar de um SO estável, seguro e extremamente rápido.

    A nível de servidores, a notícia mais recente que tenho é a whatsapp que utiliza o freebsd em sua arquitetura para entrega de mensagens
  • No roteira da apresentação, inicialmente vamos falar um pouco da história do FreeBSD, porque utilizá-lo como SO
    Logo após, falar da implementação básica de algumas partes do SO, tais como, Kernel, Processos, Gerenciamento de Memória e Sistemas de Arquivos
    Depois falar um pouco do gerenciamento de pacotes, alguns derivados do FreeBSD e mostrar uma demo do funcionamento do SO e sua instalação básica
  • No histórico do BSD temos sua criação em 1993, o mesmo foi desenvolvido na universidade de Berkeley. Inicialmente era chamado de 386BSD só que estava com seu desenvolvimento parado porque tinha apenas um mantenedor, foi quando três caras pegaram o projeto e colocaram o SO para andar, sobre a licença do SO, o mesmo é baseado na BSD que permite a alteração e a utilização comercial do software sem restrições, porém garante que nenhuma parte poderá ser responsabilizada.
    Atualmente a sua comunicadade está organizada em contribuidores e commiters, onde os contribuidores, participam dos testes, e da documentação do projeto e apenas os commiters tem a possibilidade de fazer alterações e no geral eles quem decidem o rumo do projeto
    Sobre as versões, geralmente são lançadas 3 versões anuais ditas estáveis, temos a linha de desenvolvimento, chamada de CURRENT, de tempos em tempos eles lançam uma release e após um tempo de lançamento de uma release, com a correções de possíveis bugs que possam aparecer eles vão chegando a uma versão estável do produto.
  • - De fato, inicialmente como sistema operacional o mesmo é superior ao windows em quesitos de segurança e estabilidade do sistema operacional, o que também é o foco dele.
    - Em relação ao linux, o mesmo descende da mesma raiz e é unix-like porém muitas vezes apresenta um melhor desempenho em condições similares de hardware, óbvio que quando o mesmo é compatível.
  • - No geral, utilizam kernel monolítico, porém alguns de seus descendentes como o Mac* e o DragonFly-BSD utilizam kernel híbrido
    - Kernel modular e customizável, devido ao primeiro motivo, podemos adicionar e remover módulos do kernel e com isso ganhar performance e/ou automatizar o carregamento de módulos no boot do sistema
    - Visto como problemático por alguns autores devido a existência de um único ponto de falha o que pode derrubar o sistema como um todo(assim como alguns concorrentes, Linux, Windows, Solaris)
    - Níveis de segurança customizáveis, o freebsd por padrão vem com o nível de segurança -1 o que pode ser mudado para 3(mais seguro), em algumas distribuições filhas vem com 3 com o intuito de ser mais seguro por padrão
    -1 = sem segurança
    0 = utilizando no primeiro boot
    1 = sem carregamento de módulos à quente, só recompilando o mesmo. Nenhum programa escreve diretamente na memória, discos que não foram montados não podem ser escritos diretamente nem é possível formatação ou cópia com dd. Gerenciadores do X não podem ser carregados, devido a não ter a possibilidade de escrever diretamente na memória
    2 = todas do nível 1 com a impossibilidade de escrever em discos montados ou não, e a hora só pode ser alterada de 1 em 1 segundo
    3 = todas do nível 2 com a impossível modificar regras de firewall
    - Rodando o FreeBSD podemos rodar binários do linux e do unix
  • - Assim como demais sistemas operacionais concorrentes, o FreeBSD é multitarefa
    - Em sua implementação cada tarefa/thread é representada por um processo, o mesmo vai possuir um PID como nos demais sistemas operacionais
    - A comunuicação entre os processos é realizada via sockets quando a mesma precisa enviar mais de um byte
    - Assim como outros sistemas operacionais, os processos vão possuir um parâmetro com a sua prioridade.
    - No contexto dos processos temos o conceito de grupo e sessões, onde grupos seriam um relacionamento de processos interdepentes e sequencias, podemos citar um exemplo a execução de um comando que passa a sua saída como entrada para um outro, os dois programas estariam no mesmo grupo e sendo esses comandos executados em um terminal ou emulador de terminal, o grupo estaria associado a esse terminal. A utilização de grupos e terminais seria para isolamento de ações no ambiente.
  • - Derivado da versão inicial do UNIX, os sistemas BSD utilizavam o UFS, porém devido as suas limitações no tamanho de espaço de endereçamento(o projeto inicial era ideal para pequenos discos), foram realizadas mudanças e o mesmo passou a ser chamado de FFS, com a criação de grupos e blocos de discos e dessa maneira, cada um desses já tinha sua própria tabela de alocação permitindo dessa forma gerenciar um maior espaço
    - Já sua evolução, o mesmo já suporta um maior tamanhos de discos(até 8 zetabytes), também foi incluído pelo pessoal do FreeBSD a capacidade de tirar snapshots, tanto para UFS/FFS quanto para o UFS2
  • FreeBSD para leigos

    1. 1. FreeBSD “... advanced computer operating system used to power modern servers...”
    2. 2. Roteiro ❏ História do FreeBSD e porque utilizá-lo como S.O ❏ Design e Implementação ❏ Kernel ❏ Processos ❏ Gerenciamento de Memória ❏ Sistema de Arquivos ❏ Gerenciamento de pacotes ❏ Derivados ❏ Demonstração
    3. 3. Histórico ❏ Descendente do UNIX em 1993 ❏ Desenvolvido inicialmente pela Universidade de Berkeley ❏ Licença BSD ❏ Desenvolvido e mantido por uma equipe pequena ❏ Versões do sistema: ❏ CURRENT(desenvolvimento) ❏ RELEASE(versão fechada de tempos em tempos) ❏ STABLE(versão fechada com correções de bugs)
    4. 4. Porque usar... ❏ Melhor que windows(como sistema operacional)! ❏ Descende do mesmo ancestral que o linux, porém, muitas vezes possui um desempenho melhor ❏ Bastante estável uma vez que sua implementação não busca suportar todos os dispositivos possíveis(como o linux) ❏ Mantido completamente pelos commiters ❏ http://www.ocf.berkeley.edu/~reinholz/freebsd/3reasons .html
    5. 5. Design e Imple. - Kernel ❏ No geral, utilizam kernel monolítico(*BSD) ❏ *Visto como problemático por alguns autores ❏ Kernel modular e customizável ❏ Níveis de segurança customizáveis(-1 a 3) ❏ -1 = segurança a padrão unix ❏ 0 = modo seguro utilizado no 1º boot ❏ 1 = sem carregamento a quente, sem escrita direta ❏ 2 = sem escrita ❏ 3 = impossível de modificar regras de firewall
    6. 6. Design e Imple. - Kernel TABELAS
    7. 7. Design e Impl. - Processos ❏ Ambiente multitarefa ❏ Cada tarefa/thread é representado por um processo ❏ PID ❏ Sockets ou arquivos para comunicação > single byte ❏ Segue o parâmetro de prioridade para execução ❏ Conceito de “Process Group” e “Sessions”
    8. 8. Design e Impl. - Memória ❏ Cada processo possui seu espaço de memória ❏ Espaço dividido em texto, dados e pilha ❏ Texto - instruções de máquina do programa ❏ Dados - variáveis inicializadas e não inicializadas ❏ Um processo pode expandir ou reduzir sua área de dados
    9. 9. Design e Impl. - Memória ❏ No início não existia memória compartilhada ❏ Criação do esquema de memória virtual que poderia ser compartilhada resolvendo o problema do compartilhamento de arquivos grandes entre processos
    10. 10. Design e Impl. - Sist. Arq. ❏ UFS - Unix File System ou FFS ❏ Evolução das implementações iniciais do UNIX ❏ UFS2 - Unix File System 2 ❏ Versão melhorada do UFS, novos atributos, tamanho extendido, snapshots ❏ ZFS - “Z” File System ❏ Incluso a partir da versão 9, foco na garantia da escrita, criação de pools com várias partições, facilidade para arranjos RAID
    11. 11. Gerenciamento de pacotes ❏ Sistema de ports ❏ pkgng (similar ao apt-get do debian) para instalação de binários
    12. 12. Derivados ❏ Mac OS X - Sistema operacional proprietário utilizado no Mac* ❏ NetBSD - Livre, compacto e portável ❏ OpenBSD - Segurança em primeiro lugar ❏ PC-BSD - FreeBSD criado com foco para usuários finais ❏ DragonFlyBSD ❏ Outros *BSD
    13. 13. Referências ❏ http://www.freebsd.org/doc/en/books/design- 44bsd/overview.html ❏ http://www.fug.com.br/ ❏ http://pt.wikipedia.org/wiki/FreeBSD ❏ http://pt.slideshare.net/flisolmaringa/apresentando-o-freebsd? qid=4de302d3-b3d5-4e75-9af3- f2f2de541147&v=qf1&b=&from_search=4 ❏ http://www.ocf.berkeley.edu/~reinholz/freebsd/3reasons .html
    14. 14. Referências ❏ http://www.fug.com.br/content/view/99/77/ ❏ http://pt.wikipedia.org/wiki/UFS_(Unix) ❏ http://www.bsdnow.tv/tutorials/zfs ❏ https://www.freebsd.org/doc/handbook/filesystems-zfs. html
    15. 15. Demonstração DEMO

    ×