34
 Introdução aos Sistemas Abertos [email protected] Introdução aos Sistemas Abertos Carlos Gustavo A. da Rocha

Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos [email protected] Introdução Freeware Licenciado

  • Upload
    others

  • View
    12

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução aos Sistemas Abertos

Carlos Gustavo A. da Rocha

Page 2: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

● Afinal, o que é um sistema aberto?● E pra complicar… o que significa

● Freeware?● Shareware?● Free software?● ...

Page 3: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

● Freeware● Licenciado por uma empresa ou pessoa● Código fonte é de propriedade exclusiva desta 

empresa ou pessoa (que o escreveu)● Seu executável é distribuído de forma gratuita, 

ocasionalmente mediante algum tipo de registro

Page 4: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

● Shareware● Possui todas as características de um freeware, 

mas possui alguma limitação de recursos ou número de utilizações

● O usuário deve pagar para remover essa limitação

Page 5: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

● Free Software● Qualquer programa de computador que pode ser 

usado, copiado, estudado e redistribuído inclusive com seu código fonte e sem restrições

● Opõe­se ao conceito de software proprietário, mas não ao de software comercial

● Possui uma licença, só que com objetivos distintos daquelas elaboradas para softwares proprietários

Page 6: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução● Free Software

● A licença de um software livre deve garantir irrevogavelmente– A liberdade para executá­lo, com qualquer propósito;– A liberdade de estudar seu funcionamento, e adaptá­lo às 

suas necessidades;– A liberdade de redistribuir cópias de modo a ajudar a 

comunidade;– A liberdade de modificá­lo, e liberar estas modificações, 

de modo que toda a comunidade se beneficie.

Page 7: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução● Free Software

● Diversas licenças atendem essas garantias– GNU GPL (a mais conhecida)– GNU LGPL– BSD– MPL– Apache License– ...

Page 8: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução● Free Software

● É importante destacar que nas quatro garantias fundamentais, e nas licenças delas geradas, não existe nada que proíba a venda de um software livre– Ou de serviços a ele associados como instalação, 

configuração, suporte etc.● O conceito de software “open source” é bastante 

semelhante ao “free software”, admitindo contudo a convivência com o software proprietário

Page 9: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução● Free Software

● Free Software Fundation (FSF) ­ www.fsf.org – Organização sem fins lucrativos, criada em 1985 por 

Richard Stallman– Promove o desenvolvimento e uso do software livre– Um dos seus principais projetos e o desenvolvimento do 

sistema operacional GNU

Page 10: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução● Free Software

● GNU is not UNIX (GNU) – www.gnu.org – Visa o desenvolvimento e manutenção de um sistema 

operacional inteiramente constituído de software livre– Devido a uma série de problemas no desenvolvimento de 

seu kernel (GNU hurd), desde 1992 utiliza frequentemente um outro kernel, conhecido como Linux

Page 11: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

A nossa disciplina irá focar exatamente nestes sistemas, que possuem um kernel Linux e uma série de bibliotecas e aplicativos desenvolvidos, 

em grande parte, como projetos da GNU

Page 12: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

Linux ­ um pouco de história …

Mensagem de Linus Torvalds para comp.os.minix, 05/10/1991

Do you pine for the nice days of minix­1.1, when men were men and wrote their own device drivers? Are you without a nice project and just dying to cut your teeth on a OS you can try to modify for your needs? Are you finding it frustrating when everything works on minix? No more all­nighters to get a nifty program working? Then this post might be just for you :­) 

Page 13: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

Linux ­ um pouco de história …

As I mentioned a month(?) ago, I'm working on a free version of a minix­lookalike for AT­386 computers.  It has finally reached the stage where it's even usable (though may not be depending on what you want), and I am willing to put out the sources for wider distribution.  It is just version 0.02 (+1 (very small) patch already), but I've successfully run bash/gcc/gnu­make/gnu­sed/compress etc under it....

http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b

Page 14: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

● Linux x GNU/Linux● O Linux é apenas o kernel do SO

– www.kernel.org● Todo o restante (bibliotecas, programas), por 

definição, não fazem parte do Linux em si● O Linux, mais um (grande) conjunto de outros 

softwares, formam uma “distribuição” ou sistema funcional– Comumente chamado distribuição GNU/Linux

Page 15: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Introdução

● Algumas distribuições Linux

Page 16: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Características

● Algumas características do SO GNU/Linux● Padrão POSIX

– Compatível com outros sistemas UNIX Like● Multiusuário● Multitarefa● Proteção de software/hardware

– Característica diretamente ligada a estabilidade● Modularizado

