PONTIFÍCIA UNIVERSIDADE CATÓLICA DE CAMPINAS PLANO DE ENSINO DA DISCIPLINA CENTRO DE CIÊNCIAS EXATAS, AMBIENTAIS E DE TECNOLOGIAS CURSO: ENGENHARIA DE COMPUTAÇÃO DISCIPLINA: SISTEMAS OPERACIONAIS B CÓDIGO: 05440 N DE HORAS SEMANAIS: 02 teóricas e 02 práticas PERÍODO: 6º TURNO: MATUTINO DOCENTE(S): Carlos Miguel Tobar Toledo 1. EMENTA: Camadas do sistema operacional envolvidas com controle de E/S. 2. OBJETIVOS: 2.1. Objetivo Geral Permitir ao aluno a oportunidade de conhecer, projetar e desenvolver software, como aquele encontrado nas camadas mais internas de um Sistema Operacional. 2.2. Objetivos Específicos Permitir ao aluno utilizar mecanismos de IPC (Inter Process Communication), estruturas de dados dinâmicas e interfaces com o hardware. Permitir ao aluno aprender sobre o controle e administração de dispositivos de entrada e saída. Permitir ao aluno aprender sobre escalonamento de processos multimídia. Permitir ao aluno alterar o fonte de um sistema operacional. Permitir ao aluno trabalhar com máquina virtual. 3. CONTEÚDO PROGRAMÁTICO Princípios do HW de E/S Dispositivos de E/S; Controladores de dispositivos; E/S mapeada em memória; Interrupções revisitadas; Princípios do SW de E/S Objetivos do SW de E/S; E/S programada; E/S usando interrupção; E/S usando DMA Camadas do SW de E/S Tratadores de interrupção; Drivers dos dispositivos; SW de E/S independente de dispositivo; SW de E/S do espaço do usuário; Discos HW do disco (discos magnéticos, RAID, CD-ROMs, CDs graváveis, CDs regraváveis, DVD); Formatação de disco; Algoritmos de escalonamento de disco; Tratamento de erros; Armazenamento estável; Relógios HW do relógio; SW do relógio; Temporizadores por SW; Interface com o usuário: teclado, mouse, monitor SW de entrada; SW de saída (Janelas de texto, O Sistema X-Windows, Interfaces gráficas do usuário, Mapas de bits, Fontes); Clientes magros; Gerenciamento de energia Questões de HW; Questões do sistema operacional (Monitor, Disco rígido, CPU, Memória, Comunicação sem fio, Gerenciamento térmico, Gerenciamento 1
de bateria, Interface do driver); Questões dos programas de aplicação; Introdução à multimídia; Escalonamento de processos multimídia 4. METODOLOGIA A disciplina é teórica prática e terá notas diferenciadas para cada tipo de atividade. Isso não significa, no entanto, que a parte prática não esteja integrada à teoria. A integração pode se dar nos dois sentidos, ou seja, o estudante pode começar a trabalhar com um determinado tópico em uma aula prática, antes do mesmo ter sua conceituação detalhada em uma aula teórica, ou vice-versa. A disciplina será ministrada através de aulas expositivas (parte teórica), com uso de quadro branco e equipamento multimídia para projeção. Será disponibilizado material de apoio na área de FTP do professor. Para a parte prática, será desenvolvido um trabalho de implementação em laboratório e cobrada a sua apresentação em conjunto com documentação. Além dos momentos específicos para revisão e resolução de exercícios, as atividades para discussão e resolução podem ser realizadas fora da sala de aula, preferencialmente, através de comunicação via computador. O aprendizado por parte do estudante pode ocorrer em diferentes momentos através de diferentes estratégias: - Preparando o assunto a ser visto em aula teórica, através da leitura dos livros de referência. - Resolvendo os exercícios da aula teórica, antes da mesma. A idéia é que, baseados nos exercícios disponibilizados previamente à aula, os estudantes tragam dúvidas, conhecimentos e mal-entendimentos para serem encaminhados junto com o professor. - Participando da aula teórica, apresentando dúvidas e dificuldades, tendo ou não preparado a aula através de leitura e/ou exercícios. - Realizando o desenvolvimento em laboratório. - Participando das discussões nos dias de apresentação no laboratório. - Realizando as provas nas aulas teóricas. - Acompanhando a correção das provas nas aulas teóricas. Provas servirão como termômetro tanto para os estudantes como para o professor. O trabalho de implementação compõe-se da modificação do sistema operacional Minix, realizada através do uso da re-engenharia. O produto final deve abordar alguma funcionalidade relacionada com entrada e saída, na camada independente de dispositivo, responsável por tratar os aspectos relacionados ao sistema de arquivos. Também poderá abordar rotinas da gerência de memória e da gerência de processos. O trabalho é para ser desenvolvido individualmente, com orientações do professor. 2
Os alunos devem entregar subprodutos que são documentos. O desenvolvimento dos subprodutos é realizado cooperativamente entre o aluno e o professor, de duas maneiras, nos dias estipulados para isso no cronograma: através do aluno, trabalhando individualmente e tirando dúvidas com o professor, e através de apresentações individuais, quando deve-se apresentar ao professor os resultados até então obtidos, de maneira a discutir e encaminhar dificuldades. Os alunos programam e testam tudo o que foi projetado. O resultado pode ser apresentado ao professor para revisão. O aluno deve trabalhar para colocar em prática o plano de testes para as partes produzidas e integradas. Ao final do semestre o produto integrado deve ser apresentado ao Professor, individualmente, em horário e local a ser estabelecido de comum acordo. A ausência no dia agendado para uma apresentação acarretará em reprovação. Esta disciplina, por ser teórica e prática, considera que os Resultados Educacionais (RE) devem ser avaliados da seguinte maneira: A compreensão da informação deve ser avaliada através de questões cujas respostas requeiram, preferencialmente, a aplicação de raciocínio ao conteúdo teórico trabalhado em classe. As habilidades são agrupadas em duas categorias: as habilidades contextuais e as habilidades metacognitivas. Ambas as categorias deverão ser exercitadas durante o semestre. São quatro as habilidades contextuais: criatividade, solução de problemas, modelagem e comunicação de ideias. São quatro as habilidades metacognitivas: tomada de decisão, auto-explicação, reflexão e auto-avaliação. Os Resultados Tecnológicos (RT) serão conseguidos pelos alunos através da prática em laboratório na forma de um trabalho de implementação. A cola ou plágio em provas, exercícios ou atividades práticas implicará na atribuição de nota zero para todos os envolvidos. Dependendo da gravidade do incidente, o caso será levado ao conhecimento da Direção e do Conselho de Faculdade, para as providências cabíveis. Na dúvida do que é considerado cópia ou plágio, o aluno deve consultar o professor antes de entregar um trabalho. 5. AVALIAÇÃO DO PROCESSO DE APRENDIZAGEM 5.1 Critérios de Avaliação A nota final NF será contabilizada para efeito de aprovação da seguinte maneira: NF = 0,3 T + 0,6 P + 0,1 Part, desde que T 5,0 e P 5,0 Onde Part refere-se à participação Caso contrário, NF = 0,1 T + 0,9 P, se T 5,0, ou NF = 0,9 T + 0,1 P, se P 5,0, ou NF = min (T, P) T = média aritmética das notas obtidas nas duas provas P = 0,2 Er + 0,2 Pt + 0,6 I, se a implementação estiver funcionando Er refere-se à Engenharia reversa, 3
Pt refere-se ao Plano de testes, I refere-se à Implementação. Existem datas para entrega dos subprodutos de cada etapa do desenvolvimento. Uma entrega pode sofrer atraso até, no máximo, a entrega seguinte. Cada semana de atraso ocasiona perda de 1,5 pontos da nota correspondente. A não entrega, passado o prazo para entrega com atraso, ocasiona a divisão de P por 2. A título de motivação, parte da nota final (10%) pode ser obtida através de participação do estudante nas atividades da disciplina. Os tipos de participação a serem considerados compreendem: Participação nas aulas teóricas. Participação e presença nas aulas práticas. Solução e submissão de resumos, exercícios e dúvidas. 5.2 Instrumentos de avaliação Para avaliação da parte teórica serão realizadas provas individuais escritas sobre a matéria, cada qual cobre metade das aulas, de acordo com o material de suporte didático. As tarefas práticas, a serem desenvolvidas individualmente, resultam em dois documentos: diagramas UML e plano de testes, além do sistema operacional Minix devidamente alterado, comentado e testado. Serão estes os instrumentos usados para avaliar a parte prática. 5.3 Estratégias de Recuperação Além das diversas oportunidades de aprendizado, o estudante pode ainda procurar recuperar algo que não tenha aprendido adequadamente da seguinte maneira. - Recuperação das provas teóricas, uma para substituir P1 e outra para P2, de acordo com pedido do aluno. - Nas aulas práticas, após a apresentação e discussão dos subprodutos de uma etapa de desenvolvimento, os estudantes podem, por iniciativa própria, revisá-los, entregando seus resultados até a apresentação da próxima etapa. 6. BIBLIOGRAFIA BÁSICA TANEMBAUM, A.S.; WOODHULL, A.S. Sistemas Operacionais, Projeto e Implementação, 3a ed, Bookman, 2008. TANENBAUM, A.; Sistemas Operacionais Modernos. 3a ed. Pearson Brasil, 2010. DEITEL & CHOFFNES; Sistemas Operacionais, Prentice-Hall, 3a ed., 2005. 7. BIBLIOGRAFIA COMPLEMENTAR SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G.; Sistemas Operacionais Conceitos e 4
Aplicações, 1a Ed. Campus, 2001. SHAY, W. A.; Sistemas Operacionais, Makron Books, 1996. SILBERSCHATZ, A.; Fundamentos de Sistemas Operacionais, LTC, 6a Ed., 2004. STALLINGS, W.; Operating Systems: Internals and Design Principles, Prentice Hall, 6a Ed., 2008. MACHADO, F. B. & MAIA, L. P.; Arquitetura de Sistemas Operacionais, LTC, 4a Ed., 2007. 8. INFRAESTRUTURA E INSTALAÇÕES São necessários os seguintes recursos: Laboratório com computadores (um para cada aluno), devidamente configurados com os sistemas operacionais Linux e Windows. Nos dois ambientes, deve estar disponível o VirtualBox. Canhão multimídia com computador para as aulas teóricas e para as apresentações nas aulas práticas. s s para os testes das aulas teóricas. PLANO ORIENTADOR DE ATIVIDADES ACADÊMICO-AVALIATIVAS O cronograma das atividades acadêmico avaliativas, por conteúdo programático, pela sua natureza dinâmica, é passível de alterações em função de eventos significativos que alterem o planejamento das atividades acadêmicas desenvolvidas na disciplina do Curso. Cronograma Mês/Bimestre Conteúdo Programático Outubro Princípios do HW de E/S Dispositivos de E/S; Controladores de dispositivos; E/S mapeada em memória; Acesso Direto à Memória (DMA); Interrupções revisitadas; Princípios do SW de E/S Objetivos do SW de E/S; E/S programada; E/S usando interrupção; E/S usando DMA; Camadas do SW de E/S Tratadores de interrupção; Drivers dos dispositivos; SW de E/S independente de dispositivo; SW de E/S do espaço do usuário; Discos HW do disco (discos magnéticos); HW do disco (RAID, CD-ROMs, CDs graváveis, CDs regraváveis, DVD); Formatação de disco; Algoritmos de escalonamento de Instrumentos/Estratégias de Avaliação Prova escrita e individual Recursos necessários 5
disco; Outubro Conteúdo relativo à primeira prova Prova escrita e individual de recuperação Dezembro Tratamento de erros; Prova escrita e individual Armazenamento estável; Relógios HW do relógio; SW do relógio; Temporizadores por SW; Interface com o usuário: teclado, mouse, monitor SW de entrada; SW de saída (Janelas de texto, O Sistema X-Windows, Interfaces gráficas do usuário); SW de saída (Mapas de bits, Fontes); Clientes magros; Gerenciamento de energia Questões de HW; Questões do sistema operacional (Monitor); Gerenciamento de energia Questões de HW; Questões do sistema operacional (Monitor, Disco rígido, CPU, Memória, Comunicação sem fio, Gerenciamento térmico, Gerenciamento de bateria, Interface do driver); Questões dos programas de aplicação; Escalonamento de processos multimídia; Escalonamento de processos homogêneos; Escalonamento geral de tempo real; Escalonamento por taxa monotônica; Escalonamento prazo mais curto primeiro. Dezembro Conteúdo relativo à segunda prova Prova escrita e individual de recuperação Novembro/Dez Sistema Minix modificado Apresentação do sistema embro modificado, diagramas UML e plano de testes Laboratório 6