Sistemas Operacionais Embarcados TE244
Avisos:
- A especificação do primeiro trabalho está disponível.
- Está disponível uma lista de exercícios para primeira prova. Bom estudo.
- Notas da primeira prova.
- A entrega do trabalho 1 foi adiada para 05/02/2013.
- Lista de presenças até 14/02/2013.
- O segundo trabalho será a lista de exercícios sobre filas. A entrega será no dia da prova.
- Notas do primeiro trabalho.
- Prova de segunda chamada: 19/03
18:30h Alterado para 20:30h. A prova será aplicada pela Prof. Gisele na sala PK1.
- Notas do Semestre e Lista de Presenças.
- As notas foram atualizadas com o resultado da prova de segunda chamada.
- As notas foram atualizadas com o resultado do exame final.
Lista de Temas Tratados nas Aulas
- Arquitetura básica de computadores. Processador. Barramento. Interrupções. Memória. Dispositivos de E/S.
- Organização básica do sistema operacional. Histórico de evolução dos sistemas operacionais e hardware.
- Escalonamento de processos. Sistemas batch. Sistemas de tempo compartilhado. Algoritmos de escalonamento. Princípios de escalonamento em sistemas de tempo real.
- Visualização de processos e comandos do sistema Unix.
- Concorrência e sincronização de processos. Problemas de concorrência. Alocação de recursos e deadlocks.
- Semáforos. Implementação em sistemas Unix.
- Sistemas de arquivos:
- Hardware de disco, bloco, cilindro, cabeças de leitura.
- Atributos de arquivos em sistemas Unix e Windows
- FAT - File Alocation Table
- Implementação com Nós I
- NTFS (NT File System)
- Segurança: princípios de criptografia. Armazenamento de senhas.
- Avaliação de desempenho de sistemas. Introdução à teoria de filas.
- 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 das provas:
- P1- 20/12/2012
- P2- 14/03/2013
- Segunda chamada: 19/03 18:30h
- Exame Final- 21/03/2013
Especificação de Trabalhos
- Trabalho 1. Data de Entrega:
21/12/2012 Adiado para 5/02/2013
- Trabalho 2 . Lista de exercícios sobre filas. Data de entrega: 14/03/2013.
Exemplos vistos em sala
- Programa consumidor de CPU
- Programa consumidor de CPU versão multi-thread
- Comandos Unix - Processos
- Exemplo de problema com condições de corrida. Para compilar, use gcc -o ex1 ex1.c -pthread
- Solução para o problema acima utilizando semáforo. Para compilar, use gcc -o ex1-solucao ex1-solucao.c -pthread -lrt
- Simulação do problema produtor-consumidor. Neste exemplo, 2 produtores e 1 consumidor.
- Simulação do problema do jantar dos filósofos. A simulação usa semáforos para representar os garfos.
Listas de Exercícios
- Lista de Exercícios para prova 1
Referências
- TANENBAUM, A. S. Sistemas Operacionais Modernos. Ed. Pearson Prentice-Hall.
- SILBERCHATZ, A., J. L. Peterson. Sistemas Operacionais . Ed. Pearson Prentice-Hall.
- TANENBAUM, A. S. e A.S. Woodhull. Sistemas Operacionais - Projeto e Implementação. Ed. Bookman.
- DAVIS, W. S. Sistemas Operacionais. Ed. Campus.
- SHAY, W. A. Sistemas Operacionais. Ed. Makron Books
- MAZIERO, C. Sistemas Operacionais. On line: http://dainf.ct.utfpr.edu.br/~maziero/doku.php/so:livro_de_sistemas_operacionais
Curiosidades
- 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