Ministério da Educação UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ Campus Curitiba PLANO DE ENSINO CURSO Engenharia Eletrônica MATRIZ FUNDAMENTAÇÃO LEGAL Portaria de Reconhecimento nº 756 – MEC 03/09/2007 DISCIPLINA/UNIDADE CURRICULAR Sistemas Operacionais PRÉ-REQUISITO EQUIVALÊNCIA CÓDIGO PERÍODO IF66D 7o. CARGA HORÁRIA (horas) Teórica Prática Total 30 30 60 EL66C - Arquitetura e organização de computadores OBJETIVOS Visão geral de sistemas operacionais: objetivos, tipos, funcionalidades, estrutura interna, arquiteturas, mecanismos de hardware utilizados, visão geral de Unix e Linux. Gerência de tarefas: contextos e processos, threads, escalonamento de tarefas. Comunicação entre tarefas: tipos de comunicação, mecanismos intra- e inter-processos. Coordenação entre tarefas: concorrência, condições de disputa, algoritmos básicos, semáforos, variáveis de condição, monitores, problemas clássicos, impasses. Estruturas de memória: tipos de memória, endereços físicos e lógicos, estrutura interna de um processo, segmentação, paginação, compartilhamento, localidade de referências, memória virtual, algoritmos de substituição de páginas. Gerência de arquivos: o conceito de arquivo, atributos e operações, formatos de arquivos, semânticas de acesso, compartilhamento, nomeação e caminhos, diretórios, sistemas de arquivos, caching, alocação de arquivos, gerência de espaço livre. Sistemas de entrada e saída: dispositivos de entrada/saída, barramentos e interfaces, estratégias de interação, software de entrada/saída, drivers, principais sub-sistemas. EMENTA Componentes e Estrutura. Processos. Gerenciamento de Memória. Sistema de Arquivos. Dispositivos de I/O. Comunicação, Concorrência e Sincronização de Processos. CONTEÚDO PROGRAMÁTICO ITEM EMENTA 1 Componentes e Estrutura. 2 Processos. 3 Gerenciamento de Memória. 4 Sistema de Arquivos. 5 6 Dispositivos de I/O. Comunicação, Concorrência e Sincronização de Processos. ANO/SEMESTRE CONTEÚDO 1.1 Definição 1.2 Multiprogramação 1.3 Hierarquia de memória 1.4 Chamadas de sistema 1.5 Estrutura 2.1 Modelo conceitual 2.2 Estados 2.3 Implementação 2.4 Threads 2.5 Escalonamento 3.1 Partições fixas 3.2 Paginação 3.3 Segmentação 4.1 Nomeação 4.2 Atributos 4.3 Implementação 5.1 I/O separada da memória 5.2 I/O mapeada em memória 5.3 I/O programada 5.4 Interrupções 5.5 DMA 6.1 Deadlocks. 6.2 Região critica 6.3 Exclusão Mútua 6.4 Semáforo 6.5 Problemas clássicos de sincronização PROFESSOR TURMA Prof. Luiz Fernando Copetti S11 CARGA HORÁRIA (aulas) 2015/01 AT 34 AP 34 APS 4 AD X Total 72 AT: Atividades Teóricas, AP: Atividades Práticas, APS: Atividades Práticas Supervisionadas, AD: Atividades a Distância. DIAS DAS AULAS PRESENCIAIS Dia da semana Segunda 68 Número de aulas no semestre Terça Quarta Quinta Sexta PROGRAMAÇÃO E CONTEÚDOS DAS AULAS (PREVISÃO) Dia/Mês Conteúdo das Aulas 23/03/2015 23/03/2015 30/03/2015 30/03/2015 06/04/2015 06/04/2015 13/04/2015 13/04/2015 20/04/2015 27/04/2015 27/04/2015 04/05/2015 04/05/2015 11/05/2015 11/05/2015 18/05/2015 18/05/2015 25/05/2015 25/05/2015 01/06/2015 01/06/2015 08/06/2015 08/06/2015 15/06/2015 15/06/2015 22/06/2015 29/06/2015 29/06/2015 06/07/2015 06/07/2015 13/07/2015 13/07/2015 20/07/2015 20/07/2015 Introdução aos Sistemas operacionais. Prática: apresentação ao sistema LINUX, procedimentos para login e uso remoto Estruturas de sistema operacional Prática: Desenvolvimento em Linux, Proposição da P0: Biblioteca de filas. Apresentação do PING PONG OS Processos / Threads. Exemplos de criação de ambos. Prática: P1 – Trocas de contexto e P2 – Biblioteca de tarefas Escalonamento de CPU / Gestão de processos em UNIX Prática: P3 – Despachante de tarefas / P4 – escalonamento por prioridades Recesso Comunicação inter-processos (IPC). Prática: Message-queues e shared-memory Sincronização Prática: Exclusão mútua. P5 – Preempção e compartilhamento do tempo, P6 – Contabilização de tarefas. Problemas clássicos de coordenação; impasses. Exemplo: jantar dos filósofos. Proposição da APS – Atividade prática supervisionada: _ APS: a apresentação da proposta da APS deve ser feita em um arquivo powerpoint (que será utilizado na apresentação dia 25/05/15). Este arquivo deve entregue no Moodle até domingo 24/05/15. _ Especificação mínima: a) Aplicação baseada em processadores Cortex-M3 ou Cortex-M4, com sistemas operacionais tais como FreeRTOS ou TI-Rtos. b) Mínimo de 4 threads, com comunicação entre si. Utilização de filas de mensagens e/ou semáforos c) Comunicação com um PC, para mostra de resultados e/ou coleta de ações de um usuário. d) Mínimo de um sensor e um atuador _ Segue anexa a proposta do aluno Felipe Sales, que fez esta disciplina há algum tempo. _ Equipes de no máximo 2 pessoas. Prática: Implementação em C de solução para o problema do jantar dos filósofos. Estruturas de memória. Principais conceitos referentes à memória principal em computadores. Localização de variáveis e constantes Práticas: P7 - Tarefa main; P8 – operador Join; P9 – Task sleep; P10 – Construção de semáforos Primeira avaliação Defesa dos projetos apresentados como APS Memória Virtual Acompanhamento de projetos Entrada e saída. Revisão da 1ª parcial. Interface e implementação de sistemas de arquivos. Acompanhamento de projetos. Segunda avaliação Correção da 2ª avaliação. Acompanhamento de projetos. Acompanhamento de projetos / início da recuperação Prática: P11 – Uso de semáforos; P12 – Filas de mensagens 2ª chamada Acompanhamento de projetos Recuperação de avaliação Apresentação da APS Sábado 4 - APS N. Aulas 2 2 2 2 2 2 2 2 0 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 4 2 2 2 2 2 2 2 2 PROCEDIMENTOS DE ENSINO AULAS TEÓRICAS Aulas discursivas O Professor assessorará os alunos para que apreendam o conteúdo através da apresentação de slides do livro do professor Silberschatz (2ª referência, ver abaixo). AULAS PRÁTICAS Atividades práticas ser~!ao programadas em paralelo com as aulas discursivas. Tais atividades compõem-se de dois grupos principais: 1) tarefas curtas associadas diretamente aos conteúdoa apresentados; 2) Construção de um sistema operacional simples. ATIVIDADES PRÁTICAS SUPERVISIONADAS A APS (apresentada no dia 11/05) é uma oportunidade de uso de um SO simples em um problema real. ATIVIDADES A DISTÂNCIA Não há aulas à distância. PROCEDIMENTOS DE AVALIAÇÃO As avaliações fundamentais consistirão de 2 prova escritas e 1 trabalho prático. As atividades práticas serão parte destas avaliações. - A média das parciais será calculada pela média aritmética das duas parciais. - Haverá recuperação de nota na forma de uma avaliação escrita de todo o conteúdo do semestre. Esta avaliação comporá 60% da nota de recuperação. Os outros 40% serão provenientes da P12 (apresentada em 6/7/15) - Os alunos que não prestarem exame de recuperação terão a média das parciais como média final. Os alunos que prestarem o exame de recuperação terão como média final a média aritmética entre a nota obtida pela média aritmética das parciais e a nota do exame de recuperação. Entretanto, o aluno poderá solicitar ao Professor que desconsidere a nota do exame, deixando apenas a média das parciais como média final, caso isto lhe convenha. - O estudante que obter média final maior ou igual a 6 será aprovado. REFERÊNCIAS Referências Básicas: 1. Tanenbaum, A: Sistemas Operacionais Modernos, 2a ed., Pearson, Prentice Hall, 2003. 2. Silberschatz, A; Galvin, peter; Gagne, Greg: Sistemas Operacionais, Conceitos e Aplicações. 1a ed., Ed. Campus, 2000. 3. SILBERSCHATZ, Abraham; GALVIN, Peter B.. Operating system concepts. 5th ed. Reading: Addison-Wesley, 1998. 888 p. Referências Complementares: 4. MACHADO, Francis Berenger; MAIA, Luiz Paulo. Arquitetura de sistemas operacionais. 3. ed. Rio de Janeiro: LTC, 2002. 311 p. ORIENTAÇÕES GERAIS Freqüência mínima às aulas: 75% do total de aulas ministradas. Assinatura do Professor Assinatura do Coordenador do Curso