Curso sistemas operacionais 2006 Programação aula a aula. 09/1 1 - 1.1 O que é um sistema operacional, 1.2 História dos sistemas operacionais 2 - 1.3 conceitos de sistema operacional 1.4 chamadas de sistema 16/1 3 - 1.4 chamadas de sistema 4 - 1.5 estrutra do sistema operacional. 23/1 5 => apresentação dos projetos (fase 1) 6 - 2.1 introdução aos processos 30/1 7 - 2.2 comunicação interprocesso 8 - 2.2 comunicação interprocesso/ - 2.3 problemas clássicos de CIP 06/2 9 - 2.3 problemas clássicos de CIP 10 - 2.4 agendamento de processo. 13/2 11 - 3.1 Hardware Entrada e Saida 3.2 Software Entrada e Saida 12 => Projetos 2.5 visão geral de processos em minix (fase 2) 20/2 13 => Apresentacao dos dois grupos restantes; 14 - 3.3 impasses 27/2 SEM AULA - carnaval 06/3 15 - 4.1 gerenciamento básico de memória 4.2 troca (swap) 16 => Projetos 3.4 visão geral de E/S no minix (fase 3) 13/3 17 Prova 1 18 - 4.3 memória virtual, 4.4 algoritmos de substituição de página. 20/3 19 - 4.4, 4.5 questões para sistemas de paginação. 20 - 4.6 segmentação 27/3 21 => Projetos 4.7 visão geral do gerenciamento de memória do minix (fase 4) 22 - 5.1 arquivos 5.2 diretórios 03/4 23 - 5.3 implementação do sistema de arquivos 24 - 5.4 segurança, 5.5 mecanismos de proteção 10/4 25 => Projetos 5.6 visão geral do sistema de arquivos minix (fase 5) 26 Prova 2. Livro texto: Sistemas Operacionais - Projeto e Implementação ; Tanenbaum A.S. Woodhull A.S.; Bookman segunda edição Obs: Este livro contém o Minix que serviu de base para a criação do Linux Bons Livros de apoio: - Sistemas Operacionais Modernos 2a. edição; Tanenbaum A.S.; Prentice Hall Obs: Este livro é muito parecido com "Projeto e Implementação" mas não contém o Minix. Por outro lado é mais didático e contém mais informação que o outro. - Sistemas Operacionais com Java; Silberschatz, Galvin, Gane; Editora Campus Obs: Este livro apresenta os conceitos de forma mais clara que os livros do Tanenbaum. avaliação: 3 P1 + 4 P2 + E + 2 P E = exercícios feitos em aula / vale mais contar presença. Projeto. 1. familiarização com o Minix: 1.1 (todos) - instalação - sugestão: usar o Linux/ubuntu + Boochs. 1.2 (um por grupo) - criar aplicativos na linguagem C para rodar no minix utilizando as chamadas do sistema operacional. a- programa que concatena dois arquivos. b- programa que compara dois diretórios: um de uso e outro para backup. O programa deve listar os arquivos que devem ir para o backup. c- programa que cria um processo pai e outro filho. O pai escreve uma string e o filho outra string. d- troca o nome dos arquivos de um diretório colocando uma string na frente. e- troca o password de um usuário. 1.3 (todos) - alterar system calls de forma a avisar o usuário toda vez que ela foi chamada. Exercícios do livro que fazem alterações no minix, valem como projeto. Ex: 2.39, 3.34, 4.26, 4.27, 5.22, 5.23, etc. Pedir aprovação do professor para a questão de projeto. Cada equipe de no máximo 5 alunos deve pegar apenas um projeto diferente das outras equipes. Os projetos do capítulo 2 devem ser entregues até o última dia de aula referente ao capítulo 2 e assim por diante para projetos de outros capítulos.