Unix - Sistemas Operacionais

33
unix > nelicio junior > rodrigo brito o unix te dá 35 maneiras diferentes para você se matar.”

description

Apresentação do SO UNIX para a disciplina de Sistemas Operacionais.

Transcript of Unix - Sistemas Operacionais

Page 1: Unix - Sistemas Operacionais

unix> nelicio junior> rodrigo brito

“o unix te dá 35 maneiras diferentespara você se matar.”

Page 2: Unix - Sistemas Operacionais

> o que é UNIX?

Sistema operacional portável, multitarefa emultiusuário. Originalmente criado por

Ken Thompson, Dennis Ritchie,Douglas Mcllroy e Peter Weiner.

Page 3: Unix - Sistemas Operacionais

> histórico

AT&T – GE ­ MIT1965 – Multics (laboratório de pesquisas);

1969 – Bell retira­se;1969 ­Multics reescrito como Unics;

1973 – Unix reescrito em C;1970 – 80 – Primeiras distribuições (BSD e

System III e V);1977 – AT&T comercializa o Unix;

Page 4: Unix - Sistemas Operacionais
Page 5: Unix - Sistemas Operacionais

> características

 ­ escrito em linguagem de alto nível,tornando fácil a compreensão e alteraçãodo seu código e portabilidade para outras

plataformas;­ oferece um conjunto de system calls que 

permite que programas complexos sejamdesenvolvidos a partir de uma interface

simples;

Page 6: Unix - Sistemas Operacionais

> características

 ­ flexibilidade, podendo ser utilizadocomo sistema operacional de computadores

pessoais, estações de trabalho e servidores de todos os portes, voltados

para banco de dados, web, correioeletrônico e aplicação;

­ implementação de threads, em algumasversões, e diversos mecanismos de comunicação e sincronização, como

memória compartilhada, pipes e semáforos;

Page 7: Unix - Sistemas Operacionais

> características

 ­ suporte a um grande número deaplicativos disponíveis no mercado, sendo

muitos gratuitos;­ suporte a diversos protocolos de rede,como o TCP/IP e interfaces de programação,

como sockets, podendo ser utilizadocomo servidor de comunicação, roteador, 

firewall e proxy;­ oferece uma interface simples e uniforme

com os dispositivos de I/O.

Page 8: Unix - Sistemas Operacionais

> estrutura do sistema

 ­ linguagens: C e assembly­ dois modos de acesso: 

modo usuáriomodo kernel

Page 9: Unix - Sistemas Operacionais
Page 10: Unix - Sistemas Operacionais

> kernel

 ­ controla o hardware;­ fornece system calls;­ dividido em 2 partes:dependente do hardwareindependente do hardware

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Page 11: Unix - Sistemas Operacionais

dependente do hardware:tratamento de interrupções e exceções,

device drivers,interpretação de sinais

independente do hardware:system calls,

gerência de processos,gerência de memória,

escalonamento,pipes,

paginação,swapping,

sistema de arquivos

ão tem nenhum vinculo com aparente com a plataforma onde esta sendo executadaão tem nenhum vinculo com aparente com a plataforma onde esta sendo executada

Page 12: Unix - Sistemas Operacionais

> system calls­ usado por programas para solicitação de

serviços do SO.

Page 13: Unix - Sistemas Operacionais

> processos e threads­ suporta inúmeros processos, que

podem ser executadosconcorrentemente ou simultaneamente.­ primeiras versões não implementavamo conceito de threads, porém versõesmais recentes já oferecem suporte

a aplicações multithread.

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Page 14: Unix - Sistemas Operacionais
Page 15: Unix - Sistemas Operacionais

> system call fork­ processo executa o fork (pai);­ processo filho tem seu próprio

espaço de endereçamento;­ o fork copia o espaço de

endereçamento do processo pai parao filho, incluindo o códigoexecutável e suas variáveis.

­ daemons

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Page 16: Unix - Sistemas Operacionais

> sinais­ um sinal permite que um processo

seja avisado da ocorrência de eventossíncronos e assíncronos. 

Uma System Call (chamada de sistema) é usado pela aplicação (usuário) programas para solicitação de serviços do sistema operacional. Um sistema operacional pode acessar o hardware de um sistema diretamente, mas um programa do usuário não tem acesso direto ao hardware. Isto é feito para que o kernel possa manter o sistema seguro de programas de usuário mal-intencionado. Mas, muitas vezes, um programa do usuário requer algumas informações do hardware (por exemplo, de uma câmera web para mostrar-lhe a imagem), mas não pode obter as informações diretamente. Assim, solicita ao sistema operacional para

Fornecer-lhe a solicitação. Esta solicitação é feita usando uma chamada de sistema adequada. A chamada de sistema executa no modo kernel. Cada chamada de sistema tem um número associado a ele. Este número é passado para o kernel e é assim que o kernel sabe qual a System Call foi feita. Quando um programa de usuário emite uma chamada de sistema, na realidade, é chamada uma rotina da biblioteca.

Page 17: Unix - Sistemas Operacionais

> estruturas de dados (processo)­ estutura do processo­ área do usuário  

Page 18: Unix - Sistemas Operacionais
Page 19: Unix - Sistemas Operacionais
Page 20: Unix - Sistemas Operacionais

> gerência do processador­ dois tipos de escalonamento:

circular com prioridadeescalonamento por prioridade

­ processos tem prioridade entre0 e 127

­ quanto menor o valor, maior a prioridade;

Page 21: Unix - Sistemas Operacionais

> gerência de memória­ paginação por demanda;­ paginação com swapping;­ endereçamento em três

segmentos:texto – dados ­ pilha

Page 22: Unix - Sistemas Operacionais
Page 23: Unix - Sistemas Operacionais

> sistema de arquivos­ primeiro componente a ser

desenvolvido no Unix;­ um arquivo é simplesmente uma

sequência de bytes sem significadopara o SO.

­ todos os diretórios contém os nomesde arquivos ponto(.) e dois pontos

(..) que correspondem,respectivamente, ao própriodiretório e ao seu pai.  

Page 24: Unix - Sistemas Operacionais
Page 25: Unix - Sistemas Operacionais

> sistema de arquivos­ três categorias de usuário;

user (dono)group 

others (sem grupo)root (admin)

Page 26: Unix - Sistemas Operacionais
Page 27: Unix - Sistemas Operacionais
Page 28: Unix - Sistemas Operacionais

> sistema de arquivos­ No Unix não existe dependência

entre a estrutura lógica do sistemade arquivos e o local

onde os arquivos estão fisicamentearmazenados.

Page 29: Unix - Sistemas Operacionais
Page 30: Unix - Sistemas Operacionais

> sistema de arquivos­ Existem padrões para a

implementação de sistemas de arquivosremotos, como:

Network File System(NFS)Remote File System(RFS)Andrew File System(AFS)

Page 31: Unix - Sistemas Operacionais

"Se você tem uma maçã e eu tenho uma maçã, e nós trocamos as maçãs, então você e eu ainda teremos uma

maçã. Mas se você tem uma idéia e eu tenho uma idéia, e nós trocamos essas idéias, então cada um de nós terá duas

idéias." George Bernard Shaw

Page 32: Unix - Sistemas Operacionais
Page 33: Unix - Sistemas Operacionais