Roteiro de Aulas - Sistemas Operacionais

6/3

Apresentação do Curso

11/3

Introdução: histórico de sistemas operacionais

Estrutura de Sistemas Operacionais

referência: Silberschatz, Cap. 1, 3.1, 3.2, 3.3, 3,4 e 3.5

13/3

Processos

  1. o modelo de processos
  2. contexto: contador de programa, registradores, pilha, etc
  3. multiprogramação e troca de contexto
  4. estados e transições

Criação de novos processos

referência: Silberschatz, 4.1, 4.2, 4.3

18/3

Processos

Criação de novos processos (revisão)

Comunicação entre Processos

Mecanismos de Troca de Mensagens

  1. como designar o destinatário?
  2. comunicação síncrona e assíncrona
  3. bufferização

Exemplo no Unix: pipes

referência: Silberschatz, 4.5, e Stevens , 3.4, para pipes.

25/3

pipes (continuação)

Threads

Motivação

Implementações

threads e processos

referência: Silberschatz, 5.1, 5.2, 5.3, 5.4, 5.5.

27/3

Escalonamento de Processos

Conceitos Básicos

Critérios (métricas) para o Escalonamento

Algoritmos de Escalonamento

  1. FCFS
  2. escalonamento por rodízio (round-robin)
  3. escalonamento por prioridades

referência: Silberschatz, 6.1, 6.2, 6.3.

1/4

Escalonamento de Processos (cont.)

Escalonamento com múltiplos processadores

Escalonamento de Tempo Real

Escalonamento no Solaris

referência: Silberschatz, 6.4, 6.5, 6.6.

3/4

Sincronização entre Processos

Exclusão Mútua

Uma solução de exclusão mútua deve ter as propriedades:

Soluções baseadas apenas em variáveis compartilhadas

referência: Silberschatz, 7.1, 7.2, 7.4.

8/4

Descrição do Trabalho 1

Semáforos

Podemos definir um semáforo como um objeto com valor inteiro sobre o qual três operações são definidas:

  1. A operação inicia atribui um valor não negativo ao semáforo;
  2. A operação P (ou wait) decrementa o valor inteiro. Caso o valor se torne negativo, o processo que está executando P se torna bloqueado;
  3. A operação V (ou post) incrementa o valor inteiro; caso o resultado seja não positivo, um dos processos bloqueados em P é desbloqueado (se torna pronto).

referência: Silberschatz, 7.5.1, 7.5.2.

10/4

Uso de semáforos

  1. exemplo da região crítica (exclusão mútua)
  2. exemplo do buffer limitado (sinalização e exclusão mútua)
    1. limitadíssimo (1 posição)
    2. limitado (buffer de MAX posições)
  3. problema dos filósofos

referência: Silberschatz, 7.6.1, 7.6.3.

15/4

Monitores

Usos de Monitores

  1. Buffer limitado
  2. outros

referência: Silberschatz, 7.7.

24/4

Usos de Monitores (cont)

referência: Silberschatz, 7.6.2, 7.8.3.

29/04

Prova 1

6/5

Deadlocks

referência: Silberschatz, Cap. 8.

8/5

Gerência de Memória

Mapeamento de endereços lógicos a físicos

pode ser feita:

Overlays

Swapping

Espaço de endereçamento de processos "swapped out" da memória principal para disco para possibilitar a carga de outro processo.

referência: Silberschatz, 9.1, 9.2.

13/5

Gerência de Memória

Alocação Contígua de Memória

Paginação

referência: Silberschatz, 9.3, 9.4.1, 9.4.2, 9.4.3.

15/5

Gerência de Memória

Paginação

Segmentação

referência: Silberschatz, 9.4.5, 9.5.

Memória Virtual

20/05

Gerência de Memória

Memória Virtual

referência: Silberschatz, 10.1, 10.2.

22/05

Gerência de Memória

Memória Virtual

referência: Silberschatz, 10.3.

27/05

Memória Virtual

referência: Silberschatz, 10.4, 10.5.

29/05

3/06

entrega do trabalho 1

5/06

Sistemas de Arquivos

referência: Silberschatz, 11.1, 11.2, 11.3, 11.4.1, 11.4.2.

10/06

Sistemas de Arquivos (cont)

Estrutura Interna do Sistema

referência: Silberschatz, 11.5, 11.6.1, 11.6.2, 11.6.3, 11.7.

12/06

17/06

24/06

Exemplo de Sistema de Arquivos: UNIX

referência: Silberschatz, 20.7.