Assista a esse vídeo em: MP4 (1280 X 720 px) | MP4 (640 X 360 px)
estudo de caso de sistema operacional: família Microsoft Windows, com detalhamento do Windows NT e XP
I Conceitos e fundamentos
a) Introdução, história, tipos, conceitos, estrutura dos S.O. e suas interfaces; Tratamento de interrupções;
b) Processos e threads, comunicação, escalonamento; multiprogramação; problemas clássicos.
c) Espaços de endereçamento, gerenciamento de memória real e virtual.
d) Memória física: alocação contígua; particionamento simples e relocável; overlays; swapping;
e) Memória virtual: Paginação, algoritmos de substituição. Segmentação pura e segmentação com paginação;
f) Sistemas de arquivos, diretórios, hierarquia, compartilhamento, proteção;
g) Gerenciamento de entrada e saída, discos, relógios, interfaces com o usuário, energia; conceito de spooling;
h) Deadlocks: conceito, algoritmos de detecção, recuperação e prevenção;
i) Multiprocessamento, virtualização, sistemas distribuídos;
j) Segurança, criptografia, proteção, autenticação, vulnerabilidades, malware, ataques, defesas.
k) Sistemas embarcados, sistemas distribuídos.
l) Estudos comparativos de sistemas operacionais para microcomputadores, sistemas embarcados, distribuídos e para mainframes: DOS, UNIX, LINUX, MS-Windows, p-system, Mach, Amoeba, OS-360, OS-390, Open VMS Alpha e outros.
II Projeto:
Projeto e implementação de um subconjunto das funcionalidades de um sistema operacional: Elaboração de um software (simulador ou extensões a um sistema operacional existente) que implemente um conjunto de funções típicas dos sistemas operacionais, em conformidade com especificações fornecidas.
Dar ao aluno as bases conceituais e técnicas para compreender o funcionamento, utilizar, especificar e avaliar sistemas operacionais para uso nas diversas aplicações profissionais. Familiarização com a aplicação e com os diversos aspectos da implementação de sistemas operacionais. Atividades práticas, realizadas fora de classe, são essenciais à fixação dos conceitos (por exemplo, projetos envolvendo desenvolvimentos de simuladores ou de alterações no código de um sistema operacional moderno).