Ano Letivo: 2011 Curso: AS Série: 3 Disciplina: AS300310 Carga Anual: 132 SISTEMAS DE INFORMAÇÃO Sistemas Operacionais Ementa: Conceitos básicos de sistemas distribuídos, arquiteturas de núcleo monolítico e de micronúcleo, gerenciamento de processos e threads, escalonamento distribuído, comunicação entre processos, chamada de procedimento remota, envio de mensagens, comunicação de grupo, algoritmos de eleição, sincronização entre processos, serviços distribuídos (serviço de nomes, de arquivos, de gerenciamento de recursos, etc.), segurança, autenticação. Sistemas para computação distribuída de alto desempenho ("grid computing"). Sistemas de objetos distribuídos. Justificativa: Computadores não funcionam sem sistemas operacionais. Diversas técnicas de programação, como programação paralela, tiveram sua origem nos sistemas operacionais. Um Sistema Operacional combina conhecimentos de arquitetura de computadores, linguagens, estruturas de dados, teoria de filas, etc. Um Sistema Operacional é certamente o maior exemplo de programa que cria máquinas abstratas mais confortáveis e seguras que as máquinas reais (memória virtual, NFS,...). Técnicas usadas na construção de Sistemas Operacionais podem e estão sendo cada vez mais utilizadas em outras áreas. Objetivos Gerais: Dar uma visão geral da arquitetura de sistemas operacionais distribuídos modernos e de estudar os mecanismos, estratégias e protocolos usados para realizar as funções de tais sistemas. Em particular será estudado como as funções tradicionais de sistemas operacionais centralizados, tais como o gerenciamento de processos e a sua sincronização, são implementadas em um sistema distribuído e quais os problemas adicionais que surgem com esta distribuição. Além disto, serão analisados os problemas ligados às exigências adicionais impostas a sistemas operacionais distribuídos, e discutidas as possíveis soluções, a partir de sistemas existentes. Conteúdo Programático Sem. Tópico Nº de Aulas Carga Horária Descrição Organização e Planejamento didáticopedagógico da disciplina. Elaboração dos 1 01 3 150 instrumentos de avaliação semestral. Apresentação da disciplina, objetivos, conteúdo programático, bibliografia, 1 02 3 150 critérios e sistema de avaliação. Conceitos introdutórios. Tipos de Sistemas Operacionais: sistemas monoprogramáveis/monotarefa. Tipos de Sistemas Operacionais: sistemas 1 03 3 150 multiprogramáveis/multitarefa. Sistemas com múltiplos processadores Sistemas Operacionais em lote; Sistemas Operacionais de tempo compartilhado. Licenças de software (Software livre, GPL, proprietário e demais) Sistemas 1 04 3 150 Operacionais proprietários (Microsoft Windows 2003 Server e demais Windows): conceito de sistema operacional
proprietário, suas vantagens e desvantagens, e sua forma de comercialização. Sistema Operacional de código aberto (LINUX): conceito de sistema operacional de código aberto, suas vantagens e desvantagens e sua forma de comercialização (distribuições). Conceituar termos referentes a licenças (autor, proprietário.). Ética. Laboratório/Sala Inteligente: Demonstração de um sistema operacional proprietário e um sistema operacional de código aberto. 1 05 3 150 Demonstração da interface gráfica de ambos, aplicativos nativos dos sistemas operacionais. Estrutura do Sistema Operacional: shell (interpretador de comandos), systems calls, modos de acesso. Arquitetura monolítica, 1 06 3 150 de camadas, microkernel e máquina virtual. Utilizar o conceito de máquina virtual do Java. Estrutura do Sistema Operacional: shell (interpretador de comandos), systems calls, modos de acesso. Arquitetura monolítica, 1 07 3 150 de camadas, microkernel e máquina virtual. Utilizar o conceito de máquina virtual do Java. Virtualização I Desafios nos negócios e 1 08 3 150 em TI, Desafios Técnicos, Benefícios e Limitações. Virtualização II Desafios nos negócios e 1 09 3 150 em TI, Desafios Técnicos, Benefícios e Limitações. Programas Compactadores : compactadores 1 10 3 150 com perda e sem perda. Tipos de arquivos
compactados : MP3, JPG, AVI. Exemplos de compactadores : Zip, Tar, gzip, rar. Explicar um algoritmo de compactação simples por substituição (RLE). 1 11 3 150 1 12 3 150 Sistemas Operacionais Distribuídos e Computação em Grade. Sistemas Operacionais Distribuídos e Computação em Grade. Gerência de Memória: fundamentos, alocação contígua simples, overlay, alocação particionada dinâmica e estática. Estratégias de alocação. Swapping. Obs: A 1 13 3 150 parte relacionada ao Hardware de memória ja foi devidamente explicada na disciplina Organização de Computadores no primeiro ano. Gerência de Memória Virtual: espaço de endereçamento virtual, mapeamento, memória virtual por paginação, política de 1 14 3 150 busca, alocação e substituição de páginas. Conceito de Working set. Bit de validade e TLB. Memória virtual por segmentação. Memória 1 15 3 150 virtual por segmentação com paginação). Trashing. Sistema de Arquivos: conceito de arquivo, métodos de acesso, estrutura de diretório, estrutura do sistema de arquivos, métodos 1 16 3 150 de alocação e gerência de espaço livre. Exemplos práticos: Microsoft Windows (FAT32, NTFS, NTFS5) e Linux (ext2 e ext3), diferenças e comparações. 1 17 3 150 Sistema de Arquivos: conceito de arquivo,
métodos de acesso, estrutura de diretório, estrutura do sistema de arquivos, métodos de alocação e gerência de espaço livre. Exemplos práticos: Microsoft Windows (FAT32, NTFS, NTFS5) e Linux (ext2 e ext3), diferenças e comparações. Sistema de Arquivos: Hierarquia de diretórios da família linux (/, /bin, /boot, /dev, /etc, /home, /lib,/mnt, /lost+found, 1 18 3 150 /proc, /root, /sbin, /tmp,/usr,/var Hierarquia de diretórios da família Windows (Especificar). Sistema de Arquivos: Hierarquia de diretórios da família linux (/, /bin, /boot, /dev, /etc, /home, /lib,/mnt, /lost+found, 1 19 3 150 /proc, /root, /sbin, /tmp,/usr,/var Hierarquia de diretórios da família Windows (Especificar). 1 20 3 150 Avaliação da Coordenação (AC). Aulas de revisão das avaliações da 1 21 3 150 coordenação. Correção e Vista de provas. 1 22 3 150 Encerramento e balanço do semestre. Organização e Planejamento didáticopedagógico da disciplina. Elaboração dos 2 23 3 150 instrumentos de avaliação semestral. Laboratório ou Sala Inteligente:: Configuração do sistema operacional para trabalhar em rede. MS Windows (Configurações de rede e comando 2 24 3 150 ipconfig), Linux (arquivos /etc/networks, /etc/hosts e comando ifconfig).os conceitos mais teóricos de redes, neste momento do semestre, ja foram devidamente explicados na matéria de Redes.
2 25 3 150 Subsistema de E/S do kernel. Tratamentos de pedidos de E/S. Sistema de camadas. Laboratório ou Sala Inteligente: comandos básicos do Linux: navegação em diretórios (man, cd, ls, mkdir, cp, mv, rm, wc), comandos para trabalhar com arquivos de texto (cat, less, grep) e conectores de 2 26 3 150 comandos (" ", ">"). Laboratório ou Sala Inteligente: permissões de arquivos: conceitos de dono de arquivo: MS Windows (Gerenciador de Arquivos); Linux (chmod (com parâmetros com letras e com octais), chown e chgrp). Threads. Processo (estados do processo, mudança de estados, criação e eliminação 2 27 3 150 de processos, processos independentes, processos foreground e background). Processo (estados do processo, mudança de estados, criação e eliminação de processos, 2 28 3 150 processos independentes, processos foreground e background). Gerência do Processador: Critérios de Escalonamento, escalonamento nãopremptivo e preemptivo, escalonamento 2 29 3 150 FIFO, escalonamento circular, escalonamento por prioridades. Gerência do Processador: Escalonamento circular com prioridades, política de 2 30 3 150 escalonamento em Sistemas de Tempo Compartilhado e Sistemas de Tempo Real. Gerência do Processador (continuação): Escalonamento circular com prioridades, 2 31 3 150 política de escalonamento em Sistemas de Tempo Compartilhado e Sistemas de Tempo
Real. Laboratório ou Sala Inteligente: Demonstração dos processos em tempo de execução do sistema operacional 2 32 3 150 proprietário (Gerenciador de Tarefas) e do sistema operacional de código aberto (comandos: ps (parâmetros a, u, x), top, kill). Sincronização e Comunicação entre processos: aplicações concorrentes, exclusão mútua, sincronização condicional, 2 33 3 150 conceitos de semáforos, conceitos de monitores, conceitos de troca de mensagens e deadlock (o que é, detecção, prevenção e recuperação). Sincronização e Comunicação entre processos: aplicações concorrentes, exclusão mútua, sincronização condicional, 2 34 3 150 conceitos de semáforos, conceitos de monitores, conceitos de troca de mensagens e deadlock (o que é, detecção, prevenção e recuperação). Módulos do Kernel. Gerenciamento de pacotes de software. Vantagens e desvantagens da abordagem do mundo 2 35 3 150 GNU/Linux e da abordagem do mundo Windows (facilidade, confiança, atualizações automáticas). Instalando e removendo novos softwares. 2 36 3 150 Virtualização e TI Verde. SERVIDORES DE APLICAÇÃO: configurações 2 37 3 150 de servidores mais ligados a camadas de aplicação. Comparação entre servidores LINUX x 2 38 3 150 MICROSOFT.
2 39 3 150 DOMINIO, Active Directory e atividades de cadastro de usuários e permissões. 2 40 3 150 MÁQUINAS VIRTUAIS: Criação. 2 41 3 150 MÁQUINAS VIRTUAIS: Demonstração de outros sistemas operacionais. 2 42 3 150 Avaliação da Coordenação (AC). 2 43 3 150 Aulas de revisão das avaliações da coordenação. Correção e Vista de provas. 2 44 3 150 Encerramento e balanço da disciplina. Total Aulas Hs Min 132 7920 Avaliação: Estratégias Metodológicas: Aulas expositivas dialogadas. Atividades individuais e em grupo. Análise e simulação de situações reais de trabalho. Bibliografia Básica MACHADO, Francis Berenger. Arquitetura de sistemas operacionais. Rio de Janeiro: LTC, 2005. TANENBAUM, Andrew S.. Sistemas operacionais modernos. São Paulo: Pearson Prentice Hall, 2006. SILBERSCHATZ, Abraham. Sistemas operacionais com Java. Rio de Janeiro: Elsevier, 2004. Bibliografia Complementar DEITEL, H.M.. Sistemas operacionais. São Paulo: Pearson Prentice Hall, 2005. MORIMOTO, Carlos E.. Redes e servidores Linux : guia prático. Porto Alegre: Sul, 2006. NEMETH, Evi. Manual completo do Linux : guia do administrador. São Paulo: Pearson Prentice Hall, 2007. BADDINI, Francisco. Windows server 2003 em português : implementação e administração. São Paulo: Érica, 2007. CORTES, Pedro Luiz. Sistemas operacionais : fundamentos. São Paulo: Érica, 2003. Sugestão de Leitura GUIMARÃES, Célio Cardoso. Princípios de sistemas operacionais. Rio de Janeiro: Campus, 1989. TOSCANI, Simão Sirineo. Sistemas operacionais e programação concorrente. Porto Alegre: Sagra Luzzatto, 2003. DAVIS, William S.. Sistemas operacionais : uma visão sistemática. Rio de Janeiro: Campus, 1991. NORTON, Peter. Guia do DOS 5. Rio de janeiro: Campus, 1992. NORTON, Peter. Guia completo do Linux. São Paulo: Berkeley, 2000.