Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão
Revisão anterior
so:compromisso_cc [2010/02/24 08:22] mazieroso:compromisso_cc [2010/02/24 11:18] (atual) maziero
Linha 1: Linha 1:
 +====== Compromisso Pedagógico ======
  
 +  * Disciplina: Sistemas Operacionais
 +  * Curso: Bacharelado em Ciência da 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, 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.
 +  * **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.
 +  * **Proteção e segurança**: propriedades e princípios de segurança, vulnerabilidades e ataques, infraestrutura de segurança, aspectos de autenticação de usuários, mecanismos de controle de acesso, controle de uso de recursos, mecanismos de auditoria.
 +  * **Virtualização**: conceitos básicos, definição formal, suporte de hardware, tipos de máquinas virtuais, técnicas de virtualização, aplicações e ambientes.
 +
 +===== 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. As aulas de laboratório serão utilizadas para o desenvolvimento das atividades e orientação sobre as mesmas (consulte aqui as [[regras das atividades de laboratório]]).
 +
 +===== Avaliações =====
 +
 +Cada nota bimestral B<sub>i</sub> será calculada a partir de uma prova P<sub>i</sub>, das atividades de laboratório L<sub>i</sub> e do exame multidisciplinar EM (que constitui 10% da nota geral da disciplina e será contabilizado no 4<sup>o</sup> bimestre). As notas bimestrais serão assim calculadas:
 +
 +  * B1 = 70% P1 + 30% L1
 +  * B2 = 70% P2 + 30% L2
 +  * B3 = 50% P3 + 50% L3
 +  * B4 = 30% P4 + 30% L4 + 40% EM
 +  * 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 P<sub>i</sub> 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.
 +  * //[[http://www.advancedlinuxprogramming.com|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.