Upload
nauber-gois
View
23
Download
0
Embed Size (px)
Citation preview
Administração de Sistemas Operacionais Francisco Nauber
Bernardo Gois [email protected]
• Entender o conceito de sistemas operacionais
• Entender a estrutura básica do sistema operacional Linux
• Iniciar o aprendizado em shell script
Objetivos
•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
História dos sistemas operacionaisGerações: •(1945–55) Válvulas •(1955–65) Transistores e sistemas em lotes (batch) •(1965–1980) CIs e multiprogramação •(1980–Presente) Computadores pessoais
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
• 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
• Ocultar a complexidade do hardware.
• Oferecer interfaces padronizadas de acesso ao hardware.
• Permitir uma visão homogênea de dispositivos distintos.
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 FATread 256 bytes to mem 36234Hmove head to sector 4684753read 1024 bytes to mem 578567...
Introdução aos Sistemas Operacionais
• Recursos da máquina• processadores• espaço em memória• arquivos• conexões de rede• dispositivos externos
• Controle de acesso• equilibrar uso• evitar conflitos
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
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
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
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
Conceitos e História do Linux
▪ Projeto GNU (FSF) ▪ Origens do Linux ▪ GNU + Linux ▪ Distribuições ▪ Fontes de Documentação ▪ Multimedia de Linux
Projeto GNU
▪Richard Stallman ▪Projeto GNU criado em 1984.
– Software Libre – Licencias GPL – Free Software Fundation
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.
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)
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.
• 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
uname -r
#!/bin/bash# My first script
echo "Hello World!"
▪Show Kernel Version
▪Alo Mundo Shell
Exercícios
¿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
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.
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.
http://futurist.se/gldt/wp-content/uploads/06.09/ldt69.png
http://futurist.se/gldt/wp-content/uploads/subtrees/slackware1106.png
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.
• 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 •