1 of 42

UNIDADE III�Sistema Operacional

Prof. Júlio César Mesquita Ruzicki

ARQUITETURA DE COMPUTADORES

2 of 42

Introdução

Objetivo

2

O SO é um programa que gerencia os recursos do computador, oferece serviços para os programadores e distribui a execução de outros programas.

  • Conveniência:
    • Tornar o computador mais fácil de usar.
  • Eficiência:
    • Permitir o melhor uso dos recursos do computador.

3 of 42

Introdução

Objetivo

3

Basicamente o SO gerencia:

  1. memória;
  2. processos;
  3. dispositivos.

4 of 42

Objetivo

O SO é um programa que gerencia os recursos do computador, oferece serviços para os programadores e distribui a execução de outros programas.

4

5 of 42

Camadas - como podemos enxergar o SO?

5

6 of 42

Camadas - como podemos enxergar o SO?

  • Do ponto de vista do usuário final é apenas uma interface sem se importar com a arquitetura.�
  • Do ponto de vista de aplicação o programador desenvolve os aplicativos com suporte do SO (utilitários).
    • criação de programas
    • execução de programas
    • acesso E/S
    • acesso arquivos
    • acesso so sistema
    • detecção e reação a erros
    • monitoração

6

7 of 42

Tipos de Sistemas Operacionais

7

    • Classificados em interativos ou lote:
    • Interativo
        • Usuário interage através de interfaces (vídeo, teclado, mouse);
    • Lote
        • O programa é mantido junto com outros, esperando por um operador iniciá-lo
        • O resultado é impresso ao usuário

8 of 42

Tipos de Sistemas Operacionais

8

    • Multiprogramação
        • O objetivo é manter o processador ocupado, trabalhando em mais de um programa por vez.
        • Vários programas são carregados e o processador alterna entre eles.
    • Uniprogramação
        • O processador executa apenas um programa.

9 of 42

Uniprogramação

9

Lê um registro do arquivo

15 us

Executa 100 instruções

1 us

Grava um registro no arquivo

15 us

Total

31 us

Perc. Utilização CPU (1/31)

3,2 %

10 of 42

Multiprogramação

10

11 of 42

Multiprogramação

11

12 of 42

Histograma de utilização

12

13 of 42

Histograma de utilização

13

14 of 42

Efeitos da multiprogramação

14

15 of 42

Sistemas de tempo compartilhado

15

  • Permitem que os usuários interajam diretamente com o computador.
    • Ou seja, interativos.
  • Multiprogramação permite que uma série de usuários interajam com o computador.
  • A velocidade total será 1/n usuários

16 of 42

Tipos de Escalonamento

16

  • Chave para multiprogramação.

17 of 42

Escalonamento de longo prazo

17

  • Determina quais programas serão admitidos no sistema para processamento;
    • Critérios como prioridade, tempo de execução previsto e requisitos de E/S.
  • Determina o número de processos na memória;
    • Um processo pode ser um programa ou parte dele.
  • Uma vez admitido, ele vai para a fila de curto prazo ou médio prazo (depende do sistema).

18 of 42

Escalonamento de médio prazo

18

  • faz a troca entre processos na memória e no disco.�
  • Toma a decisão de acrescentar ou não ao número de processos que estão parcialmente ou totalmente na memória.�
  • Isto pode fazer com que um processo saia da memória principal para a memória virtual.

19 of 42

Escalonamento de curto prazo

19

  • Toma a decisão de qual processo disponível será executado pelo processador
  • Esta decisão é tomada baseado no estado do processo.
    • São cinco: Novo, pronto, em execução, suspenso e concluído.

20 of 42

Estados de processos

20

21 of 42

Estados de processos

21

  • Novo - foi admitido mas não está pronto.
  • pronto - está esperando pelo processador.
  • Em execução - já está sendo executado.
  • Suspenso- está em suspenso aguardando a resposta de um dispositivo.
  • concluído - terminou e será destruído.

22 of 42

Estados de processos

22

  • Para cada processo o SO mantém uma série de informações:�
  • Identificador – cada processo tem uma identificação exclusiva
  • Estado – Novo, pronto...
  • Prioridade – nível de prioridade relativo
  • PC
  • Ponteiros de memória – início fim do processo
  • Dados do contexto – são os dados presentes nos registradores durante a execução.
  • Informações de estado de E/S – quais estão sendo usados, requisições pendentes
  • Informações contábeis – tempo de execução, limites de tempos, etc

23 of 42

Exemplo de escalonamento

23

24 of 42

Exemplo de escalonamento

24

  • O SO está executando o processo “A”, que é parte de um programa (thread).
  • “A” pode ser interrompido por um pedido de e/s, interrupção.
  • O SO retoma o controle para executar o pedido de interrupção e suspende “A”.
  • Enquanto “A” espera o SO altera o contexto e retoma a execução de “B”.
  • Quando a requisição de “A” for atendida “B” pode ser suspenso e o controle passa para “A” novamente.

25 of 42

Principais elementos de um sistema operacional

25

26 of 42

