Elevador

Disponível somente no TrabalhosFeitos
  • Páginas : 7 (1744 palavras )
  • Download(s) : 0
  • Publicado : 31 de maio de 2011
Ler documento completo
Amostra do texto
i
Licenciatura em Engenharia Informática e Computação
Simulador de funcionamento de elevadores
Sistemas Operativos
Trabalho Efectuado por:
Paulo Ferreira: ei02005@fe.up.pt
Pedro Mendes: ei01108@fe.up.pt
Grupo 5
Turma 3
ii
Resumo
Neste trabalho pretende-se simular um sistema de elevadores de um prédio e os seus
utilizadores, recorrendo a threads.
iii
Índice de Conteúdos
1 Descriçãodo Problema ....................................................................................................................2
2 Funcionalidades Implementadas ..................................................................................................3
3 Arquitectura Global...........................................................................................................................4
3.1 Fluxograma do thread utilizadores........................................................................................................... 4
3.2 Fluxograma do thread elevadores .......................................................................................................... 5
3.3 Fluxograma do thread Main.................................................................................................................... 6
4 Algoritmo dos Threads......................................................................................................................7
5 Testes............................................................................................................................................10
6 Código em Anexo....…………………………………………………………..…………………………………………12

1

2
1 Descrição do problema
O sistema de elevadores a implementar tem algumas limitações pedidas, como por exemplo
o ciclo de vida dos utilizadores é muito simples e sempre igual: sequencialmente chegam ao
prédio, apanham o elevador para um andar (escolhido aleatoriamente) onde esperam um certo
tempo para depois voltarem a sair pelo andar 0 por onde tinham entrado. Temos derivado
desta mesma limitação, a simplificaçãodo ciclo de vida dos elevadores, pois apenas têm um
botão em cada andar dado que eles só necessitam de largar as pessoas e ir busca-las
novamente para o piso 0.
O sistema que implementámos, baseia-se totalmente nestes pressupostos, embora como extra
o tenhamos aproximado de um caso mais geral, mais próximo do pedido para um elevador
normal.

3
2 Funcionalidades implementadasImplementámos todas as funcionalidades pedidas e repensámos o funcionamento proposto
para melhorar o desempenho do sistema e aproximar ao caso geral do funcionamento. Por
exemplo o algoritmo de escolha do próximo destino do elevador foi melhorado e será
explicado na secção seguinte.

4
Atribui
aleatóriamente o
piso de destino da
pessoa
Espera por um
elevador que a vai
transportar ate ao
piso dedestino
Entra no elevador,
selecciona o piso
de destino, espera
que chegue a
esse piso e sai do
elevador
Passa o tempo
passado por
parâmetro na
consola no piso
Chama um
elevador para
descer
Aguarda por um
elevador que a vai
transpostar até ao
piso 0
Entra no elevador
, selecciona o piso
0 ,espera que
chegue ao piso e
sai do elevador
Devolve , ao
thread principal o
tempomáximo de
espera e de
viagem e as suas
médias
Fluxograma
thread
utilizador
3 Arquitectura global
3.1 Fluxograma thread utilizadores

5
3.2 Fluxograma thread elevador

6
Cria um conjunto
de variáveis
partilhadas como
o estado do botão
de chamada de
cada piso, o
estado da porta de
cada um dos
elevadores, o
painel dos botões
existentes no
interior do
elevador, os
mux’s, pisos aserem atendidos
por um elevador
Cria um thread por
cada elevador,
passando lhe
como argumento a
sua identificação
Cria um thread por
cada
utilizador,com um
intervalo entre a
criação de dois
threads
consecutivos
especificado na
linha de
comandos,
passando lhe
como argumento a
sua identificação
No final da
simulação,esperar...
tracking img