Introdução aos Sistemas Abertos

Propaganda
Introdução aos Sistemas Abertos
Carlos Gustavo A. da Rocha
Introdução aos Sistemas Abertos
[email protected]
Introdução
●
Afinal, o que é um sistema aberto?
●
E pra complicar… o que significa
●
Freeware?
●
Shareware?
●
Free software?
●
...
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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.
Introdução aos Sistemas Abertos
[email protected]
Introdução
●
Free Software
●
Diversas licenças atendem essas garantias
–
GNU GPL (a mais conhecida)
–
GNU LGPL
–
BSD
–
MPL
–
Apache License
–
...
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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 :­) Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[email protected]
Introdução
●
Linux x GNU/Linux
●
O Linux é apenas o kernel do SO
–
●
●
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
–
www.kernel.org
Comumente chamado distribuição GNU/Linux
Introdução aos Sistemas Abertos
[email protected]
Introdução
●
Algumas distribuições Linux
Introdução aos Sistemas Abertos
[email protected]
Características
●
Algumas características do SO GNU/Linux
●
Padrão POSIX
–
●
Multiusuário
●
Multitarefa
●
Proteção de software/hardware
–
●
Característica diretamente ligada a estabilidade
Modularizado
–
Compatível com outros sistemas UNIX Like
Inclusive no kernel
Introdução aos Sistemas Abertos
[email protected]
Características
●
Algumas características do SO GNU/Linux
●
Suporte a múltiplas arquiteturas e hardwares
–
●
Diversos servidores de aplicações
–
●
Postgres, java, Maya, etc
Roteador
–
Para LANS e Internet
Diversas aplicações enterprise
–
●
Embedded até enterprise
Roteamento estático até Internet core Introdução aos Sistemas Abertos
[email protected]
Características
●
Algumas características do SO GNU/Linux
●
Firewall
–
●
Diversas ferramentas para compatibilidade
–
Statefull Inspection
Suporte a vários tipos de partições, wine, etc
●
Amplamente documentado
●
...
Introdução aos Sistemas Abertos
[email protected]
Componentes
Componentes de um sistema GNU/Linux
Firefox
ls
Shell
Gnome
Servidores
SO Linux
Hardware
Introdução aos Sistemas Abertos
[email protected]
X.Org
Componentes
●
Interpretador de comandos (Shell)
●
Traduz / executa comandos digitados no teclado
–
●
●
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
–
Também pode executar os comandos contidos em um arquivo (script)
Bash (mais usado, padrão), csh, tcsh, ash, ksh, etc
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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, ...
Introdução aos Sistemas Abertos
[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
Gnome
Kde
Xfce
X.Org
Introdução aos Sistemas Abertos
[email protected]
...
Ambientes Gráficos
Gnome
Introdução aos Sistemas Abertos
[email protected]
Ambientes Gráficos
KDE
Introdução aos Sistemas Abertos
[email protected]
Ambientes Gráficos
Xfce
Introdução aos Sistemas Abertos
[email protected]
Ambientes Gráficos
Enlightenment
Introdução aos Sistemas Abertos
[email protected]
Ambientes Gráficos
Window Maker
Introdução aos Sistemas Abertos
[email protected]
Ambientes Gráficos
Black Box
Introdução aos Sistemas Abertos
[email protected]
Sistemas de arquivo
●
Forma de se guardar os dados no disco
●
O sistema de arquivos padrão do Linux é chamado de “EXT”
–
●
Além do EXT o Linux suporta
–
Atualmente estão em uso as versões 3 e 4 do mesmo
FAT12, FAT16, FAT32, NTFS, NetBSD, OpenBSD, FreeBSD, Solaris, etc, etc, etc...
Introdução aos Sistemas Abertos
[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”
Introdução aos Sistemas Abertos
[email protected]
Sistemas de arquivo
●
Arquivos e diretórios
●
Arquivos ocultos
–
●
Arquivos especiais
–
São aqueles cujo nome inicia em “.”
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.
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[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
Introdução aos Sistemas Abertos
[email protected]
Download