Diagrama de filas do escalonamento de processador

26

  • Um processo sempre passa pelo escalonador de longo prazo esperando para se tornar um processo.
  • na fila de curto prazo ele espera pelos recursos para passar para o estado de pronto
  • os dispositivos de E/S também tem as suas filas
  • o SO define quando passa o controle para um processo e quando tomar de volta

27 of 42

Gerenciamento de memória

27

  • Uniprogramação:
    • Memória dividida em duas.
    • Uma para sistema operacional (monitor).
    • Uma programa atualmente em execução.
  • Multiprogramação:
    • Parte do “usuário” é subdividida e compartilhada entre processos ativos.

  • A subdivisão é feita pelo gerenciamento de memória.

28 of 42

Gerenciamento de memória

28

  • O gerenciamento precisa ser eficiente para manter o maior número possível de processos na memória.�
  • Se houverem poucos processos o processador fica ocioso esperando por E/S.

29 of 42

Swapping

29

  • atividades que envolvem E/S são lentos, por isso existem as filas;
  • Enquanto um processo necessita um E/S o processador executa outro processo;

30 of 42

Swapping

30

  • O que acontece se todos os processos carregados na memória necessitam de E/S que estejam ocupados?
    1. O processador pode ficar esperando?
      • Claro que não.
    2. A memória pode ser expandida?
      • Pode ser, mas...
        • O tamanho das aplicações aumentou e o custo das memórias diminuiu, então qual a vantagem?

31 of 42

Swapping

31

  • Swapping – armazenar filas em disco temporariamente para permitir que outros processos sejam carregados na memória dando a impressão de que temos memória ilimitada.
  • O disco é E/S (lento), porém o mais rápido de todos (normalmente), mesmo assim traz aumento de velocidade.

32 of 42

Particionamento

32

  • Os processos ocupam a memória, mas quanto?
  • O esquema mais simples de particionamento é o de tamanho fixo;
  • Os tamanhos diferentes tentam evitar o desperdício, porém ocorre;

33 of 42

Particionamento

33

34 of 42

Particionamento

34

  • Particionamento dinâmico aloca apenas as quantidades necessárias;
  • Cria buracos entre blocos alocados;
  • É necessário realizar uma desfragmentação (compactar) para evitar desperdício;
  • Se todos os processos estão bloqueados, uma troca é feita, o que pode gerar um buraco;

35 of 42

Realocação

35

  • Nenhuma garantia de que o processo será carregado no mesmo local na memória.
  • Instruções contêm endereços:
    • Localizações dos dados.
    • Endereços para instruções (desvio).
  • Endereço lógico – relativo ao início do programa.
  • Endereço físico – local real na memória (desta vez).
  • Conversão automática usando endereço de base.

36 of 42

Paginação

36

  • Memória dividida em pedaços pequenos de mesmo tamanho – frames de página.

  • Divide programas (processos) em pedaços pequenos de mesmo tamanho – páginas.

  • Aloca o número exigido de frames de página a um processo.

  • Sistema operacional mantém lista de frames livres.

  • Um processo não exige frames de página contíguos.

  • Usa tabela de página para registrar.

37 of 42

Paginação

37

38 of 42

Memória Virtual

38

  • Paginação por demanda:
    • Não exige todas as páginas de um processo na memória.
    • Traz páginas conforme a necessidade.
  • Falta de página:
    • Página exigida não está na memória.
    • Sistema operacional deve entrar com a página requisitada.
    • Pode ter que retirar uma página para criar espaço.
    • Seleciona página para remover com base na história recente.

39 of 42

Gerenciamento de E/S

39

  • E/S programada;
    • Controlado por acesso direto e contínuo do programa.
  • E/S controlada por interrupção;
    • Programa emite um comando de E/S, volta a executar e depois é interrompido por pelo hardware para sinalizar o fim da operação;
  • Acesso direto à memória (DMA);
    • Para mover grandes quantidades de dados as duas anteriores não ineficazes;
    • Um processador de E/S especializado assume o controle de uma operação para mover um grande bloco de dados.

40 of 42

Gerenciamento de E/S

40

41 of 42

Sistema Operacional de Tempo Real (RTOS)

41

42 of 42

Bibliografia

ARQUITETURA E ORGANIZAÇÃO DE COMPUTADORES, William Stallings, Makron Books, 5a edição, 2002.

Organização e Projeto de Computadores: a interface hardware/software, David A. Patterson, John L. Hennessy, Ed. Campus, 3a edição, 2005.

ORGANIZAÇÃO ESTRUTURADA DE COMPUTADORES, Andrew S. Tanenbaum, Ed. Prentice Hall (Pearson), 5a edição, 2007.

ARQUITETURA DE COMPUTADORES PESSOAIS, Raul Fernando Weber, Série Livros Didáticos do Instituto de Informática da UFRGS, Editora Sagra Luzzatto, 7a edição, 2000.

contato: julioruzicki@ifsul.edu.br

Site: https://sites.google.com/site/julioruzicki/home/arquitetura-de-computadores?authuser=0

 

42