Forum Pplware
[Ajuda] Priority Scheduling em C# - Versão de Impressão

+- Forum Pplware (http://forum.pplware.com)
+-- Fórum: Mais Tech (/forumdisplay.php?fid=11)
+--- Fórum: Programação e Web (/forumdisplay.php?fid=16)
+--- Tópico: [Ajuda] Priority Scheduling em C# (/showthread.php?tid=8580)



[Ajuda] Priority Scheduling em C# - Ocullt - 09-03-2011 18:04

Boas pessoal estou a ter muitos problemas a fazer um programa em c# que simule um processador de processos em priority scheduling (em highest job first). Já andei à procura na net mas só encontro alguns algoritmos sobre round robin mas nada de priority scheduling.
Será que me podem ajudar com algum tipo de código mesmo em algoritmia já ajudava imenso. Espero que me possam ajudar. Obrigado


RE: [Ajuda] Priority Scheduling em C# - Guilherme de Sousa - 09-03-2011 21:00

Convém que sejas mais especificado em relação ao tipo de scheduling que pretendes.. há vários algoritmos de escalonamento com prioridades. Dinamico/não dinâmico, com ou sem nice, mais prioridade a que tipo de processos?! cpu intensive/IO intensive, com ou sem quantum?!

Sê o mais explicito e especifico possível de forma a poderes obter a melhor resposta.

cumps


RE: [Ajuda] Priority Scheduling em C# - Ocullt - 10-03-2011 00:22

(09-03-2011 21:00)Guilherme de Sousa Escreveu:  Convém que sejas mais especificado em relação ao tipo de scheduling que pretendes.. há vários algoritmos de escalonamento com prioridades. Dinamico/não dinâmico, com ou sem nice, mais prioridade a que tipo de processos?! cpu intensive/IO intensive, com ou sem quantum?!

Sê o mais explicito e especifico possível de forma a poderes obter a melhor resposta.

cumps

O algoritmo baseia-se em prioridades, não perdendo prioridade após entrar no processador e vai ser corrido sempre o com maior prioridade, vai tem um quantum.
Obrigado desde já cumprimentos


RE: [Ajuda] Priority Scheduling em C# - Guilherme de Sousa - 10-03-2011 00:30

Sim mas como calculas as prioridades? Ai é que esta o Q da questao..
Há imensas abordagens para este tipo de problema. tens é que dizer qual é que queres. Certamente que o que estas a fazer é para um trabalho academico ou escolar, caso contrario nao estarias a fazer uma nova implementação do que ja existe (ainda para mais em c#).

cumps


RE: [Ajuda] Priority Scheduling em C# - Ocullt - 10-03-2011 01:20

Sim é para um trabalho académico e a única coisa que abordamos em termos de como desenvolver o programa só foi falado em arranjar uma estrutura de dados List<> para guardar todos os processos, ordenar por prioridade e apanhar o primeiro (prioridade mais elevada e executar). Desculpa se não estou correcto sobre o que referes em calcular as prioridades. Obrigado


RE: [Ajuda] Priority Scheduling em C# - Guilherme de Sousa - 10-03-2011 14:28

A questão é qual é a prioridade de cada processo, ou seja como é que sabes qual é o mais prioritário.

Existem inúmeras maneiras de atribuir prioridades, há muitas abordagens e dado que te pediram para implementar isso têm que te dizer como o querem.

Uma abordagem muito utilizada é a de atribuir um tempo x de processamento a cada processo. Depois conforme os processos vão se executando uns utilizam o tempo todo, outros bloqueiam se entretanto num semáforo/mutex/monitor.
Os processos que não utilizam este tempo todo são portanto dados como mais prioritários pois são normalmente IO intensive logo o algoritmo da maior prioridade a estes por serem mais rápidos e necessitarem menos de CPU. Processos IO intensive são processos com maior interacção com o utilizador dai também terem que ser executados o mais rapidamente possível de forma a que o user tenha feedback o quanto antes.

Será que é isto que pretendes? Aconselhava te a perguntar ao professor para ser mais específico de forma a não estares a seguir um caminho que não é pretendido.

Cumps