|
|
Linha 1: |
Linha 1: |
− | == 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 ==
| |
− |
| |
− | [[Media:SilaboSSC0541.pdf|Aula 1: Programa do Curso (apresentação)]]
| |
− |
| |
− | == Material Didático ==
| |
− |
| |
− | [[Media:Aula02.pdf|1) Introdução ao Sistemas Operacionais]]
| |
− |
| |
− | [[Media:Aula03.pdf|2) Conceitos iniciais de Sistemas Operacionais]]
| |
− |
| |
− | [[Media:Aula04.pdf|3) Processos]]
| |
− |
| |
− | [[Media:Aula05.pdf|4) Escalonamento de Processos]]
| |
− |
| |
− | [[Media:Aula06.pdf|5) Comunicação Interprocessos]]
| |
− |
| |
− | [[Media:Aula06_2.pdf|6) Problemas Clássicos de Comunicação entre Processos]]
| |
− |
| |
− | [[Media:Aula06_3.pdf|7) Passagem de Mensagem]]
| |
− |
| |
− | [[Media:Aula07.pdf|8) Deadlocks]]
| |
− |
| |
− | [[Media:Aula08.pdf|9) Gerenciamento de memória]]
| |
− |
| |
− | [[Media:Aula09.pdf|10) Gerenciamento de memória virtual e swapping]]
| |
− |
| |
− | [[Media:Aula10.pdf|11) Gerenciamento de memória virtual e paginação]]
| |
− |
| |
− | [[Media:Aula11.pdf|12) Paginação e tabelas de páginas]]
| |
− |
| |
− | [[Media:Aula12.pdf|13) Algoritmos de substituição de páginas]]
| |
− |
| |
− | [[Media:Aula13.pdf|14) Segmentação e gerenciamento de E/S]]
| |
− |
| |
− | [[Media:Aula14.pdf|15) E/S por interrupção e DMA]]
| |
− |
| |
− | [[Media:Aula15.pdf|16) Drivers e Discos]]
| |
− |
| |
− | == Avisos ==
| |
− |
| |
− | 1) Data da REC: 21/12/2010 às 19hrs na sala 5-004; conteúdo: toda do semestre
| |
− |
| |
− | == Exercícios Práticos ==
| |
− |
| |
− | 1) Executar e estudar os mecanismos de sincronização de processos Consumidor e Produtor
| |
− | a) Baixar o pacote [[Media:ProducerConsumerTest.java.gz |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 [[Media:jcspclasses.jar.gz |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 [[Media:demo.tar.gz |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.
| |