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.
Média do semestre:
(P1+P2+T)/3
P1- Prova1, P2- Prova2, T- Média nos Trabalhos
Datas de provas
Prova 1: 17/04/2017
Prova 2: 21/06/2017
Exame Final: 03/07/2017
Especificação de trabalhos
Primeiro Trabalho. Realizar uma comparação técnica entre dois servidores disponíveis no mercado: (I) DELL Poweredge 730 e (II) HP ProLiant ML 110 Gen 9. Devem ser analisadas as especificações técnicas dos servidores nos quesitos processador, cache, memória, arquitetura, disco e periféricos. O relatório deve contemplar a análise dos diversos elementos e o impacto no desempenho do sistema, bem como as possibilidades de expansão.
O relatório deve ser entregue em 15/03 e pode ser realizado em equipes de até 2 alunos.
Terceiro Trabalho. Realizar a aquisição de dados das entradas analógicas e digitais do kit Intel Galileo utilizando leituras no \dev do sistema operacional Linux Yocto nativo do sistema
O relatório deve ser entregue em 15/05 e pode ser realizado em equipes de até 2 alunos.
Quarto Trabalho. Utilizando o kit Intel Galileo, fazer a aquisição da imagem de uma Webcam conectada à USB e transmitir utilizando protocolo SMTP/TCP/IP (correio eletrônico) para um endereço previamente cadastrado. O envido deve ser realizado quando for acionado um push button conectado à uma das entradas do kit.
Agora hackers estão invadindo software embarcado - o último caso foi um Jeep Cherokee (junho de 2017). Os hackers invadiram o sistema via uma conexão Wifi, acionaram o ar-condicionado, rádio e o limpador de para-brisa. Depois, o carro foi desligado na Interstate 64 (US) - a invasão foi um teste combinado - veja mais em http://www.wired.com/2017/07/hackers-remotely-kill-jeep-highway/. Ainda este ano, um homem foi preso pelo FBI por supostamente enviar comandos para os motores a partir do sistema de entretenimento de certas aeronaves frabricadas pela Boing e Airbus (veja em http://edition.cnn.com/2017/05/17/us/fbi-hacker-flight-computer-systems/. Boing e Airbus negam problemas.
Em 1998 a NASA lançou a missão Mars Climate Orbiter, que deveria estudar a atmosfera, o clima e as alterações na superfície de Marte, assim como agir como relay na comunicação com um módulo de superfície. Em 23 de setembro de 1999 a sonda deveria entrar em órbita do planeta vermelho. No entanto, o computador de bordo comandou uma órbita muito baixa que mergulhou a sonda na atmosfera, resultando na destruição da sonda. O responsável pelo desastre foi uma interface entre dois sistemas: um produziu uma saída com unidades compatíveis com o SI (Sistema International), em libras-segundo e os dados foram alimentados como entrada em outro sistem que utilizava o sistema internacional em Newtons-segundo.
O primeiro lançamento do foguete Ariane 5 foi realizado em 4 de junho de 1996, com uma carga de 500 milhões de dólares. Após 37 segundos de vôo o foguete teve que ser destruido devido a completa perda de controle. Os projetistas de software reusaram porções do código do Ariane 4. Em uma operação de conversão de ponto flutuante, especificamente um número de 64 bits que representava a velocidade horizontal do foguete em relação à plataforma, convertido em um número de 16 bits. Esta conversão funcionou no Ariane 4, mas a velocidade do Ariane 5 era maior, o que levou os dois computadores responsáveis pela guiagem do foguete a travarem. Depois disso, o computador de bordo (que não deveria tormar decisões nesta fase do lançamento) começou a tentar controlar o foguete e o tirou do curso. Veja um artigo em http://www.around.com/ariane.html
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