/**************************************************************************** File: README.txt Description: Instruções para rodar a simulação Project: MAC-5755 Sistemas Operacionais Distribuídos Authors: Fábio Grezele (fg@ime.usp.br) Rachel de Paula(rpaula@ime.usp.br) Institution: Department of Computer Science University of Sao Paulo ******************************************************************************/ Simulação De Um Sistema Distribuído Com Migração De Processos E Balanceamento De Carga O sistema é composto das seguintes classes: Class: AppletMig class Description: Creates the applet and get the input data from the applets parameters Class: CPU Class Description: This class implements the CPU, which takes process Queue[0] Class: Clock class Description: This is just a clock that increments in intervals of 0.3 seconds. It is needed to timestamp process creations and deletions. Class: Computer class Description: Represents a computer in the simution Each computer has a Clock, a Creator, a Queue and an id Class: Creator Class Description: This class creates Proc objects, and adds them to the queue. Class: Display class Description: Is responsible for painting and updating the animation. Class: Proc class Description: This class implements a Process for the simulation. A process has two parameters: the process duration, timeLeft; the process name, procName. Class: Queue Class Description: This is my Queue class. Its members are Proc objects. Class: Refresher Class Description: Call display's repaint method each second Class: Server class Description: Provide the load balance among the computers A descrição detalhada das classes acima pode ser vista no javadoc O algoritmo para escalonamento local utilizado é o Round Robin e o algoritmo para escalonamento Global utilizado é uma heurística baseada no tamanho da fila dos Prontos. A cada 5 segundos o Servidor faz a média do tamanho das filas de todos os computadores, para os computadores cujo tamanho da fila é maior do que a média, alguns de seus processos são migrados para computadores com o menor tamanho de fila. Para executar a simulação abra o arquivo migration/Migration.html em um browser e pressione o botão play. Para mudar o número de computadores na simulção basta editar o arquivo migration/Migration.html, edite a seguinte linha: Mude o value Depois disto talvez seja nescessário redimensionar o tamanho da applet, para isto edite a seguinte linha: Mude os valores de Width e Height