Logotipo do CIn Infra-Estrutura da Software (IF677) 2010.2
(Engenharia da Computação)

Logotipo da UFPE


Professor: Fernando Castor

Email: Email de Fernando Castor

Grupo de discussão da disciplina: IF677-l  (if677-l@cin.ufpe.br)
Endereço: http://groups.google.com/a/cin.ufpe.br/group/if677-l/
Página oficial: http://www.cin.ufpe.br/~if677

Horários:    
Terça-feira: 15h00m-17h00m
  (D002)
Quinta-feira: 13h00m-15h00m    (D002)


Este é o sítio da disciplina de Infra-Estrutura de Software, segundo semestre de 2010, do Centro de Informática da Universidade Federal de Pernambuco (CIn-UPE). O sítio inclui o programa da disciplina e comunicações gerais do professor para os alunos. Esta página complementa a página oficial da disciplina com algumas informações.


Visão Geral da Disciplina   

A disciplina de Infra-Estrutura de Software visa fazer com que os alunos entendam o funcionamento dos sistemas de software que fornecem uma infra-estrutura através da qual aplicativos (browsers Web, editores de texto, planilhas eletrônicas, jogos, etc.) podem interagir com o hardware. Ao final da disciplina, os alunos devem apresentar uma compreensão dos principais mecanismos necessários para se construir tal infra-estrutura, considerando os dois papéis que ela desempenha: de mecanismo de abstração para a plataforma de hardware subjacente e de gerenciador de recursos diversos como memória, capacidade de processamento e dispositivos de armazenamento e de entrada e saída. Nesta disciplina, o software de infra-estrutura está dividido em duas partes: (i) o sistema operacional; e o (ii) middleware. Essa disciplina funciona em harmonia com as outras duas disciplinas de infra-estrutura, a de hardware e a de comunicação, e juntas as três fornecem um panorama razoavelmente completo sobre o funcionamento de um sistema computacional. Os alunos serão avaliados por meio de exercícios escolares (provas), listas de exercícios e um projeto. 


Ementa   

Processos e Threads, Escalonamento, Gerenciamento de Memória, Entrada e Saída, Sistemas de Arquivos, Linguagem de Montagem, Plataformas de Middleware.


Programa 

DATA
TÓPICO DA AULA                                                      
12/08/2010
Apresentação da Disciplina
17/08/2010 Introdução aos Sistemas Operacionais
19/08/2010 Introdução aos Sistemas Operacionais
24/08/2010 Alguns Conceitos Adicionais
26/08/2010Processos e Threads
31/08/2010 Processos e Threads
02/09/2010
Processos e Threads
07/09/2010 Não haverá aula (Independência do Brasil)
09/09/2010 Processos e Threads
14/09/2010 Escalonamento
16/09/2010 Especificação do Projeto e Aulas Teórica e Prática e Assembly

Aula ministrada pelos monitores.
21/09/2010 Escalonamento e Gerenciamento de Memória
23/09/2010 Gerenciamento de Memória
28/09/2010 Não haverá aula  (Acompanhamento de projetos com os monitores)


30/09/2010Não haverá aula  (Acompanhamento de projetos com os monitores)
05/10/2010
Gerenciamento de Memória
07/10/2010
Gerenciamento de Memória
12/10/2010Não haverá aula (Nossa Senhora Aparecida)
14/10/2010PRIMEIRO EXERCÍCIO ESCOLAR

Notas
19/10/2010 Não haverá aula (Acompanhamento de projetos com os monitores)
21/10/2010 PRIMEIRA ENTREGA DO PROJETO -- Abertura do Jogo em Assembly

Com os monitores.
25/10/2010Sistemas de Arquivos 
29/10/2010Sistemas de Arquivos 
02/11/2010Não haverá aula (Finados)
04/11/2010Entrada e Saída 

Especificação da Segunda Parte do Projeto
09/11/2010
Entrada e Saída
11/11/2010 Introdução aos Sistemas Distribuídos
16/11/2010Conceitos e Arquiteturas de Sistemas Distribuídos
18/11/2010Sockets e RPC
23/11/2010 Middleware Visão Geral

25/11/2010 CORBA (MICO)

Aula com os monitores

30/11/2010SEGUNDA ENTREGA DO PROJETO -- Jogo multiplayer mas rodando em apenas uma máquina

Com os monitores.
02/12/2010RMI
07/12/2010 SEGUNDO EXERCÍCIO ESCOLAR

Com os monitores.

Notas
14/12/2010 TERCEIRA ENTREGA DO PROJETO -- Jogo multiplayer distribuído

Com os monitores.
21/12/2010PROVA FINAL

Com os monitores.


Avaliação 
A avaliação dos aspectos teóricos da disciplina se dará através de dois exercícios escolares (provas). Alunos que faltarem a uma das provas (mas não a ambas) têm, mediante justificativa da falta, direito a fazer uma prova de segunda chamada. Esta última substitui a prova à qual o aluno faltou. A avaliação prática da disciplina se dará através de um projeto. Esse projeto será realizado por equipes (3 a 5 integrantes) e envolve o desenvolvimento de um jogo que emprega diversos dos conhecimentos adquiridos ao longo da disciplina. O projeto deverá ser apresentado no laboratório, por toda a equipe.

A média do semestre será calculada da seguinte maneira:

Sejam P1 a nota de um aluno na primeira prova, P2 a nota na segunda e PJ a nota do projeto. A média desse aluno será calculada da seguinte maneira:

Média = (P1 + P2 + PJ)/3.      

Se Média >= 7, o aluno será considerado aprovado por média. Se 3 <= Média < 7, o aluno deverá fazer a prova final. Neste caso, se (Média + Pf)/2 >= 5, onde Pf é a nota do aluno na prova final, o aluno será considerado aprovado. Caso contrário, será considerado reprovado.

Fraudes: Caso fraudes sejam detectadas em qualquer uma das avaliações (teórica ou prática), o aluno imediatamente receberá nota 0 (zero) nessa avaliação. O mesmo acontecerá no caso de faltas não-justificadas a qualquer um dos exercícios escolares ou à apresentação dos projetos.

As datas das provas são as seguintes:


Livro Texto e Referências

Os livros-texto da disciplina são os seguintes:

A. S. Tanenbaum. Sistemas Operacionais Modernos – 3ª Edição. Pearson Ed., 2008.

Andrew Tanenbaum, Maarten van Steen. Sistemas Distribuídos: Princípios e Paradigmas. Pearson Ed., 2002.

George Coulouris, Jean Dollimore, Tim Kindberg. Distributed Systems: Concepts and Design -- 3rd/4th Edition. Addison-Wesley, 2001/2005.



Centro da Informática da Universidade Federal de Pernambuco. Alguns direitos reservados©.
Última atualização: 16/12/2010