Upload
others
View
12
Download
0
Embed Size (px)
Citation preview
Introdução aos Sistemas [email protected]
Introdução aos Sistemas Abertos
Carlos Gustavo A. da Rocha
Introdução aos Sistemas [email protected]
Introdução
● Afinal, o que é um sistema aberto?● E pra complicar… o que significa
● Freeware?● Shareware?● Free software?● ...
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
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
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õese 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 [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 [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 [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 [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 [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 [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 [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 minix1.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 allnighters to get a nifty program working? Then this post might be just for you :)
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 minixlookalike for AT386 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/gnumake/gnused/compress etc under it....
http://groups.google.com/group/comp.os.minix/msg/2194d253268b0a1b
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
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
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
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● ...
Introdução aos Sistemas [email protected]
Componentes
Componentes de um sistema GNU/Linux
Hardware
SO Linux
Shell Servidores X.Org
Gnome
Firefox
ls
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
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 XWindow que foi
desenvolvido no MIT, sendo a primeira versão de 1984
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● Comunicase com o kernel para trabalhar com os
dispositivos – Placa de vídeo– Placa de som– Teclado– Mouse, ...
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 ...
Introdução aos Sistemas [email protected]
Ambientes GráficosGnome
Introdução aos Sistemas [email protected]
Ambientes GráficosKDE
Introdução aos Sistemas [email protected]
Ambientes GráficosXfce
Introdução aos Sistemas [email protected]
Ambientes GráficosEnlightenment
Introdução aos Sistemas [email protected]
Ambientes GráficosWindow Maker
Introdução aos Sistemas [email protected]
Ambientes GráficosBlack Box
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...
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”
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.
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
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