Apresentacao Aula03 So

3,209 views

Published on

Published in: Business, Technology
1 Comment
3 Likes
Statistics
Notes
  • SISTEMAS EXONUCLEOS VC NÃO EXPLICOU!!!!
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total views
3,209
On SlideShare
0
From Embeds
0
Number of Embeds
110
Actions
Shares
0
Downloads
0
Comments
1
Likes
3
Embeds 0
No embeds

No notes for slide

Apresentacao Aula03 So

  1. 1. Sistemas Operacionais Aula 3
  2. 2. 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;
  3. 3. Relembrando - Revisão Sobre HW de Computador
  4. 4. Relembrando - Revisão Sobre HW de Computador – Barramentos
  5. 5. 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;
  6. 6. Conceitos de S.O -> Deadlocks
  7. 7. 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;
  8. 8. 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;
  9. 9. Conceitos de S.O -> Arquivos
  10. 10. 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.
  11. 11. 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;
  12. 12. 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;
  13. 13. 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
  14. 14. 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;
  15. 15. Conceitos de S.O -> Chamadas ao sistema
  16. 16. Conceitos de S.O -> Chamadas ao sistema
  17. 17. Conceitos de S.O -> Chamadas ao sistema
  18. 18. Conceitos de S.O -> Chamadas ao sistema
  19. 19. Conceitos de S.O -> Chamadas ao sistema
  20. 20. Conceitos de S.O -> Chamadas ao sistema
  21. 21. 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
  22. 22. 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;
  23. 23. 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;
  24. 24. Estrutura de um S.O. – Sistema Monolítico
  25. 25. Estrutura de um S.O. – Sistema Monolítico
  26. 26. Estrutura de um S.O. – Sistema Monolítico
  27. 27. 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);
  28. 28. Estrutura de um S.O. - Sistema de Camadas
  29. 29. 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;
  30. 30. 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;
  31. 31. Estrutura de um S.O. – Máquinas Virtuais
  32. 32. 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.
  33. 33. Estrutura de um S.O. – Máquinas Virtuais
  34. 34. Estrutura de um S.O. – Máquinas Virtuais
  35. 35. 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;
  36. 36. 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;

×