SSC-541 t1(jo)

De CoteiaWiki
Revisão de 12h12min de 27 de novembro de 2010 por Joueyama (discussão | contribs)

Informações Gerais

Título: Sistemas Operacionais I (SSC-541) - Turma 1 - INF

Professor: Dr. Jó Ueyama (joueyama at icmc dot usp dot br)

Monitor: Roni Guillermo Apaza Aceituno (roniguillermo at gmail dot com)

Horário de Aulas: Terça, das 19:00 às 20:40 / Sexta das 21:00 às 22:40

Horário Atendimento 
Professor: Quarta, das 18 às 19h00 (Sala 3-111).
Monitor: Combinar por email

Programa do Curso

Aula 1: Programa do Curso (apresentação)

Material Didático

1) Introdução ao Sistemas Operacionais

2) Conceitos iniciais de Sistemas Operacionais

3) Processos

4) Escalonamento de Processos

5) Comunicação Interprocessos

6) Problemas Clássicos de Comunicação entre Processos

7) Passagem de Mensagem

8) Deadlocks

9) Gerenciamento de memória

10) Gerenciamento de memória virtual e swapping

11) Gerenciamento de memória virtual e paginação

12) Paginação e tabelas de páginas

13) Algoritmos de substituição de páginas

14) Segmentação e gerenciamento de E/S

15) E/S por interrupção e DMA

Exercícios Práticos

1) Executar e estudar os mecanismos de sincronização de processos Consumidor e Produtor

  a) Baixar o pacote ProducerCosnsumerTest.java;
  b) Executar o programa ProducerCosnsumerTest;
  c) Dizer como ele realizar a sincronização entre o Consumidor e o Produtor;
  d) Altere o programa de forma que o buffer possa acomodar no máximo três números.

2) Exercícios com passagem de mensagem usando o JCSP (Java for CSP programmers). Esta plataforma implementa i) o paralelismo seguro em Java Threads; e ii) passagem de mensagem. Ele também minimiza os problemas de concorrência como os deadlocks e as condições de corrida. Os procedimentos deste exercício encontram-se abaixo:

  a) Baixar o pacote jcspclasses.jar.gz;
  b) Executar o programa demo DriverProgram.java do JCSP usando a biblioteca do JCSP (a jcspclasses.jar). 
     Para isso baixe o pacote demo.tar.gz. 
     Note q você deve compilar os três programas (ReadEvenIntsProcess.java, SendEvenIntsProcess.java, Loader.java e o DriverProgram.java). 
     Não esqueça também de configurar o CLASSPATH (em Linux export CLASSPATH=nome do diretório onde vc instalou o demo:nome do diretorio do jcspclasses/jcspclasses.jar);
     Por exemplo: export CLASSPATH=/home/joao/demo:/home/joao/jcspclasses.jar:
  c) Desenvolver uma calculadora usando passagem de mensagem em JCSP. 
      Para isso vc deve criar uma classe Subtractor.java e um Adder.java que receba dados de soma e subtração de uma classe Calculator.java. 
      Este último deve criar um canal de comunicação com o Subtractor.java e um outro com o Adder.java, da mesma maneira como é implementado no programa demo.