SO-11 Winux: Laboratório de Sistemas Operacionais

2,782 views
2,695 views

Published on

Winux: software de simulação simplificada de sistemas operacionais

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,782
On SlideShare
0
From Embeds
0
Number of Embeds
15
Actions
Shares
0
Downloads
218
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

SO-11 Winux: Laboratório de Sistemas Operacionais

  1. 1. Sistema Operacional Simplificado
  2. 2.   Introdução   Descrição do Sistema Operacional Simplificado   Descritor de Programa: BCP   Filas de Programas   Transição de Estados dos Programas   Organização dos Programas no Disco   Processos Simples   Tratamento de Interrupções   Hardware   Hardware Simulado Eduardo Nicola F Zagari 2 Sistemas Operacionais
  3. 3.   SO: interface entre um usuário e o hardware   Funções:   Máquina Virtual   Gerenciador de Recursos   Suporte à Multiprogramação   Políticas de Escalonamento   Armazenamento Simultâneo e Compartilhamento de Memória   Algoritmos de substituição de processos na memória   Paralelismo nas operações de Entrada/Saída   Canais de Entrada e de Saída, buffers e interrupções Eduardo Nicola F Zagari 3 Sistemas Operacionais
  4. 4.   Sistema de SPOOL (“Simultaneous Peripherals Operation On Line”)   Utilização do disco nas operações de E/S   Sistema de Interrupções   Compartilhamento da CPU pelos programas   Paralelismo das operações de E/S   BCP Eduardo Nicola F Zagari 4 Sistemas Operacionais
  5. 5.   Processos Simples e Processos Especiais   Atuam sobre periféricos, buffers, disco, memória, etc   Processos simples: 7 processos concorrentes 1.  Leitura 2.  Spool de entrada Spooling do sistema operacional 3.  Spool de saída 4.  Impressão 5.  Loader 6.  E/S do Usuário 7.  Paginação   Processos especiais:   Tratador de Interrupções   Escalonador   Espera de Interrupção Eduardo Nicola F Zagari 5 Sistemas Operacionais
  6. 6. repeat EXECUTA_PROCESSOS_SIMPLES; if not VAZIA ( FILA_DE_PROGRAMAS_EXECUTÁVEIS ) then begin ESCALA_PROGRAMA_DE_USUÁRIO; HARDWARE end; if not Interrupção then ESPERA_INTERRUPÇÃO; { BUSY WAIT } TRATA_INTERRUPÇÃO until FALSE; { REPEAT FOREVER } Eduardo Nicola F Zagari 6 Sistemas Operacionais
  7. 7. Eduardo Nicola F Zagari 7 Sistemas Operacionais
  8. 8. Eduardo Nicola F Zagari 8 Sistemas Operacionais
  9. 9.   Fila 0: Fila dos BCPʼs disponíveis   Fila 1: Programa em processo de entrada (Spool In)   Fila 2: Programas residentes em disco   Fila 3: Programas prontos para execução   Fila 4: Programa sendo executado   Fila 5: Programas suspensos aguardando operações de E/S   Fila 6: Programas suspensos por falta de páginas   Fila 7: Programas acabados   Fila 8: Programa em estado de saída Eduardo Nicola F Zagari 9 Sistemas Operacionais
  10. 10.   Fila 1  Fila 2   Fila 2  Fila 3   Fila 3  Fila 4   Um processo pode ser interrompido (por gerar uma interrupção):   Quando requer a execução de uma operação de E/S  Fila 5   Quando a requer a execução de uma instrução que não está na memória  Fila 6   Quando do seu término normal ( Fila 8), do término de seu tempo de execução ( Fila 3) ou ocorrência de situações de erro (proteção de memória, código inválido, overflow) ( Fila 7)   Nas filas 1, 4 e 8 só poderá haver um programa de cada vez… Eduardo Nicola F Zagari 10 Sistemas Operacionais
  11. 11.   Em disco, o processo é dividido em 3 áreas:   Área de Programa   Área de Dados   Área de Impressão   8 Buffers de E/S organizados em 3 Filas:   Livres   Spool In   Impressão   Prevenção de Deadlock na alocação de buffers:   Disco cheio e buffers preenchidos com dados de entrada  Spool In não opera  Spool out também não… –  Solução: nunca permitir que todos os buffers sejam usados para Spool In. Eduardo Nicola F Zagari 11 Sistemas Operacionais
  12. 12.   Operações de E/S do sistema Concorrentes, mas com   Paginação supervisão da CPU   Instruções de E/S dos programas Processos Simples   Controlam a utilização dos recursos envolvidos em operações de E/S e armazenamento de dados e programas   Podem estar ativos ou inativos, dependendo de certas condições Eduardo Nicola F Zagari 12 Sistemas Operacionais
  13. 13.   “Leitura” :   existem dados no dispositivo de entrada   existe buffer disponível   o canal de leitura não está sendo utilizado   “Spool In” :   existe buffer na fila de buffers p/ Spool In   existe espaço disponível em disco   existe BCP disponível ou em estado de Spool In   o canal de controle do disco não está em uso   “Loader”:   existe espaço na memória ( pelo menos 2 páginas : uma para a Tabela de Páginas e uma para a primeira página de código do programa )   existe BCP na fila dos programas residentes em disco, aguardando carregamento na memória.   o canal de controle do disco não está em uso   “Paginação”:   existe BCP na fila de programas aguardando paginação   o canal de controle do disco não está em uso Eduardo Nicola F Zagari 13 Sistemas Operacionais
  14. 14.   “E/S usuário”:   existe BCP na fila de programas aguardando a realização de operações de E/S   o canal de controle do disco não está em uso   “Spool Out”:   existe BCP na fila de programas que já terminaram suas execuções   existe buffer disponível   o canal de controle do disco não está em uso   “Impressão”:   existe buffer na fila de buffers para impressão   o canal de controle do dispositivo de saída não está sendo utilizado   Ao completar a leitura ou escrita que estava executando, o canal gera uma INTERRUPÇÃO, indicando à CPU que os dados já foram lidos e podem ser tratados, ou já foram escritos e que o dispositvo está pronto para reutilização.   O Processo Simples que havia sido suspenso, volta a ser executadfo e faz o tratamento da situação. Eduardo Nicola F Zagari 14 Sistemas Operacionais
  15. 15.   Interrupção: evento que altera a seqüência de execução de instruções por um processador   Gerada pelo hardware   Pode ser de programa ou de periférico   Quando ocorre, causa a execução dos seguintes passos:   O controle da CPU é retornado para o SO   O SO salva o estado do processo que está sendo executado   A interrupção é analisada e o SO passa a executar a rotina de tratamento correspondente  Se é de programa, ele vai para a fila correspondente;  Se é de periférico, então o Processo Simples correspondente é reativado e o periférico é liberado. Eduardo Nicola F Zagari 15 Sistemas Operacionais
  16. 16.   Computador Simplificado (CS): hardware simulado por software   Composto por:   Unidade Central de Processamento (CPU)   Memória principal de acesso rápido   Uma unidade de armazenamento externo (disco)   Registradores específicos e de uso geral   Contador de tempo para execução de programas (TIMER)   Contador da fatia de tempo da CPU para a execução de cada programa (TIME-SLICE)   Relógio (CLOCK)   Unidades de Entrada/Saída de dados controlado por canais autônomos   Vetor de interrupções Eduardo Nicola F Zagari 16 Sistemas Operacionais
  17. 17. Eduardo Nicola F Zagari 17 Sistemas Operacionais
  18. 18.   “Palavra”: unidade básica do seu sistema de armazenamento   Especificada no CS através de uma estrutura de dados C1 C2 C3   Se for uma palavra de instrução:  C1: Código da operação  C2: Página referida pela instrução  C3: Deslocamento dentro da pág. referida (palavra)   Se for uma palavra de dado:  C1: Valor do dado armazenado  C2: - (Irrelevante)  C3: - (Irrelevante) Eduardo Nicola F Zagari 18 Sistemas Operacionais
  19. 19.   O CS utiliza esquema de paginação com páginas de 8 palavras Deslocamento: End Absoluto: 0 C1 C2 C3 0 . . Pág 0 . . 7 C1 C2 C3 7 8 C1 C2 C3 0 . . . . 248 C1 C2 C3 0 . . . Pág 31 . 255 C1 C2 C3 7 Eduardo Nicola F Zagari 19 Sistemas Operacionais
  20. 20.   Tabela de Páginas   Cada palavra na TP representa a presença e o endereço efetivo de uma página do programa do usuário na memória:  C1: indica presença ou ausência de uma página na memória  C2: endereço efetivo da página na memória  C3: não utilizado   Para obter o endereço efetivo de uma palavra, o SO:  Identifica a página de memória que contém a TP do programa  Pesquisa nesta página, a presença e o endereço efetivo da página   Páginas de código  localização direta   Páginas de rascunho  localização inversa Eduardo Nicola F Zagari 20 Sistemas Operacionais
  21. 21.   Os principais registradores:   ACC: acumulador   PC: contador de programa   TP: tabela de páginas   FP: falta página   CK: clock   TIMER: tempo máximo previsto   TS: time slice Eduardo Nicola F Zagari 21 Sistemas Operacionais
  22. 22.   Conjunto de instruções de máquina do CS   Operações que fazem referência à área de código  HLT  JMP XY Z  JNG XY Z (Se ACC<0, então JMP XY Z)   Operações que manipulam a área reservada para rascunho  RD XY 0 Referem-se a páginas  PRN XY 0  LD XY Z  STR XY Z Referem-se a palavras  SUB XY Z  ADD XY Z Eduardo Nicola F Zagari 22 Sistemas Operacionais
  23. 23. Eduardo Nicola F Zagari 23 Sistemas Operacionais
  24. 24. Eduardo Nicola F Zagari 24 Sistemas Operacionais
  25. 25. Eduardo Nicola F Zagari 25 Sistemas Operacionais

×