– Inclusive no kernel

Page 17: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Características

● Algumas características do SO GNU/Linux● Suporte a múltiplas arquiteturas e hardwares

– Embedded até enterprise● Diversos servidores de aplicações

– Para LANS e Internet● Diversas aplicações enterprise

– Postgres, java, Maya, etc● Roteador

– Roteamento estático até Internet core 

Page 18: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Características

● Algumas características do SO GNU/Linux● Firewall

– Statefull Inspection● Diversas ferramentas para compatibilidade

– Suporte a vários tipos de partições, wine, etc● Amplamente documentado● ...

Page 19: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Componentes

Componentes de um sistema GNU/Linux

Hardware

SO Linux

Shell Servidores X.Org

Gnome

Firefox

ls

Page 20: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Componentes

● Interpretador de comandos (Shell)● Traduz / executa comandos digitados no teclado

– Também pode executar os comandos contidos em um arquivo (script)

● E através do shell que o usuário acessa o sistema em modo texto

● Existem várias opções de shell para o linux– Bash (mais usado, padrão), csh, tcsh, ash, ksh, etc

Page 21: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Componentes

● X.org (ambiente de janelas)

● O Linux não implementa suporte ao ambiente gráfico diretamente no kernel– Todo o ambiente gráfico é implementado por programas 

externos ao SO● X.org é baseado na versão 11 do X­Window que foi 

desenvolvido no MIT, sendo a primeira versão de 1984

Page 22: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Componentes

● X.org (ambiente de janelas)● Implementa uma série de bibliotecas e aplicativos 

básicos para utilização do Linux em modo gráfico● Comunica­se com o kernel para trabalhar com os 

dispositivos – Placa de vídeo– Placa de som– Teclado– Mouse, ...

Page 23: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Componentes

● X.org (ambiente de janelas)● Sobre o X.org executam gnome, kde, xfce …

– Os ambientes gráficos propriamente ditos● Gnome, KDE, ... se beneficiam desta arquitetura

– Facilita a implementação, pois o X.org “resolve” os problemas de mais baixo nível

X.Org

Gnome Kde Xfce ...

Page 24: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Ambientes GráficosGnome

Page 25: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Ambientes GráficosKDE

Page 26: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Ambientes GráficosXfce

Page 27: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Ambientes GráficosEnlightenment

Page 28: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Ambientes GráficosWindow Maker

Page 29: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Ambientes GráficosBlack Box

Page 30: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Sistemas de arquivo

● Forma de se guardar os dados no disco

● O sistema de arquivos padrão do Linux é chamado de “EXT”– Atualmente estão em uso as versões 3 e 4 do mesmo

● Além do EXT o Linux suporta– FAT12, FAT16, FAT32, NTFS, NetBSD, OpenBSD, 

FreeBSD, Solaris, etc, etc, etc...

Page 31: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Sistemas de arquivo

● Arquivos e diretórios● Nomes de arquivos

– Até 255 caracteres– A rigor qualquer carácter é utilizável (não recomendável)

● Extensões– São de uso opcional, o tipo de um arquivo é determinado 

pelo seu conteúdo e não pela sua extensão● Exemplo: Um executável precisa ter apenas a permissão 

de execução, e não uma extensão “.exe”

Page 32: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Sistemas de arquivo

● Arquivos e diretórios● Arquivos ocultos

– São aqueles cujo nome inicia em “.”● Arquivos especiais

– Existem diversos arquivos especiais em um sistema GNU/Linux, sendo seu uso relacionado a acesso a dispositivos, comunicação entre programas, comunicação via rede, etc.

Page 33: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Sistemas de arquivo

● Arquivos e diretórios

● Cada arquivo ou diretório possui permissões de– Leitura, escrita, execução

● Estas permissões podem ser aplicadas ao– Proprietário do arquivo– Grupo do qual o usuário faz parte– Outros (nem proprietário nem grupo)– Todos os usuários do sistema

Page 34: Introdução aos Sistemas Abertosdiatinf.ifrn.edu.br/prof/lib/exe/fetch.php?media=... · Introdução aos Sistemas Abertos carlos.rocha@ifrn.edu.br Introdução Freeware Licenciado

  Introdução aos Sistemas [email protected]

Sistemas de arquivo

● Árvore de diretórios

/|­­ bin|­­ boot|­­ dev|­­ etc|­­ home|­­ lib|­­ lost+found|­­ media|­­ mnt

|­­ opt|­­ proc|­­ root|­­ sbin|­­ selinux|­­ srv|­­ sys|­­ tmp|­­ usr|­­ var