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 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. 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. * 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, ... |
|||