UFPR · DELT · Contact
Sistemas Operacionais Embarcados TE244

Avisos
  1. Bem vindo à página da disciplina TE244 Sistemas Operacionais Embarcados.
  2. No dia 13/10 a atividade será assistir a palestra do Eng. Lindolfo Zimmer, presidente da Copel, a partir das 18h30min no Auditório do setor de Tecnologia.
  3. Notas finais.
  4. Estarei no meu gabinete na quinta-feira as 19h para quem quiser ver a segunda prova. O exame final está agendado para o dia 8/10, no horário da aula normal (19h), na sala PK1.
  5. Prova de segunda chamada: Herique Menin Russo - 62
  6. Notas finais, incluindo o exame.

Lista de Temas Tratados nas Aulas
  1. Arquitetura básica de computadores. Processador. Barramento. Interrupções. Memória. Dispositivos de E/S.
  2. Organização básica do sistema operacional. Histórico de evolução dos sistemas operacionais e hardware.
  3. Escalonamento de processos. Sistemas batch. Sistemas de tempo compartilhado. Algoritmos de escalonamento. Princípios de escalonamento em sistemas de tempo real.
  4. Visualização de processos e comandos do sistema Unix.
  5. Concorrência e sincronização de processos. Problemas de concorrência. Alocação de recursos e deadlocks.
  6. Semáforos. Implementação em sistemas Unix.
  7. Gerência de Memória.
  8. Sistemas de arquivos:
    1. Hardware de disco, bloco, cilindro, cabeças de leitura.
    2. Atributos de arquivos em sistemas Unix e Windows
    3. FAT - File Alocation Table
    4. Implementação com Nós I
    5. NTFS (NT File System)
  9. Segurança: princípios de criptografia. Armazenamento de senhas.
  10. Sistema Embarcado Android

Critérios de avaliação

Média do semestre:
(P1+P2+T1+T2)/4
P1- Prova1, P2- Prova2, T1- Trabalho 1, T2- Trabalho 2


Datas de provas

Especificação de trabalhos
  1. Trabalho 1. Data de entrega: 2/10/2014.
  2. Trabalho 2. Data de entrega: 27/11/2014.

Exemplos apresentados em aula
  1. Programa consumidor de CPU
  2. Exemplo Fork
  3. Programa consumidor de CPU versão multi-thread
  4. Comandos Unix - Processos
  5. Exemplo de problema com condições de corrida. Para compilar, use gcc -o ex1 ex1.c -pthread
  6. Solução para o problema acima utilizando semáforo. Para compilar, use gcc -o ex1-solucao ex1-solucao.c -pthread -lrt
  7. Simulação do problema produtor-consumidor. Neste exemplo, 2 produtores e 1 consumidor.
  8. Solução para o problema acima utilizando semáforos. Para compilar, use gcc -o produtor-consumidor produtor-consumidor.c -pthread -lrt
  9. Simulação do problema do jantar dos filósofos. A simulação usa semáforos para representar os garfos.

Listas de Exercícios
  1. Exercícios 1.

Referências
  1. TANENBAUM, A. S. Sistemas Operacionais Modernos. Ed. Pearson Prentice-Hall.
  2. SILBERCHATZ, A., J. L. Peterson. Sistemas Operacionais . Ed. Pearson Prentice-Hall.
  3. TANENBAUM, A. S. e A.S. Woodhull. Sistemas Operacionais - Projeto e Implementação. Ed. Bookman.
  4. DAVIS, W. S. Sistemas Operacionais. Ed. Campus.
  5. SHAY, W. A. Sistemas Operacionais. Ed. Makron Books
  6. MAZIERO, C. Sistemas Operacionais. On line: http://dainf.ct.utfpr.edu.br/~maziero/doku.php/so:livro_de_sistemas_operacionais

Links
  1. Escalonamento de processos no Linux 1. Escalonamento de processos no Linux 2. Escalonamento de processos no Linux 3.
  2. Escalonamento de processos no Windows.
  3. Padrão POSIX.
  4. Design and Implementation of the Second Extended Filesystem
  5. Linux File System (EXT2)
  6. Organização de diretórios no Unix.
  7. Microsoft TechNet: How NTFS works.
  8. Microsoft TechNet: How FAT works.
  9. Métodos de criptografia clássica.

Curiosidades
  1. Em 1997 pousou em Marte uma sonda da NASA, na missão chamada Mars Pathfinder. Inicialmente, tudo parecia bem até que o sistema embarcado começar a apresentar problemas. O watch dog do sistema detectava problemas e produzia uma reinicialização geral de tempos em tempos. O problema foi debugado e solucionado. A questão central foi um problema de inversão de prioridades, levando a resultados inesperados e perda de deadlines das tarefa no escalonamento de tarefas pelo sistema operacional embarcado. Para obter mais informações: http://research.microsoft.com/en-us/um/people/mbj/Mars_Pathfinder/Mars_Pathfinder.html e http://en.wikipedia.org/wiki/Priority_inversion