Software Básico Apresentação do curso (2008/2) Prof.: Jussara Almeida Expectativas Este curso É sobre... Este curso NÃO É sobre... • Princípios e conceitos gerais, exemplificados por certos dispositivos • Análise detalhada de dispositivos específicos já existentes • Linguagem assembly em geral • Linguagem assembly de processadores específicos • Perspectiva do Software • Perspectiva do Hardware • Projeto e implementação • Teoria de linguagens de sistemas Expectativas • As aulas discutem os pontos principais ° mas definitivamente não são toda a história ° por indução, muito menos as tranparências • Os alunos são responsáveis pelo conteúdo do livro texto para completar a figura ° exceto pelas seções explicitamente excluídas Bibliografia “Organização Estruturada de Computadores”, Andrew Tanenbaum, 5a. edição, Prentice Hall, 2006. • Outras referências ° Organização e Arquitetura de Computadores, William Stallings, Prentice Hall, 2005. ° Livros de arquitetura de Hennessy e Patterson Avaliação (sujeita a mudanças) • Provas ° 3 provas (15 + 15 + 20 = 50 pontos) • Listas de exercícios ° 3 listas preparatórias para provas, 3 pontos cada • Trabalhos práticos ° 3 trabalhos de 15 pontos Trabalhos práticos • Práticas em assembly e desenvolvimento de sistemas ° Exercitam conceitos teóricos e programação de sistemas • Três trabalhos ° a definir • Linguagem: ANSI C/C++ (só bibliotecas padrão) Trabalhos práticos • Prazos planejados para a carga de trabalho prevista • Entrega eletrônica (código): até as 12:00 (não 24:00) • Relatório deve fazer parte da entrega eletrônica • Trabalhos atrasados serão penalizados severamente ° - 12,5 %, -25 %, -50 %, -75 %, -100 % • Comece a fazer cada trabalho assim que ele for definido!!! Objetivos • Discutir a influência do software no projeto do hardware ° Como os requisitos de um influenciam no outro • Torná-los programadores mais eficazes ° Através da compreensão dos requisitos da máquina • Ensinar a programação direta de dispositivos ° E a ligação desses com o sistema operacional • Programar os sistemas básicos responsáveis pela execução de programas Enfim... • Este não é um curso difícil ° o volume de conceitos envolvidos é variado ° o volume de trabalhos práticos é limitado ° não deixem os problemas crescerem para só depois procurar ajuda! • Programar sistemas costuma ser inebriante e pode viciar ° cuidado com a “síndrome do programador compulsivo”!