TBC-SO/WEB : Software Educativo para Aprendizagem de Gerência de Processos e de Gerência de Memória em Sistemas Operacionais

Este trabalho é fruto de projeto de iniciação científica voluntária desenvolvida por Fabrício Pereira Reis (aluno de graduação em Ciência da Computação) e Heitor Augustus Xavier Costa (professor do Departamento de Ciência da Computação) em 2008 na Universidade Federal de Lavras.


TBC-SO/WEB (Treinamento Baseado em Computador para Sistemas Operacionais versão para a Web)

Gerência de Memória

Basicamente, a função principal do componente do sistema operacional responsável pela gerência de memória principal é manter o controle de quais partes da memória estão em uso e quais não estão, alocando memória para os processos quando eles precisam e liberando-a quando eles terminam, além de gerenciar a troca de processos (swapping) entre a memória e o disco quando a memória principal está cheia.

Quando um processo recebe espaço na memória principal, ele é carregado pelo gerenciador de memória do SO e pode concorrer pelo tempo de processador. Dessa maneira, têm-se uma lista de blocos disponíveis na memória e a fila de entrada de processos. A memória é alocada aos processos até que as exigências de memória do processo seguinte não possam ser satisfeitas.

Assim, para resolver o problema de alocação dinâmica, ou seja, para percorrer a lista de lacunas na memória e preenchê-los, existem algoritmos que podem ser considerados: First-Fit, Next-Fit, Best-Fit e Worst-Fit.

* Para acessar as applets relativas a cada algoritmo clique nos links acima!

* Os códigos-fontes estão disponíveis no Google Code. Clique nos links a seguir para acessá-los: First-Fit, Next-Fit, Best-Fit e Worst-Fit.

 

Gerência de Processos

O conceito de processo é um dos mais fundamentais dos sistemas operacionais modernos. Enquanto um programa é apenas um conjunto estático de
comandos, a sua execução é uma atividade mais dinâmica, cujas propriedades mudam à medida que o tempo avança. Esta atividade é denominada processo.

Os processos existentes em um sistema operacional representam entidades independentes executáveis e competem por recursos lógicos e de hardware. O sistema operacional não está preocupado diretamente com o usuário ou com o programa, sua responsabilidade básica é com os processos que devem ser executados. É importante ressaltar a variação do número de programas por usuário e o número de processos por programa. Os recursos que os processos podem usar são: i) memória; ii) dispositivos de entrada e saída; iii) processos; iv) CPU (Central Processing Unit); e v) arquivos.

Nesse contexto, basicamente o gerenciador de processos garante que cada processo receba uma fatia de tempo suficiente para funcionar corretamente e escalona (de acordo com a política implementada) os processos presentes na fila de prontos (localizada na memória principal) para que eles sejam executados.
A tarefa dessas políticas de escalonamento é escolher qual dos processos presentes na fila de prontos será o próximo a ser executado.
Utiliza-se como critério básico o objetivo de aumentar ao máximo o rendimento do sistema operacional, diminuido o tempo de resposta (turnaround time = intervalo de tempo da submissão de um processo até o seu termino) ao usuário. Para conseguir um aumento de eficiência no processador, busca-se reduzir o tempo médio de espera na fila de processos prontos. Tempo de espera é a soma dos períodos gastos por um processo aguardando na fila de espera.

Existem duas categorias principais de políticas de escalonamento: preemptiva e não-preemptiva. Nas políticas não-preemptivas, quando um processo assume o controle do processador, ele o mantém até terminar. Sua principal vantagem em relação às políticas preemptivas, é a simplicidade. Sua desvantagem é a falta de resposta ao comportamento do sistema quando, por exemplo, um processo com alto tempo de processamento detém controle do processador, todos os demais têm de esperar.
Nas políticas preemptivas, depois de certo tempo (devido, por exemplo, às diferentes prioridades dos processos), o sistema operacional pode retomar o controle do processador.

* Políticas Não-Preemptivas: FIFO, SJF, HRRN e Por Prioridade.

* Políticas Preemptivas: SRTF, Por Prioridade e Round-Robin.

* Para acessar as applets relativas a cada algoritmo clique nos links acima!

* Os códigos-fontes estão disponíveis no Google Code. Clique nos links a seguir para acessá-los: FIFO, SJF, HRRN, SRTF, Por Prioridade Não-Preemptiva, Por Prioridade Preemptiva e Round-Robin.


* Clique aqui para acessar a monografia do trabalho (TBC-SO/WEB Software Educativo para Aprendizagem de Gerência de Processos e de Gerência de Memória em Sistemas Operacionais. Autor: Fabrício Pereira Reis) ou aqui para acessar o artigo.

 

* Clique Aqui e Contribua com o Desenvolvimento do TBC-SO/WEB

 

* Dúvidas, Sujestões, Indagações, ...

Contador
Voip