TANENBAUM, A.; BOS, H. Sistemas Operacionais Modernos. 4ª Edição. São Paulo: Pearson Education do Brasil, 2016.
STALLINGS, W. Operating Systems: Internal and Design Principles. 8ª Edição. New Jersey: Pearson, 2015.
SILBERSCHATZ, A.; GALVIN, P. B.; GAGNE, G. Fundamentos de Sistemas Operacionais. 9º Edição. Rio de Janeiro: LTC, 2015.
Nota final = 0.3*Prova 1 + 0.1*Lista 1 + 0.3*Prova 2 + 0.1*Lista 2 + 0.2*Trabalho
Mês | Dia | Matéria | Slides |
---|---|---|---|
Março | 12 | Introdução. Avisos. Definições importantes. Revisão de arquitetura de computadores. | 1-Introdução |
14 | Gerenciamento de processos. Gerenciamento de memória. Gerenciamento de armazenamento. Arquitetura orientada a serviço. Serviços do sistema operacional. Chamadas de sistema. Estruturas de SO's. | 2-Conceitos | |
19 | Processos. Criação. Término. Hierarquia. Estados. Multiprogramação. | 3-Processos | |
21 | Threads. Modelo clássico. POSIX. Implementação: no espaço do usuário, no núcleo e híbridas. Ativações pelo escalonador. Pop-up. | 4-Threads | |
26 | Comunicação entre processos. Exclusão mútua. Espera ocupada. Dormir e acordar. Semáforos. | 5-Comunicação | |
28 | Mutexes. Monitores. Troca de mensagens. Barreiras. Leitura-cópia-atualização. Introdução a impasses | 6-Comunicação 2 | |
Abril | 02 | Impasses. Algoritmo do avestruz. Modelagem de impasses. Detectar, prevenir e evitar impasses. Proposta do trabalho | 7-Impasses |
04 | Escalonamento. Sistemas em lote. Sistemas interativos. Sistemas em tempo real. Política X mecanismo. Escalonamento de threads. | 8-Escalonamento | |
09 | Abstração de memória e espaços de endereçamento. Confirmação da proposta de trabalho | 9-Memoria | |
11 | Memória virtual | 10-Memória Virtual | |
16 | Algoritmos de substituição de páginas. Questões de projeto em alocação de páginas. | 11-Algoritmos de substituição | |
18 | Questões implementação de gerenciamento de memória. Segmentação de memória. | 12-Segmentação | |
23 | Feriado de São Jorge. | Não há atividade neste dia. | |
25 | Arquivos e diretórios. Implementação de sistemas de arquivos. | 13-Sistemas de arquivos | |
30 | Véspera do feriado do trabalhador. | Não há atividade neste dia. | |
Maio | 02 | Revisão para a primeira prova. | |
07 | Não haverá aula em virtude do SBRC 2018. | 09 | Não haverá aula em virtude do SBRC 2018. Entrega da primeira lista. |
14 | Primeira prova | ||
16 | Primeira apresentação do trabalho | ||
21 | Princípios de entrada e saída. Portas de entrada e saída. Mapeamento de E/S em memória. DMA. Interrupções imprecisas. Software de E/S. E/S programada, orientada a interrupções e utilizando DMA. Trocas com buffer. Spooling. Discos e RAID. | 14-Entrada e Saída | |
23 | Virtualização e hipervisores. Virtualização de memória, de entrada/saída. Máquinas virtuais. | 15-Virtualização | |
28 | Aula cancelada em virtude da greve de caminhoneiros. | Aula cancelada | |
30 | Aula cancelada em virtude da greve de caminhoneiros. | Aula cancelada | Junho | 04 | Princípios de segurança. Sistemas confiáveis. TCB. Domínios de proteção. ACL. Papéis. Tíquetes de capacidade. Proteção de capacidades. Função criptograficamente segura de mão única. Ataques por repetição de comando/mensagem. Autenticação e autenticação por desafio. Ataques a software. Transbordamento de buffer. Ataque por injeção de comando. Tíquetes de capacidade. Proteção de capacidades. Função criptograficamente segura de mão única. Ataques por repetição de comando/mensagem. Autenticação e autenticação por desafio. Ataques a software. Transbordamento de buffer. Ataque por injeção de comando. | 16-Segurança |
06 | Multiprocessadores. Arquiteturas de multiprocessadores. UMA e NUMA. Barramento cruzado. Redes de comutação multiestágio. Entrelaçamento de memória. Sistemas operacionais para multiprocessadores (abordagens simplória, mestre-escravos e multiprocessadores simétricos). Grande trava de núcleo e múltiplas regiões críticas. Instrução TSL em barramento compartilhado. Recuo exponencial binário. Chaveamento e escalonamento de threads. Escalonamento em bando. | 17-Multiprocessadores & Multicomputadores | |
11 | Acoplamento de multicomputadores. Interconexão. Comutação de circuitos. Comutação de pacotes. Software de comunicação. Chamadas de comunicação. Heterogeneidade de dispositivos. Middlewares. World Wide Web. Hospedeiros e roteadores. Pilha de protocolos da Internet. DNS, URL, HTTP. Consistência de sistemas de arquivos. Publicar/assinar. | 18-Sistemas distribuídos | |
13 | Exercícios e dúvidas. Entrega da 2ª lista. | ||
18 | Segunda prova. | ||
20 | Apresentações finais dos trabalhos. | ||
25 | Apresentações finais dos trabalhos. Vista de prova. | ||
27 | Jogo do Brasil. | ||
Julho | 02 | Talvez jogo do Brasil. | |
4 | Prova final. | ||
9 | Prova de 2ª chamada. |
O trabalho da disciplina pode ser prático ou teórico, sobre um tema relacionado à disciplina de Sistemas Operacionais.
GruposO trabalho deverá ser feito em grupos de 2 ou 3 pessoas.
Trabálho práticoUm trabalho prático deve ser:
Os trabalhos teóricos devem ser no formato de artigos de congressos da Sociedade Brasileira de Computação (SBC). Os artigos de congressos da SBC podem ser escritos em português ou inglês, e entregues no formato PDF. Existe um limite de 14 páginas. A formatação está disponível no site da SBC.
As regras de escrita científica devem ser observadas, como a utilização de referências bibliográficas e a análise de resultados.
Sugestão: utilizem o Overleaf ou algum outro editor online de LaTeX.
AvaliaçãoA avaliação será feita baseada nos seguintes critérios:
Os trabalhos serão realizados em duas apresentações.
A seguir, uma lista não-exaustiva de temas de interesse para os trabalhos:
O arquivo notas de aula contém notas de aula produzidas pelo professor. O material não substitui a bibliografia recomendada, mas pode ser utilizado como referência para os estudos.