MAC0422 Sistemas Operacionais
OBJETIVOS: Expor os fundamentos de sistemas operacionais de computadores e técnicas de sua implementação.
PROGRAMA: Introdução a arquiteturas: convencionais, multiprocessadores, paralelas com memória distribuída e redes. Multiprocessamento e multiprogramação. Gerenciamento de memória: memória real vs virtual, paginação e segmentação, memória cache. Processos: estados, contexto, gerenciamento pelo kernel, escalonamento, sinais e interrupções. Comunicação local: pipes, FIFOs, message queues, memória compartilhada. Comunicação remota: síncrona, assíncrona, sockets, chamada remota de procedimentos (RPC) e rendezvous. Protocolos de comunicação em redes: IP, TCP, UDP. Threads: gerenciamento, sincronização, semáforos, regiões críticas condicionais, monitores. Entrada e saída: aspectos de hardware e software, dispositivos de bloco e caracteres (terminais, discos, relógio, rede), independência de dispositivo, drivers. Sistemas de arquivos. Tipos de arquivos: seqüenciais, acesso indexado, acesso direto, diretórios hierárquicos, organização física e acesso a arquivos, mecanismos de proteção distribuída. Segurança.
PRÉ-REQUISITOS: MAC0121.
CARGA HORÁRIA SEMANAL E NÚMERO DE CRÉDITOS: 8 horas; 4 créditos-aula e 2 créditos-trabalho.
CRITÉRIO DE AVALIAÇÃO DA APRENDIZAGEM: Média ponderada de provas e exercícios.
BIBLIOGRAFIA BÁSICA:
- A.S. Tanenbaum, Modern Operating Systems, Prentice Hall, 1992.
- A. Silberschatz, P. Galvin, Operating Systems Concepts, Addison-Wesley, 19??.
- W.R. Stevens, UNIX Network Programming, Prentice Hall, 1990.
OBSERVAÇÃO: Disciplina obrigatória no currículo do BCC.
[Veja dados da disciplina no JúpiterWeb]