• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Apresentacao Aula03 So
 

Apresentacao Aula03 So

on

  • 4,593 views

 

Statistics

Views

Total Views
4,593
Views on SlideShare
4,265
Embed Views
328

Actions

Likes
3
Downloads
0
Comments
1

8 Embeds 328

http://apconcursos.blogspot.com 288
http://www.slideshare.net 24
http://navegapara.blogspot.com 6
http://navegapara.blogspot.com.br 6
http://64.233.169.104 1
http://s3.amazonaws.com 1
http://74.125.45.104 1
http://webcache.googleusercontent.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1 previous next

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
  • SISTEMAS EXONUCLEOS VC NÃO EXPLICOU!!!!
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Apresentacao Aula03 So Apresentacao Aula03 So Presentation Transcript

    • Sistemas Operacionais Aula 3
    • Relembrando - Tipos de Sistemas Operacionais • SO de computadores de grande porte (OS/390 e OS/360); • SO de Servidores; • SO de Multiprocessadores; • SO de PC’s; • SO de Tempo Real; • SO Embarcados; • SO de Cartões Inteligentes;
    • Relembrando - Revisão Sobre HW de Computador
    • Relembrando - Revisão Sobre HW de Computador – Barramentos
    • Conceitos de S.O -> Processos • Processo = Programa em execução; • Para cada processo existe um espaço de endereçamento na memória no qual este processo pode escrever; • Sistema de tempo compartilhado -> Os processos “brigam” pela CPU; • Um processo pode ser suspenso por ter acabado o seu tempo de execução ou por estar esperando uma E/S ou a liberação de seções críticas;
    • Conceitos de S.O -> Deadlocks
    • Conceitos de S.O -> Gerenciamento de Memória • Todo computador tem uma memória principal usada para guardar os programas em execução; • Nos sistemas operacionais antigos era possível apenas um processo de cada vez; • Nos atuais é possível que mais de um processo fique na memória por vez -> Sendo assim é necessária um esquema de proteção da memória para que um processo não interfira em outro (isso é controlado pelo SO); • Outro problema enfrentado pelo gerenciamento de memória é quando o tamanho do processo é maior que o tamanho da memória -> Memória Virtual;
    • Conceitos de S.O -> Arquivos • Sistema de arquivos é um conceito que mora em praticamente todos os sistemas operacionais; • Os S.O.’s devem fornecer chamadas ao sistema para a abertura, escrita, remoção e leitura de arquivos; • A maioria dos S.O.’s fornecem o conceito de diretório para agrupar arquivos; • O sistema de arquivo deve trazer noções de PROPRIEDADE E PROTEÇÃO;
    • Conceitos de S.O -> Arquivos
    • Conceitos de S.O -> Interpretador de Comandos • S.O. pode ser visto como um código que executa as chamadas ao sistema; • Interpretador de comandos, apesar de não ser parte do sistema operacional, faz uso das chamadas ao sistema para interfacear o usuário e o S.O. • Exemplo: dir, ls, clear, cls.
    • Conceitos de S.O -> Chamadas ao sistema • O conjunto de chamadas ao sistema oferecido pelo S.O é a interface entre o próprio S.O. e os programas do usuário;
    • Conceitos de S.O -> Chamadas ao sistema • Para melhor explicar chamadas ao sistema operacional vamos usar o padrão de S.O. POSIX (Padrão Internacional 9945-1) que engloba o Unix, System V, BSD, Linux, Minix e etc; • Fazer uma chamada ao sistema operacional é como realizar uma chamada a um procedimento, contudo chamadas ao sistema são executadas em modo núcleo e chamadas a procedimentos em modo usuário;
    • Conceitos de S.O -> Chamadas ao sistema • Vamos entender a chamada ao sistema read do UNIX; – Contador = read (arq,buffer,nbytes); – Essa chamada retorna em contador o número de bytes realmente lidos e em buffer o que foi lido; – Esse procedimento read pertence a uma biblioteca no UNIX e é quem faz a chamada ao sistema; • Funcionamento da chamada: 1. Programa que esta chamando read armazena na pilha os parâmetros (1 – 3); 2. A chamada real ao procedimento read da biblioteca é realizada(4); 3. Coloca o código da chamada ao sistema read em um registrador
    • Conceitos de S.O -> Chamadas ao sistema 4. O procedimento da biblioteca (escrito em assembly) executa uma instrução TRAP passando a execução de modo usuário para modo núcleo (6); 5. O código núcleo verifica o número da chamada que esta no registrador e então chama o procedimento correto que trata aquela chamada ao sistema (isso geralmente acontece através de uma tabela que correlaciona código da chamada com um ponteiro para o endereço onde se inicia o procedimento (7); 6. Após o procedimento que atende a chamada ter acabado o seu trabalho uma nova instrução TRAP é acionada passando a execução do núcleo para o usuário (9); 7. Terminando o programa do usuário limpa a pilha;
    • Conceitos de S.O -> Chamadas ao sistema
    • Conceitos de S.O -> Chamadas ao sistema
    • Conceitos de S.O -> Chamadas ao sistema
    • Conceitos de S.O -> Chamadas ao sistema
    • Conceitos de S.O -> Chamadas ao sistema
    • Conceitos de S.O -> Chamadas ao sistema
    • Estrutura de um S.O. • Até então tivemos uma noção EXTERNA do S.O. – Interface dele com o programador; • Analisar agora a estrutura interna de um S.O. através de projetos utilizados na construção de S.O.’s – Sistemas Monolítico; – Sistemas de Camadas; – Máquinas Virtuais; – Exonúcleos; – Sistemas Cliente-Servidor
    • Estrutura de um S.O. – Sistema Monolítico • Estrutura mais comum; • Poderia ter o subtítulo “a grande baguça”; • S.O. é escrito como uma coleção de procedimentos que podem chamar uns aos outros; • Para cada chamada ao sistema que uma aplicação necessite há um procedimento relacionado;
    • Estrutura de um S.O. – Sistema Monolítico • O binário do S.O. projetado segundo a visão monolítica é conseguido da seguinte forma: – Compilar todos os procedimentos individualmente (ou arquivos com os procedimentos); – Junta-se todos os procedimentos em um binário através da sua “linkagem”; • Assim não existe informação ou procedimentos ocultos e todos podem acessar todos;
    • Estrutura de um S.O. – Sistema Monolítico
    • Estrutura de um S.O. – Sistema Monolítico
    • Estrutura de um S.O. – Sistema Monolítico
    • Estrutura de um S.O. - Sistema de Camadas • Uma outra abordagem de construção de S.O.’s é a organização em hierarquia de camadas; • Cada camada é construída usando os serviços da camada imediatamente inferior; • Com essa arquitetura é possível proteger chamadas a determinados métodos e/ou criar níveis de execução de processos (exemplo do programa de notas do MULTICS);
    • Estrutura de um S.O. - Sistema de Camadas
    • Estrutura de um S.O. – Máquinas Virtuais • Surgiu na construção do SO VM/370 da IBM através do conceito de que um SO de tempo compartilhado oferece: – Multiprogramação; – Máquina estendida com interface mais simples para o hardware; • A essência desse sistema é a separação completa dessas duas funções;
    • Estrutura de um S.O. – Máquinas Virtuais • A máquina virtual é executada diretamente sobre o hardware e implementa a multiprogramação. Sendo assim pode oferecer várias máquinas virtuais ao sistema; • Essa máquina virtual é a cópia exata do hardware sobre a qual ela esta rodando; • Sendo assim a máquina virtual vai poder executar qualquer sistema operacional dentro dela. Ai, é função desse sistema implementar uma máquina estendida;
    • Estrutura de um S.O. – Máquinas Virtuais
    • Estrutura de um S.O. – Máquinas Virtuais • A idéia de Máquina Virtual foi utilizada pelo JAVA; • JVM – Java Virtual Machine; • Compilador JAVA produz código para JVM que é executado por um programa interpretador da JVM; • A JVM, por sua vez, pode estar implementada para qualquer máquina ou sistema.
    • Estrutura de um S.O. – Máquinas Virtuais
    • Estrutura de um S.O. – Máquinas Virtuais
    • Estrutura de um S.O. – Modelo Cliente Servidor • A tendência dos SO´s modernos é transferir a maior parte do código para ser executado em modo usuário e deixando o mínimo possível para modo núcleo; • Neste modelo, para se ler um bloco de arquivo, um processo usuário (cliente) deve enviar uma requisição ao processo servidor, que executa o trabalho em modo núcleo e o envia de volta;
    • Estrutura de um S.O. – Modelo Cliente Servidor • Dessa forma o SO é dividido em várias partes: servidor de arquivos, servidor de processos, servidor de terminais, servidor de memória e etc; • Assim cada parte do SO se torna independente, pequena e gerenciável;