2. • Entender o conceito de sistemas
operacionais
• Entender a estrutura básica do
sistema operacional Linux
• Iniciar o aprendizado em shell
script
Objetivos
5. •Permite que múltiplos programas
sejam executados ao mesmo tempo
•Gerencia e proteje a memória, os
dispositivos de entrada e saída e
outros recursos
•Inclui a multiplexação (partilha) de
recursos de duas maneiras
diferentes:
•No tempo
•No espaço
O sistema operacional como um gerenciador de recursos
6. História dos sistemas operacionais
Gerações:
•(1945–55) Válvulas
•(1955–65) Transistores e sistemas em lotes (batch)
•(1965–1980) CIs e multiprogramação
•(1980–Presente) Computadores pessoais
7.
8.
9. Sistema operacional
• Camada de software entre o hardware e as
aplicações dos usuários
9
Hardware
Sistema Operacional
Aplicação AplicaçãoAplicação
usuários
Introdução aos Sistemas Operacionais
10. • A partir da máquina real (hardware), criar
uma máquina estendida.
• Gerenciar os recursos de hardware
disponíveis para as aplicações.
Sistema operacional
11.
12. • Ocultar a complexidade do hardware.
• Oferecer interfaces padronizadas de
acesso ao hardware.
• Permitir uma visão homogênea de
dispositivos distintos.
13.
14. 14
Sistema operacional
aplicação
Clicar em um arquivo
Assign(file, “D:README.TXT”);
open(file);
read(file, ch);
…
close(file);
Move head to sector 123 in FAT
read 256 bytes to mem 36234H
move head to sector 4684753
read 1024 bytes to mem 578567
...
Introdução aos Sistemas Operacionais
15. • Recursos da máquina
• processadores
• espaço em memória
• arquivos
• conexões de rede
• dispositivos externos
• Controle de acesso
• equilibrar uso
• evitar conflitos
16. Pipeline: é natural!
• Exemplo de Lavanderia
• Tem-se os volumes A, B, C e D de
roupas para lavar, secar e passar
• A lavadora leva 30 minutos
• A secadora leva 40 minutos
• “Passadeira” leva 20 minutos
A B C D
17. 17
Lavanderia Sequencial
• A lavanderia sequencial leva 6 horas para 4 volumes
• Se usarem o “pipeline”, quanto tempo levaria?
A
B
C
D
30 40 20 30 40 20 30 40 20 30 40 20
6 7 8 9 10 11 Meia noite
T
a
s
k
O
r
d
e
r
Tempo
18. 18
Lavanderia em Pipeline
• Lavanderia em Pipeline leva 3.5 horas
A
B
C
D
6 7 8 9 10 11 Meia noite
o
r
d
e
m
Tempo
30 40 40 40 40 20
19. Mas o que é Linux?
Kernel, utilitários, GNU, etc
● “Somente” o kernel é realmente o Linux. Núcleo do
sistema é responsável pelo funcionamento dos
dispositivos e funcionamento do computador (SO)
● Utilitários (shell, editores, programas) são a parte
visível ao usuário. Entretanto, são “emprestados” do
projeto GNU, ou são comerciais
● GNU (Gnu is Not Unix): Projeto fundado por
Richard Stallman, que propunha a criação de um
sistema completo (kernel, utilitários, etc), sob a
GPL, e independente de qualquer tipo de UNIX
20. Conceitos e História do Linux
▪ Projeto GNU (FSF)
▪ Origens do Linux
▪ GNU + Linux
▪ Distribuições
▪ Fontes de Documentação
▪ Multimedia de Linux
22. O sistema operacional GNU é um sistema de software livre completo,
compatível com o Unix. GNU significa “GNU's Not Unix” (GNU Não é Unix).
Richard Stallman fez o Anúncio Inicial do Projeto GNU em setembro de
1983. Uma versão mais longa, chamada de Manifesto GNU, foi publicada
em março de 1985. O texto tem sido traduzido para várias outras línguas.
23. Histórico
Do UNIX ao Linux
● UNIX apareceu em 1969 (Ken Thompson)
● Linus Torvalds, em 1991, escreveu um kernel para
seu 80386, baseado em UNIX
● Após divulgar na Internet, teve participação de
muita gente, e começou a crescer
● Em menos de 10 anos, o kernel se encontra na
versão 2.4, e suporta vários dispositivos e
plataformas (i368, Sparc, PowerPC, etc)
24. Kernel
Núcleo do sistema operacional, a parte mais próxima
do nível físico (hardware). Composto de chamadas
ao sistema, de acesso aos dispositivos de entrada e
saída e de gerência de recursos.
Shell
Nome genérico de uma classe de programas que
funcionam como interpretador de comandos e
linguagem de programação script (interpretado) no
Unix.
Mais populares.: bash, csh, ksh e zsh
Script
Script nada mais é que um arquivo que contém
comandos shell, em uma situação normal podem ser
executados pelo prompt.
25. • O que é Shell??
–. programa que conecta e interpreta os comandos
–. linguagem de programação completa
interpretada
–. possui variáveis;
–. construções condicionais e interativas;
–. ambiente adaptável ao usuário;
• Simplicidade do Shell
–. Pipeline
–. Sistemas de arquivos
–. Sistema operacional UNIX
26.
27.
28.
29. uname -r
#!/bin/bash
# My first script
echo "Hello World!"
▪Show Kernel Version
▪Alo Mundo Shell
Exercícios
31. ¿O que não é Software Livre?
▪Gratuito A confusão vem do inglês free,
▪Dominio público Para haver software livre é
necessário o uso de uma licença
▪Anónimo É necessário o conhecimento dos
autores em software livre
32. Licença GNU
• é uma licença para documentos e textos
livres permite que textos, apresentações e
conteúdo de páginas na web sejam
distribuídos e reaproveitados, mantendo,
porém, alguns direitos autorais e sem
permitir que essa informação seja usada de
maneira indevida. A licença não permite, por
exemplo, que o texto seja apoderado por
outra pessoa, ou que sejam impostos sobre
ele restrições que impeçam que ele seja
distribuído da mesma maneira que foi
adquirido.
33. Licença Apache
• é uma licença para software livre.
A licença Apache exige a inclusão
do aviso de copyright e disclaimer,
mas não é uma licença copyleft -
ela permite o uso e distribuição do
código fonte tanto no software
open source como no proprietário.
43. Shell - Redirecionamento
• Entrada padrão (stdin - standard input):
onde o comando vai ler seus dados de
entrada.
• Saída padrão (stdout - standard output):
onde o comando vai escrever seus dados
de saída.
• Saída de erro (stderr - standard error):
onde o comando vai enviar mensagens de
erro.
44. • Saída em arquivo: a saída padrão (stdout) do
comando é desviada para um arquivo usando o
operador ">". Vejamos um exemplo:
•
• ls > listagem.txt
•
• Entrada de arquivo: a entrada padrão (stdin) pode
ser obtida a partir de um arquivo usando o operador
"<". Um exemplo:
•
• rev < listagem.txt
•
• Uso combinado: os dois operadores podem ser
usados simultaneamente.
•
• rev < listagem.txt > listrev.txt
•