UNIVERSIDADE
FEDERAL DO RIO GRANDE DO SUL
INSTITUTO
DE
INFORMÁTICA
DEPARTAMENTO
DE
INFORMÁTICA APLICADA
INF01151
- SISTEMAS OPERACIONAIS II - TURMA
PROFESSOR:
Marcelo
Johann
SEMESTRE:
2011-2
Súmula
Programa
MATERIAL
DE ANOS ANTERIORES
Aula
01 - Slides em pdf
Aula
02 - Slides em pdf
Aula
03 - Slides em pdf
Aula 03: fork0atraso.c first.c
second.c posix.c
Aula
04 - Slides em pdf
Aula
04: race0.c
Aula
05 - Slides em pdf
Aula
05: race1peterson.c
Aula
06 - Slides em pdf
Aula
07 - Slides em pdf
Aula 07: race2sema.c race3mutex.c
Aula
08 - Slides em pdf
Aula 09 - LAB 104 prédio 67
Aula 10 - LAB 104 prédio 67
Exercicios
Produtores e Consumidores em C com Semáforos Nomeados POSIX: pncnpersistent.c
Produtores e Consumidores em C com
Semáforos
Não Nomeados POSIX: pncnunnamed.c
Produtores e Consumidores em Java com
Semáforos Implementados: PnCn.java
Produtores e Consumidores em C com fork
(vários processos) e
Semáforos Nomeados (persistentes): pncnfork.c
Leituras adicionais sobre Semáforos:
Rich
Wolsky - CS170 Lecture Notes - Semaphores
Allen Downey - The
Little Book of Semaphores
Artigos sobre Semaforos Gerais com Semaforos Binarios:
Hans W. Barz. Implementing Semaphores by Binary
Semaphores. 1983
John A. Trono, William E.
Taylor. Further comments
on 'A correct and unrestrictive implementation of general semaphores'.
2000
Trabalho Prático 2011/2
O trabalho consiste em implementar em C ou C++ ou C# um simulador de
uma máquina com sistema operacional, segundo as
definições fundamentais
disponíveis nos documentos de 2006/1 (abaixo), e utilizando
também o
código de referência em Java de 2006/2 (abaixo). A
estrutura do sistema
pode variar um pouco, mas deve ser semelhante a dos códigos de
referência, para mellhor modelar o sistema. O trabalho do
presente
semestre de 2011/2 deve, entretanto, ser implementado com threads, mas
pode ter opcionalmente processos separados, com
comunicação por
segmentos de
memória compartilhada. A organização aconselhada
é a seguinte: fazer um
processo principal com as threads para CPU, timer e disco, e
outro
processo separado para o terminal de entrada (teclado e monitor), pois
isso facilita a separação das impressões da
simulação e da entrada dos comandos do operador.
Adicionalmente,
também pode ser feito mais um terceiro processo como interface
para
simulação
e visualização.
Pontuação para o
Trabalho Prático,
valendo 14/10
A Pontuação de 14 sobre 10 traz dois
benefícios. Em primeiro lugar, você pode escolher alguns
recursos para implementar, deixando outros de lado. Em segundo lugar,
aqueles alunos que implementarem mais do que 10 pontos receberão
a nota maior do que 10 (até 14) pela dedicação e
sucesso extra nesse trabalho, compensando possível
deficiência em alguma das outras notas da
avaliação. Adicionalmente, se você implementou
algum outro recurso com extensão considerável do
trabalho, envie uma mensagem consultando sobre a possibilidade de esse
recurso ser valorizado na avaliação.
1.0 Várias threads representando componentes e controlador de
interrupções
1.0 Processador rodando com processo dummy
1.0 Timesharing com processos fixos (parte da gerência de
memória)
1.0 Carga de processo através de INT 15 (toda gerência de
memória)
1.0 Chamada de Sistema e acesso a disco direto
1.0 Acesso a disco com
fila de requisições
1.0 Acesso a arquivos abertos pelo usuário
1.0 Segurança: matar processos por acesso ilegal a memória
1.0 Console funcionando em processo separado
1.0 Comunicação por sockets ou memória
compartilhada
1.0 Kernel controlando tempo que cada processo usou de sua fatia
1.0 DMA
1.0 Implementação de semáforos (chamads de sistema
para inicializar, fazer P e V)
1.0 Interface com Play, Stop, Step
Este trabalho deverá ser apresentado pessoalmente por cada dupla
de alunos até a data de 19 de dezembro, em horários a
combinar.
Trabalho de GVGO semestre 2011-2
Perguntas GVGO grupo 1
Perguntas GVGO grupo 2
MATERIAL
DE SEMESTRES ANTERIORES
Perguntas
GVGO grupo 1 - 2007/2
Perguntas
GVGO grupo 2 - 2007/2
Perguntas GVGO grupo1 - 2007-1
Perguntas GVGO grupo2 - 2007-1
Perguntas GVGO CORBA - 2006-2
Perguntas GVGO Sistemas - 2006-2
FOLHA DE
AVALIAÇÃO GVGO
Definição do Trabalho T2
Servidor
de Relógio para T2
Obs:
Para baixar os códigos fonte clique com o botão direito
e
utilize
a opção "Salvar como...", ou "Save as..."
Aula
03 - Slides em pdf
Aula
03 - fork0atraso.c
Aula
04 - Slides em pdf
Aula
04 - race0.c
Aula
05 - Slides em pdf
Aula
05 - peterson4.c
Aula
06 - Slides em pdf
Aula
07 - Slides em pdf
Aula
08 - Slides em pdf
Aula
08 - exemplos .zip
Aula
09 - Slides em pdf
Aula 11 - Slides em pdf
Aula
Sincronização parte 1 - Slides em pdf
Aula de Arquivos 1 -
Slides em pdf
Aula de Deadlock 1 -
Slides em pdf
Cliente-Servidor
com Sockets
Remote
Procedure Call
Definição do Trabalho T1 2006/1:
T120061.zip
Código
Base
para Trabalho 2006-2 limpo: SOPA820062TABS.java
Trabalho de GV/GO sobre estudos de caso
Links
2001/2002
virginia2003.txt
VirCluster.pdf
Mudanças
de rumo da Intel e IBM
WARNING
Source
codes available in this page may contain intentional errors and
special
features that are considered and/or explored in classes.
You
should not expect them to perform properly even for didatic purposes
without modifications. Contact me if you have any questions and need
some help.