2. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
$whoami
Marido
Pai de um jovem universitário e 10 gatos
• Ok, 12 cães também...
Apaixonado por programação (desde os ≈12) e felinos desde sempre
Cinéfilo
Bacharel em Informática (Unioeste, 1999)
Mestre em Ciência da Computação (UFSC, 2002)
Doutor em Ciência da Computação UFPR/Université de Rouen (2018)
Professor na UTFPR-TD (desde 2009)
3. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
GNU is Not Unix
Iniciado em 1984 por Richard M.
Stallman
Objetivava criar um sistema
operacional, compatível com o
UNIX, que fosse totalmente livre
• Vários programadores se juntaram a
causa e passaram a desenvolver as
partes principais do SO, como o
compilador C, editores de texto, etc.
5. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Em 1985, Stallman fundou a Free Software
Foundation (FSF), uma organização sem fins
lucrativos
visa divulgar o movimento SL
dar amparo legal, trabalhando nas licenças e
documentação
7. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Final dos anos 1980, muito
do SO GNU estava pronto, com
exceção do kernel, o GNU Hurd
Em 1991, o universitário Linus
Torvalds usa as ferramentas
GNU para criar o kernel Linux
Nasce um SO completo, o
GNU/Linux
8. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Sim, Linux é um kernel!
criado por Torvalds, então estudante de
computação na Universidade de Helsinki, 1991
Foi baseado no Minix (1987), de Tanenbaum
• Clone do Unix para PCs, fins didáticos
9. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Torvalds inicialmente escreveu o Linux
(kernel), em C e Assembly, como um clone do
Minix
Motivação: “a better Minix then Minix”!
• Maior número de recursos
• Aplicações comerciais
Atualmente o desenvolvimento é apoiado por
pessoas do mundo inteiro → patches
• Tovarlds é quem decide (decidia?) o que vai para o
kernel
10. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Software Livre (SL) ou Free Software se
refere à liberdade dos usuários executarem,
copiarem, distribuirem, estudarem, modificarem
e aperfeiçoarem o software
SL é uma questão de liberdade, não de preço
pensar em "liberdade de expressão", não em
"cerveja grátis"!
11. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Distribuir software em Domínio Público, sem copyright, não
garante liberdade!
Intermediários não-cooperativos podem tornar o software não-livre
(proprietário)
O Projeto GNU encoraja o uso do copyleft
copyleft diz que qualquer um que distribui o software, com ou sem
modificações, tem que passar adiante a liberdade de copiar e
modificar novamente o programa
copyleft garante que todos os usuários tenham liberdade
Licença Pública Genérica do GNU (GPL)
14. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Utilitários
Executados fora do kernel
Implementam tarefas básicas
Confundidos com o SO
Compiladores (compilers), montadores
(assemblers), ligadores (linkers), etc.
• GCC, emacs, gdb, make, etc.
15. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Interpreador de Comandos (shell)
Ativado sempre que o SO inicia uma sessão de
trabalho
Texto
• Bash, tsch, sh, etc.
GUI (Graphical User Interface)
• Família M$-Windows, MacOS, etc.
16. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Bash é uma shell Unix e
linguagem de comando criada
por Brian Fox (1989) para o GNU
Bourne-Again Shell → substituição
GNU da Bourne Shell do Unix
• Processador de comandos que roda
em modo texto → CLI
https://www.gnu.org/software/bash/
17. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Bash script: Várias instruções bash em um
arquivo de texto puro
por convenção extensão .sh
19. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Em Linux (Unix-like) tudo é considerado arquivo
Se não for arquivo, então é processo!
Tipos
Regular (-): texto, imagem, executável, etc.
Diretório (d): lista de outros arquivos, incluindo diretórios
Especial (b, c, p, s) : mecanismos de E/S, ligados a
dispositivos, interface com o usuário, sockets, etc.
Link (l): arquivos ligados a outros arquivos
20. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
Todos os arquivos e diretórios estão sob a raiz (/)
No Linux, os diretórios estão organizados segundo a
Filesystem Hierarchy Standard (FHS)
Especificação da Linux Foundation
• Última versão 3.0 (2015)
21. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
FHS
/ - raiz (root). Diretório principal
/bin - Arquivos executáveis (binários) de
comandos essenciais do sistema usados com
frequência
/boot - Arquivos estáticos de boot (boot-loader)
/dev - Arquivos de dispositivos de E/S
/etc - Configuração do sistema da máquina local
com arquivos diversos para a administração de
sistema
22. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
/home - Diretórios locais dos usuários
/lib - Arquivos das bibliotecas compartilhadas
usados com frequência
/mnt - Ponto de montagem de sistema de
arquivos temporários usados pelo administrador do
sistema
/media – Ponto de montagem para mídias
removíveis (aparecem automaticamente no
ambiente gráfico)
/root - Diretório local do superusuário (root)
23. UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ
/sbin - Arquivos de sistema essenciais que só
podem ser acessados pelo root
/tmp - Arquivos temporários gerados por alguns
utilitários
/usr - Arquivos de programas de usuários
(segunda maior hierarquia)
/var - Informação variável (cache, logs, dados
temporários, …)