Programa de Ensino 20231
Aprovado pelo Departamento em: 31-10-2022
- Identificação:
- Disciplina: INE5424 - Sistemas Operacionais II
- Carga horária: 72 horas-aula
Teóricas: 18
Práticas: 54
- Período:
1º semestre de 2023 até a presente data
- Curso(s):
- Ciências da Computação (208)
- Requisito(s):
- Ciências da Computação (208)
- INE5412 - Sistemas Operacionais I
- Ementa:
- Desenvolvimento de Sistemas Operacionais: projeto lógico, arquitetura, inicialização de Sistemas Computacionais, componentes (processos, threads, escalonador, mecanismos de sincronização, gerenciadores de memória, sistemas de arquivos, drivers de dispositivos de entrada e saída), teste, depuração, estudos de caso.
- Objetivo(s):
- Geral: Projetar, implementar e testar software a nível de sistema operacional, incluindo device drivers, bibliotecas, kernels e middlewares, utilizando técnicas modernas de desenvolvimento de software de sistema.
- Específicos:
- Conhecer, analisar e implementar algoritmos e técnicas de software a nível de sistema operacional.
- Entender conceitos pertinentes ao projeto de software de sistema.
- Projetar, implementar e validar componentes de software de sistema, incluindo device drivers, bibliotecas, kernels e middlewares.
- Conteúdo Programático:
- Introdução [2 horas-aula]
- Arquitetura e sistemas operacionais [12 horas-aula]
- Elementos da organização e arquitetura de computadores pertinentes ao projeto de software de sistema
- Inicialização de sistemas operacionais
- Arquiteturas de software de sistemas operacionais
- Projeto e implementação de software de sistema [12 horas-aula]
- Metodologias de projeto
- Técnicas de programação
- Ferramentas
- Estudos de casos [6 horas-aula]
- Projeto, implementação e validação de componentes de software de sistema [36 horas-aula]
- Discussão [4 horas-aula]
- Bibliografia Básica:
- The RISC-V Instruction Set Manual, volumes I and II, https://riscv.org/technical/specifications.
- SiFive RISC-V Core IP Documentation, https://www.sifive.com/documentation.
- Intel 64 and IA-32 Architectures Software Developer’s Manual Combined Volumes: 1, 2A, 2B, 2C, 2D, 3A, 3B, 3C, 3D and 4, https://www.intel.com/content/www/us/en/developer/articles/technical/intel-sdm.html.
- ARM Architecture Reference Manual for A-profile Architecture, https://developer.arm.com/documentation/ddi0487/latest.
- ARM Cortex-A Series Programmer's Guide for ARMv8-A, https://developer.arm.com/documentation/den0024/a/.
- POSIX.1-2017 Standard Documentation, https://pubs.opengroup.org/onlinepubs/9699919799.2018edition.
- Bibliografia Complementar:
- Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein,
- Introduction to Algorithms, 2022, ISBN 978-0262046305.
- Adam Drozdek, Data Structures and Algorithms in C++, ISBN 978-1133608424, 2016.
- Bjarne Stroustrup, The C++ Programming Language, ISBN 978-1691196005, 2019.