ESCOLA DE ENGENHARIA DE PIRACICABA FUNDAÇÃO MUNICIPAL DE ENSINO PLANO DE ENSINO CURSO: CIÊNCIA DA COMPUTAÇÃO CÓDIGO: 1530710/1530701 REGIME: Semestral NOME: Sistemas Operacionais I PERÍODO LETIVO: Primeiro Semestre Professor: José Luís Zem ANO LETIVO: 2009 Seriação: Semestral Créditos: 4 Carga Horária Total: 60 EMENTA Introdução aos sistemas operacionais. Gerenciamento de Processos. Gerenciamento de CPU. Sistemas Operacionais monotarefa/multitarefa/multiusuário. OBJETIVOS Capacitar o aluno a conhecer a arquitetura e os principais conceitos envolvidos em um sistema operacional. Fazer com que o aluno conheça o que é um sistema operacional, bem como suas estruturas, seus tipos, serviços e aplicabilidades. Fazer com que o aluno conheça o que é processo e como o sistema operacional faz para gerenciar os mesmos quanto à criação, eliminação, seleção, sincronização, comunicação, prevenção e escalonamento. Capacitar o aluno a distinguir todos os conceitos vistos na disciplina em um sistema operacional real. METODOLOGIA A disciplina necessita de conhecimentos prévios sobre Arquitetura de Computadores e Linguagem de Programação C e complementa as disciplinas das áreas de Redes de Computadores e Sistemas Distribuídos. As aulas serão teóricas e práticas com utilização de laboratório. Existirão algumas leituras obrigatórias e complementares. Poderão existir Listas de Exercícios para fixação dos conceitos apresentados durante as aulas, sendo que tais listas não serão utilizadas para compor o cálculo da nota final. Ocorrerão duas Avaliações Escritas Regulares (individuais), o desenvolvimento de um Projeto Prático (em grupo) e uma Avaliação Substitutiva (individual). A Avaliação Substitutiva irá substituir uma das Avaliações Escritas Regulares, em especial aquela de menor nota. Somente poderão realizar a Avaliação Substitutiva aqueles que não realizaram alguma das Avaliações regulares ou não atingiram a média de aprovação. O Projeto Prático deverá ser desenvolvido em grupos utilizando-se o sistema operacional Linux e o GCC. CONTEÚDO 1. Introdução aos Sistemas Operacionais Definição de um Sistema Operacional Sistemas de Grande Porte Sistemas Desktop Sistemas Multiprocessados Sistemas Distribuídos Sistemas de Tempo Real Sistemas de Assistentes Pessoais Ambientes Computacionais 2. Estruturas de Sistemas de Computação Operação do Sistema de Computação Estruturas de I/O Estrutura de Armazenamento Hierarquia de Armazenamento Proteção de Hardware Arquitetura Geral do Sistema 3. Estruturas de Sistemas Operacionais Componentes do Sistema Serviços do Sistema Chamadas do Sistema Programas do Sistema Projeto de Sistemas Implementação de Sistemas Geração de Sistemas 4. Processos e Threads Conceito de Processo Escalonamento de Processos Operações em Processos Processos Cooperantes Comunicação em Sistemas Cliente-Servidor Introdução ao threads Modelos de multithreading 5. Escalonamento de CPU Conceitos Básicos Critérios de Escalonamento Algoritmos de Escalonamento Escalonamento em Ambiente Multiprocessado Escalonamento em Tempo Real BIBLIOGRAFIA BÁSICA SILBERSCHATZ, A. e GALVIN, P. e GAGNE, G. Sistemas Operacionais: Conceitos e Aplicações - Rio de Janeiro: Campus, 2000. TANENBAUM, A. S. Sistemas Operacionais Modernos. São Paulo: Pearson/Prentice Hall, 2003. BIBLIOGRAFIA COMPLEMENTAR MACHADO, F. B. e MAIA, L. P. Arquitetura de Sistemas Operacionais. Rio de Janeiro: LTC, 2002. SHAY, W. A. Sistemas Operacionais. São Paulo: Makron Books, 1996. DEITEL, Harvey e DEITEL, Paul J. e CHOFFNES, David R.. Sistemas Operacionais. São Paulo: Pearson/Prentice Hall, 2005. SILBERSCHATZ, Abraham e GALVIN, Peter B. e GAGNE, Greg – Sistemas Operacionais com Java – Rio de Janeiro: Editora Elsevier/Campus, 2008. SCHILDT, Herbert – C Completo e Total – 3ª Edição – São Paulo: Pearson Education do Brasil, 1996. CRONOGRAMA PLANEJADO (passível à mudanças) 1ª. semana 2ª. semana 3ª.semana 4ª.semana 5ª.semana 6ª.semana 7ª.semana 8ª.semana 9ª.semana 10ª.semana 11ª.semana 12ª.semana 13ª.semana 14ª.semana 15ª.semana 16ª.semana 17ª.semana 18ª. semana 19ª. semana 20ª. semana Data 11/02 18/02 25/02 04/03 11/03 18/03 25/03 01/04 08/04 15/04 22/04 29/04 06/05 13/05 20/05 27/05 03/06 10/06 17/06 24/06 Assunto Apresentação e Discussão do Plano de Ensino e do Projeto Prático da Disciplina. Introdução aos Sistemas Operacionais (i). Recesso. Introdução aos Sistemas Operacionais (ii). Estruturas de Sistemas de Computação (i). Estruturas de Sistemas de Computação (ii). Estruturas de Sistemas de Computação (iii) e data-limite para informar a equipe. Estruturas de Sistemas Operacionais (i). Estruturas de Sistemas Operacionais (ii). Estruturas de Sistemas Operacionais (iii). Primeira Avaliação Regular. Processos e Threads (i). Processos e Threads (ii). Processos e Threads (iii). Escalonamento de CPU (i). Escalonamento de CPU (ii). Escalonamento de CPU (iii). Segunda Avaliação Regular. Avaliação Substitutiva e Entrega do Projeto Prático. Apresentação do Projeto Prático. METODOLOGIA DE AVALIAÇÃO Serão aplicadas duas Avaliações Escritas (individuais) e um Projeto Prático (desenvolvido em equipe). A nota final do semestre será obtida pela expressão: (Primeira Avaliação * 0,4) + (Segunda Avaliação * 0,4) + (Projeto Prático * 0,2) A nota de aprovação ou reprovação seguirá os critérios adotados pela instituição.