SOA01-IntroduçãoLinux

Propaganda
SISTEMAS OPERACIONAIS
DE ARQUITETURA ABERTA
Prof. Ulisses Cotta Cavalca
<[email protected]>
Belo Horizonte/MG
2015
1
SUMÁRIO
1. Histórico do sistema operacional
2. Licença de softwares
3. Aspectos técnicos do GNU/Linux
4. Comparação com Windows
5. Kernel x ambiente gráfico
6. Memória virtual
7. Sistemas de arquivo
8. Estrutura de diretórios
2
1. História do GNU/Linux
Sistema Operacional UNIX
●
●
●
Desenvolvido por Ken Thompson e Dennis
Ritchie na década de 70.
Proposta de sistema operacional simples,
versátil e moderno
Idéia do time-sharing (compartilhamento de
tempo e tarefas)
●
Portabilidade entre computadores
●
Licença comercial e código fechado.
3
1. História do GNU/Linux
Sistema Operacional Minix (“mini-Unix”)
● Alternativa em relação ao Unix para estudo de
sistemas operacionais.
●
●
Desenvolvido em 1986 por Andrew Tanenbaum
da Universidade de Vrije, Amsterdã.
Ideia de ser pequeno o bastante para que
qualquer pessoa possa entender o seu
funcionamento.
4
1. História do GNU/Linux
O kernel Linux
● Kernel é camada de software mais próximo do
hardware, responsável pelo gerenciamento de
memória, processadores, etc.
●
●
O kernel Linux foi desenvolvido em 1991 por
Linus Tolvards, da Universidade de Helsinque,
Finlândia.
Adota padrão POSIX (Portable Operating
System Interface) do IEEE (Institute of Electrical
ans Electronics Engineers).
5
1. História do GNU/Linux
Distribuições Linux
●
●
●
O kernel por si só não é suficiente para
sistemas operacionais serem funcionais.
Associado a servidores gráficos, aplicativos e
configurações específicas, o kernel Linux tem
características próprias, criando então uma
distribuição.
Atende interesses de grupos, pessoas,
empresas, etc...
6
1. História do GNU/Linux
Distribuições Linux
7
1. História do GNU/Linux
Linha do tempo das principais “distro”
8
2. Licenças de softwares
História do Software Livre
● Inicialmente, mercado de informática limitado a
venda de hardware. Software como acessório.
●
●
●
Problemática se inicia quando software são
vendidos separadamente do hardware.
Software tornaram-se fechados como proteção
à competidores em potenciais
Surge o Movimento do Software Livre para
garantir essas liberdades.
Quais liberdades?
9
2. Licenças de softwares
Liberdades do Software Livre
Software
Livre
●
Executar para qualquer propósito
●
Estudar e adaptar
●
Redistribuir cópias
●
Aperfeiçoá-lo
10
2. Licenças de softwares
Free Software Fundation
●
Criada por Richard Stallman em 1984.
●
Trabalho colaborativo pela comunidade de informática.
Projeto
GNU
“GNU is not
Unix”
●
Editores de textos (EMACS)
●
Compiladores GCC (GNU
Compiler Collection)
●
Shell Bash (Bourme-Again Shell)
●
GNU File Utils (comandos básicos)
●
Kernel Hurd
11
2. Licenças de softwares
GNU não é Unix
Boi Gnu
12
2. Licenças de softwares
GPL – General Public License
● Copyleft: Todos os direitos revertidos
●
GPL é um instrumento legal para implementar
o conceito de copyleft
●
Acesso ao código fonte
●
Copiar e distribuir o código fonte e
executável de um programa
Diretrizes
●
Modificar o código fonte
●
Permissão de cobrança por produtos,
suporte ou distribuição.
13
3. Aspectos GNU/Linux
Qual distribuição utilizar?
●
Voltada para usuários comuns ou experts?
●
Existem muitas fontes de consulta na internet?
●
●
Fontes de consultas estão em português, ou outro
idioma que domine?
É consagrada a pelo menos 5 anos no mundo
GNU Linux?
●
Gratuita ou paga (suporte)?
●
Voltada para servidores, desktop ou ambos?
●
Possui sistema de atualizações on-line?
14
3. Aspectos GNU/Linux
Algumas vantagens
● É livre e desenvolvido voluntariamente por
programadores experientes, hackers, e
contribuidores.
●
Utiliza permissões de acesso a arquivos,
diretórios e programas em execução na
memória RAM.
●
Modularização.
●
Suporte nativo a virtualização
15
3. Aspectos GNU/Linux
Algumas vantagens
● O crescimento e novas versões do sistema
não provocam lentidão.
●
●
●
●
Não é requerido pagamento de licença para
usá-lo.
O LINUX É MENOS VULNERÁVEL A VÍRUS!
Rede TCP/IP mais rápida que no Windows e
tem sua pilha constantemente melhorada.
Roda aplicações Windows através do WINE.
16
3. Aspectos GNU/Linux
Algumas vantagens
● Os sistemas de arquivos usados pelo
GNU/Linux organiza os arquivos de forma
inteligente evitando a fragmentação.
●
●
●
Sistema operacional de código aberto.
Suporte a diversos dispositivos e periféricos no
mercado, por trabalhar com drivers genéricos.
Executado em 16 arquiteturas de hardware
diferentes (Intel, AMD, etc...)
17
4. Comparação com Windows
Principais vantagens
● Fácil montagem de sistema operacional devido
drivers genéricos, enquanto Windows precisa
da sua instalação manual. Detalhe:
condicionada ao fabricante.
●
Obtenção gratuita do software, e de seu
código fonte. Liberdade de uso e
desenvolvimento garantida, perante a
imposição da propriedade intelectual,
patentes, direitos reservados, etc...
18
4. Comparação com Windows
Principais vantagens
● Linux apresenta velocidade da rede ethernet
mais rápida, pois o Windows precisa da
biblioteca WinSock
●
●
Segurança no que se refere a vírus, trojans,
worms, ataques dentre outras ameaças
digitais, seja a nível de servidor ou usuário
comum.
Fácil instalação de programas com os
repositórios apt, aptitude, ou yum.
19
4. Comparação com Windows
Principais desvantagens
● Dificuldade na instalação de alguns drivers
devido a imposição dos fabricantes.
●
●
●
Alguns softwares livre apresentam interface
pouco amigável, em comparação a software
proprietários.
Recursos de áudio e vídeo apresentam maior
performance, embora esses dispositivos
tenham maior atenção nos últimos anos.
Maior dificuldade de aprendizado por usuários
20
iniciantes.
5. Kernel x Ambiente gráfico
Servidor gráfico e gerenciador de ambiente
● Função do servidor gráfico é criar interface
com hardware para posicionamento de
janelas, tamanho, além de “desenhá-las”.
●
Sua funcionalidade é completada com os
gerenciadores de ambiente, que criará a
interface com os usuários, além de trazer
aplicativos e funcionalidades que auxiliam seu
uso.
21
5. Kernel x Ambiente gráfico
Hardware
Esquema entre servidor gráfico, kernel e
gerenciador de ambiente
Criar
comunicação
com os
dispositivos
físicos
Kernel
Mecanismo para
gerenciar janelas
diretamente com
o kernel do SO.
Interface gráfica final
com o usuário, além de
outras finalidades que
auxiliam o uso do Linux.
Servidor
Gráfico
Gerenciador
de ambiente
Servidor X
GNOME
KDE
XFce
No Linux isso tudo é configurável,
diferentemente do Windows que embute
o servidor gráfico no seu kernel.
●
22
5. Kernel x Ambiente gráfico
GNOME
23
5. Kernel x Ambiente gráfico
KDE
24
5. Kernel x Ambiente gráfico
XFce
25
6. Memória virtual
O que é memória virtual?
● O termo memória virtual é normalmente
associado com a habilidade de um sistema
endereçar muito mais memória do que realmente
a fisicamente disponível (Deitel, p. 215).
●
●
Conhecido também como técnica de reserva
parte da memória secundária para ser uma
extensão da RAM
Quando houver necessidade de esvaziar
memória RAM, parte dos dados serão
transferidos para memória secundária (área de 26
SWAP).
6. Memória virtual
O que é memória virtual?
● Armazenamento em dois níveis:
Processador
Processador
Caches
L1 e L2
Armazenamento principal
Armazenamento secundário
Memória principal
Discos
Memória virtual
●
SWAP pode ser criado a partir de um arquivo, o
que não é a melhor opção em função da
velocidade.
27
●
MS Windows utiliza técnica de SWAP em arquivo.
6. Memória virtual
Verificando SWAP
●
Qual tamanho ideal da memória SWAP?
●
Lenda de que SWAP é o dobro da memória RAM
●
Uso da área de SWAP indica falta de memória RAM
●
28
Toda área de SWAP definida será gerenciada pelo SO.
7. Sistemas de arquivos
O que é um sistema de arquivos?
● Forma como os dados são armazenados,
organizados e acessados no disco.
●
●
A formatação de disco consiste, na prática, na
criação de blocos para armazenamento dos
dados.
O sistema de arquivos é uma implementação
imposta pelo sistema operacional, e não pelo
hardware (HD – Hard Disk).
29
7. Sistemas de arquivos
Como funciona um sistema de arquivos?
●
Sistema de arquivos após a formatação
●
Ocupação no disco após gravação do 1º arquivo
30
7. Sistemas de arquivos
Como funciona um sistema de arquivos?
●
Ocupação no disco após gravação do 2º arquivo
●
Ocupação no disco após gravação do 3º arquivo
31
7. Sistemas de arquivos
O dilema da fragmentação de disco
●
Situação típica
●
Novo arquivo com2 blocos de tamanho
Essa é a solução ideal?
32
7. Sistemas de arquivos
Fragmentação de espaço
●
Solução adotada, em geral, pelo GNU/Linux
Com a fragmentação de arquivo, tempo de
acesso aos arquivos aumenta.
●
Como o disco terá que fazer a leitura dos
dados em blocos distantes, isso diminui a vida
útil do cabeçote de leitura do HD.
●
33
7. Sistemas de arquivos
Journal ou journaling
●
●
●
●
Journal refere-se a sistemas de arquivos que provê
mecanismo de proteção à desligamento abrupto.
Sistemas de arquivos são baseados em inodes, que
representa informações referente a um arquivo
(metadatados), tais como permissões, hora de
criação, dono, disco que se encontra, etc.
Desligamento abrupto do sistema causa
inconsistência entre arquivos e tabela inode.
Journaling cria atualizados dos metadados em um
log serial no disco, antes que blocos de dados no 34
disco sofra alteração.
7. Sistemas de arquivos
Fragmentação de espaço
●
●
●
●
Linux reconhece a grande maioria dos sistemas de
arquivos (Ext2, Ext3, ReiserFS, XFS, JFS, etc...)
enquanto que o Windows lê apenas FAT16, FAT32 e
NTFS.
Computador com dual boot (dois sistemas
operacionais).
Com processos de desfragmentação de disco no
Linux, obtém-se aumento em torno de 1% no disco.
Performance dos sistemas de arquivos EXT3 e
ReiserFS garante confiabilidade em servidores de35
arquivos e banco de dados baseados em Linux.
8. Estrutura de diretórios
Principais diretórios do Gnu/Linux
●
●
/bin: Arquivos executáveis;
/boot: Contém arquivos do kernel e inicialização do
sistema operacional;
●
/dev: Arquivos de ligação com hardware;
●
/etc: Contém maioria dos arquivos de configuração;
●
●
●
/home: Arquivos, documentos e configurações de usuários
cadastrados.
/lib: Módulos do kernel dentre outras bibliotecas.
/media: pontos de montagem para sistema de arquivos em
36
mídia removível
8. Estrutura de diretórios
Principais diretórios do Gnu/Linux
●
●
●
/opt: Diretório para armazenagem dos programas que não
fazem parte da distribuição;
/proc: informações sobre todos os processos em execução
/root: Pasta para informações para superusuário (root). Por
segurança, não está em /home;
●
/sbin: comandos para iniciar, reparar e recuperar sistema
●
/tmp: arquivos temporários do sistema operacional;
●
/usr: hierarquia de arquivos e comandos secundários
●
/var: Contém arquivos variáveis, como log, variáveis de
37
ambiente, spool de impressões, etc..
8. Estrutura de diretórios
Principais diretórios do Gnu/Linux
●
/usr:
●
/usr/lib: maioria dos arquivos executáveis e comandos
●
●
●
●
●
/usr/local: software local (que pode ser gravado ou
instalado) ← usuário
/usr/man: páginas de manual online
/usr/sbin: comandos menos essenciais para adminstração
do sistema
/usr/share: itens que podem ser comuns (e
compartilhados) a vários sistemas (somente leitura)
38
/usr/src: código fonte de pacotes de software não-locais
8. Estrutura de diretórios
Principais diretórios e sistemas de arquivos
Arquivo /etc/fstab
39
Identificador único
do dispositivo
Ponto de montagem
→ diretório GNU/Linux
Sistema de
arquivo
8. Estrutura de diretórios
Principais diretórios do Gnu/Linux
●
/usr:
●
/usr/lib: maioria dos arquivos executáveis e comandos
●
●
●
●
●
/usr/local: software local (que pode ser gravado ou
instalado) ← usuário
/usr/man: páginas de manual online
/usr/sbin: comandos menos essenciais para adminstração
do sistema
/usr/share: itens que podem ser comuns (e
compartilhados) a vários sistemas (somente leitura)
40
/usr/src: código fonte de pacotes de software não-locais
41
Download