Sistemas Operacionais
2024/2 - Turma 0301
Ementa
Introdução a sistemas operacionais: histórico e conceitos básicos. Gerência de processos. Gerência de memória. Entrada e Saída (E/S). Sistema de Arquivos. Estudo de caso: Linux.
Competências
- Compreender como os Sistemas Operacionais gerenciam os recursos de software e hardware utilizados na execução dos vários aplicativos/programas de um ou mais usuários;
- identificar e analisar problemas relacionados ao gerenciamentos de recursos de hardware e software e projetar políticas para solucioná-los.
Objetivos
Geral:
Capacitar o acadêmico a compreender o funcionamento dos Sistemas Operacionais e do gerenciamento dos recursos computacionais.
Específicos:
- apresentar os conceitos fundamentais sobre Sistemas Operacionais e suas áreas de gerenciamento;
- proporcionar a compreensão da programação concorrente a partir da implementação, usando recursos para compartilhamento de memória e sincronização de processos;
- utilizar representações gráficas para demonstrar os algoritmos de gerenciamento de recursos.
Programa
1. Introdução aos Sistemas Operacionais (SO).
2. Processos
- Diagrama de estados de processos
- Bloco descritor do processo
- Chaveamento de contexto
- Interrupção
- Hierarquia de processos
3. Multiprogramação: implementação com processos e threads:
- Programação no Linux: manipulação de processos (fork(), exit(), wait(), waitpid() etc.)
- Memória compartilhada
- Sincronização de processos com Semáforos: sincronização de processos
- Deadlock
- Implementação co Threads: biblioteca lpthread
4. Gerência do processador:
- Escalonamento de processos.
5. Gerência de memória:
- Memória lógica e memória física
- Mecanismos de gerência de memória: partições fixas e variáveis, paginação e segmentação
- Memória Virtual
6. Sistema de Arquivos:
- Conceitos básicos
- Arquivos
- Diretórios
- Controle de acesso
7. Entrada e Saída (E/S):
- Princípios de hardware
- Princípios de software de E/S
- Dispositivos típicos
Metodologia
O Aporte Teórico-metodológico de Competências será oferecido por meio de aulas expositivas, resolução de problemas e discussões em grupos e em classe. Serão utilizados ambientes de simulação, para que o aluno visualize o funcionamento de mecanismos do Sistema Operacional.
O Trabalho Discente Efetivo se dará por meio de questionários, avaliações, implementação de programas e aplicação de conceitos na resolução de problemas. Nessas atividades, individuais ou em grupo, os alunos deverão se aprofundar no assunto com o apoio do material indicado, seguindo as instruções passadas pelo professor, e compartilhar o conhecimento obtido.
Web Aulas: 03 aulas online serão disponibilizadas em um sistema web, compostas por recursos didáticos - como textos, apresentações e vídeos - e atividades individuais ou em grupo, seguindo as determinações da Portaria MEC nº 2.117, de 06 de dezembro de 2019.
Avaliação
O aluno será avaliado ao longo do semestre letivo em duas avaliações de grau, a saber:
- Grau Um (G1): 4.0 pontos de avaliações e trabalhos individuais ou em grupo + 6.0 pontos de prova com conteúdo relativo ao primeiro bimestre letivo;
- Grau Dois (G2): 4.0 pontos de avaliações e trabalhos individuais ou em grupo + 6.0 pontos de prova com conteúdo relativo à totalidade do semestre.
A Média Parcial (MP) será a média ponderada entre G1 e G2. Logo, MP = (G1 + 2 x G2) / 3.
Será aprovado o aluno que alcançar a MP igual ou superior a 6,0 (seis).
O aluno, com ou sem aprovação, que desejar aumentar a sua MP e atingir frequência mínima de 75%, terá direito de realizar a prova de Exame Final (EF).
Para o aluno que fizer a prova de EF, a Média Final (MF) será a média ponderada entre MP (peso um) e EF (peso dois). Logo: MF = (MP + EF x 2) / 3.
Para os alunos que não realizarem a prova de EF a MF será igual a MP.
Será aprovado o aluno que alcançar a MF igual ou superior a 6,0 (seis) e atingir, no mínimo, 75% de frequência.
As provas ocorrerão nas datas previstas em calendário acadêmico.
Bibliografia
Básica
OLIVEIRA, Rômulo Silva de; CARISSIMI, Alexandre da Silva; TOSCANI, Simão Sirineo. Sistemas operacionais. 4. ed. Porto Alegre: Bookman, 2010. [Impresso e Minha Biblioteca]
SILBERSCHATZ, Abraham. Fundamentos de Sistemas Operacionais. 9 ed. Rio de Janeiro: Pearson Prentice Hall, 2015. [Impresso e Minha Biblioteca]
TANENBAUM, Andrew S. Sistemas operacionais modernos. 3 ed. Rio de Janeiro: LTC, reimp. 2013. [Impresso e Biblioteca Virtual]
Complementar
ALVES, William P. Sistemas operacionais. 1. ed. Editora Saraiva, 2019. [Minha Biblioteca]
COSTA, Celso Maciel da. Sistemas operacionais: programação concorrente com Pthreads. Porto Alegre : EDIPUCRS, 2010.
DANESH, Arman. Dominando o Linux: a bíblia / Arman Danesh. São Paulo: Makron, 2000.
DEITEL, Harvey M.; Choffnes, D. R.; DEITEL, Paul J. Sistemas operacionais. 3. ed. São Paulo: Pearson Prentice Hall, 2005. [Impresso e Biblioteca Virtual]
MACHADO, Francis B., MAIA, Luiz Paulo. Fundamentos de Sistemas Operacionais. Grupo GEN, 2011. [Minha Biblioteca]
Material Digital
https://ulbra-to.br/oslive/