Upload
junior-silva
View
390
Download
1
Embed Size (px)
DESCRIPTION
Apresentação do SO UNIX para a disciplina de Sistemas Operacionais.
Citation preview
unix> nelicio junior> rodrigo brito
“o unix te dá 35 maneiras diferentespara você se matar.”
> o que é UNIX?
Sistema operacional portável, multitarefa emultiusuário. Originalmente criado por
Ken Thompson, Dennis Ritchie,Douglas Mcllroy e Peter Weiner.
> histórico
AT&T – GE MIT1965 – Multics (laboratório de pesquisas);
1969 – Bell retirase;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;
> 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;
> 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;
> 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.
> estrutura do sistema
linguagens: C e assembly dois modos de acesso:
modo usuáriomodo kernel
> 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.
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
> system calls usado por programas para solicitação de
serviços do SO.
> 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.
> 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.
> 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.
> estruturas de dados (processo) estutura do processo área do usuário
> 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;
> gerência de memória paginação por demanda; paginação com swapping; endereçamento em três
segmentos:texto – dados pilha
> 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.
> sistema de arquivos três categorias de usuário;
user (dono)group
others (sem grupo)root (admin)
> 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.
> 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)
"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