Sistemas operacionais1

44
Administração de Sistemas Operacionais Francisco Nauber Bernardo Gois [email protected]

Transcript of Sistemas operacionais1

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

O Sistema operacional como uma máquina estendida

•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

Software Livre

¿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.

Estrutura de Diretório do Linux

http://futurist.se/gldt/wp-content/uploads/06.09/ldt69.png

http://futurist.se/gldt/wp-content/uploads/subtrees/slackware1106.png

#!/bin/bash #Aviso sleep 10m echo Tá na Hora de Sair!! date

Comando CAT

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 •