CI-1215: Sistemas Operacionais

  • Disciplina: CI1215/CI215 - Sistemas Operacionais
  • Carga Horária: teoria 30h, prática 30h, total 60h
  • Professor: Carlos A. Maziero
Meu livro de sistemas Operacionais se encontra nesta página.

Capacitar o aluno a conhecer os fundamentos de sistemas operacionais, permitindo que o mesma tenha um entendimento do funcionamento deste. Também é objetivo capacitar o aluno a escrever programas concorrentes.

Componentes de um sistema. Administração dos recursos: memória principal e secundária. Administração dos processos: prioridades, interrupção, filas. Comunicação entre processos: semáforos e mensagens. Segurança.

  • Visão geral de sistemas operacionais: objetivos, tipos, funcionalidades, estrutura interna, arquiteturas, mecanismos de hardware utilizados.
  • Gerência de tarefas: contextos e processos, threads, escalonamento de tarefas.
  • Comunicação entre tarefas: tipos de comunicação, mecanismos intra- e interprocessos.
  • Coordenação entre tarefas: concorrência, condições de disputa, algoritmos básicos, semáforos, variáveis de condição, monitores, 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.
  • 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.
  • 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.

A média final da disciplina é composta pelas médias das provas e dos trabalhos desenvolvidos. A forma de cálculo está detalhada no cronograma de cada oferta.

Básica:

Complementar:

  • Operating Systems: Three Easy Pieces, R. Arpaci-Dusseau and A. Arpaci-Dusseau (online).
  • Advanced Linux Programming. Mitchell, Oldham, Samuel. Ed. New Riders, 2001.
  • UNIX Systems Programming: Communication, Concurrency and Thread. Robbins & Robbins, Prentice Hall, 2007.
  • Understanding the Linux Kernel. 3rd Edition. Cesati & Bovet. O'Reilly, 2005.
  • C - A Linguagem de Programação Padrão ANSI. Kerningham, Ritchie. Editora Campus, 1989.

Construção de sistemas operacionais:

  • Livro The Design of the Unix Operating System, de Maurice Bach
  • Livro UNIX Internals: The New Frontiers, de Uresh Vahalia
  • Livro Linux Device Drivers, de Jonathan Corbet, Alessandro Rubini, e Greg Kroah-Hartman

Programação:

UNIX/Linux:

Editores:

Outros recursos:

Podem ocorrer mudanças nesta página, com a devida divulgação prévia aos alunos.
  • so/start.txt
  • Última modificação: 2024/03/01 11:24
  • por maziero