Compromisso Pedagógico
- Disciplina: Sistemas Operacionais
- Curso: Engenharia de Computação
- Professor: Carlos A. Maziero (http://www.ppgia.pucpr.br/~maziero)
Objetivos
Estudar arquiteturas e mecanismos dos sistemas operacionais modernos, evidenciando os principais problemas enfrentados na construção de um sistema operacional e as soluções empregadas. Dar ao aluno uma visão clara do sistema operacional, de seus mecanismos internos, suas possibilidades e limitações.
Temas de estudo
- Visão geral de sistemas operacionais: objetivos, tipos, funcionalidades, estrutura interna, arquiteturas, mecanismos de hardware utilizados, visão geral de Unix e Linux.
- Gerência de tarefas: contextos e processos, threads, escalonamento de tarefas.
- Comunicação entre tarefas: tipos de comunicação, mecanismos intra- e inter-processos.
- Coordenação entre tarefas: concorrência, condições de disputa, algoritmos básicos, semáforos, problemas clássicos, impasses.
- Estruturas de memória: tipos de memória, endereços físicos e lógicos, estrutura interna de um processo, segmentação, paginação, compartilhamento, localidade de referências, memória virtual, algoritmos de substituição de páginas.
- Gerência de arquivos: o conceito de arquivo, atributos e operações, formatos de arquivos, semânticas de acesso, compartilhamento, nomeação e caminhos, diretórios, sistemas de arquivos, caching, alocação de arquivos, gerência de espaço livre.
- Sistemas de entrada e saída: dispositivos de entrada/saída, barramentos e interfaces, estratégias de interação, software de entrada/saída, drivers, principais sub-sistemas.
Metodologia
- Teoria: aulas expositivas, com análise e discussão dos temas abordados usando o quadro-negro e textos de apoio.
- Prática: atividades (trabalhos e projetos) referentes aos temas abordados nas aulas teóricas. Consulte aqui as regras das atividades de laboratório.
Avaliações
Cada nota bimestral Bi será calculada a partir de uma prova Pi e das atividades de laboratório Li. As notas bimestrais serão assim calculadas:
- Bi = 50% Pi + 50% Li
- Média = (B1 + B2 + B3 + B4 ) / 4
A nota final será calculada através de uma prova final e de uma atividade de laboratório final:
- Final = 50% PF + 50% LF
A nota da prova final (PF) também será usada como substitutiva de quaisquer provas Pi que o aluno possa ter perdido ao longo do ano.
Recursos
- Quadro-negro, bibliografia impressa, Internet e servidor espec.ppgia.pucpr.br.
Bibliografia
- Livro de Sistemas Operacionais do professor.
- Sistemas operacionais – Conceitos e Aplicações. Silberschatz, Galvin & Gane. Editora Campus, 2001.
- Sistemas Operacionais Modernos, 2a edição. Tanenbaum. Ed. Pearson, 2003.
- C - A Linguagem de Programação Padrão ANSI. Kerningham, Ritchie. Editora Campus, 1989.
- Advanced Linux Programming. Mitchell, Oldham, Samuel. Editora New Riders, 2001.
Observações
- Podem ocorrer mudanças nesta proposta, com a devida divulgação prévia aos alunos.