Nome do Projeto
Desenvolvimento de um ambiente para a simulação de Sistemas Operacionais com o propósito de uso educacional
Ênfase
Pesquisa
Data inicial - Data final
01/03/2023 - 01/03/2024
Unidade de Origem
Coordenador Atual
Área CNPq
Ciências Exatas e da Terra
Resumo
Sistema Operacional (SO) é uma camada de software que opera entre o hardware e os programas do usuário final. Trata-se de uma estrutura complexa, que interage com todos os dispositivos associados ao computador, incorporando aspectos de baixo nível (como drivers de dispositivo e gerência de memória) e de alto nível (como programas utilitários e a própria interface gráfica). Com desenvolvimento de um simulador de SO busca-se criar uma forma auxiliar na compreensão dos principais conceitos envolvidos em um sistema computacional multitarefas, como Unix e Windows, de forma simples e intuitiva, permitindo visualizar os conceitos de multiprogramação, processo e suas mudanças de estado, gerência do processador e gerência da memória virtual. Com a possibilidade de alterar as estratégias e os processos, será possível simular diferentes cenários que acontecem em ambientes reais.

Objetivo Geral

De forma geral, o projeto propõe:
- Especificar um modelo de classes que contemple as principais características de um Sistema Operacional, visando manutenção e adição de novos módulos no futuro;
- Desenvolver um protótipo funcional para simular o funcionamento de um Sistema Operacional, capaz de gerenciar o processador e a memória na execução de processos computacionais.

Justificativa

Atualmente, o funcionamento de um Sistema Operacional é alvo de estudo em todos os cursos de graduação da área de computação, pois proporciona ao discente o conhecimento da arquitetura dos Sistemas Operacionais e a forma de gerenciamento dos recursos computacionais envolvidos. Esta base de conhecimento permite que o discente crie aplicações que explorem ao máximo todos os recursos existentes.
Alguns trabalhos relacionados propõem a criação de um simulador de SO para auxiliar no estudo e entendimento dos conceitos envolvidos [1, 2, 3, 4, 5]. Estes trabalhos apresentam ferramentas com o objetivo de simular as principais funcionalidades de um sistema operacional e permitem certa interação com o usuário/discente de forma a facilitar a assimilação dos conceitos tipicamente abordados em disciplinas de SO. Porém, a maioria dos trabalhos encontrados não disponibilizam uma forma de utilizar o simulador desenvolvido; somente em [1] foi possível acessar e executar o simulador desenvolvido, porém, o projeto não acompanhou a evolução dos computadores (por exemplo, considera um ambiente monocore), não permite configurações personalizadas das estratégias de gerenciamento, apresenta diversas falhas e foi descontinuado.
Com esta pesquisa, busca-se:
- Especificar um modelo de sistema modular que simule as características de um SO e que permita atualizações de forma facilitada;
- Criar um protótipo de um simulador de SO multicore, que seja capaz de tratar a gerência de processos em mais de um núcleo de processamento e a gerência de memória real e virtual associada. Busca-se ter uma interface interativa e que permita a configuração personalizada de diferentes políticas, simulando diferentes cenários de SOs atuais.

Metodologia

Para o desenvolvimento deste projeto pretende-se realizar as seguintes atividades:
1. Estudar outros simuladores existentes, realizando uma análise crítica em busca de identificar as vantagens e desvantagens.
2. Especificar um modelo de sistema que permita fácil manutenção e adição de novas funcionalidades.
3. Desenvolver e experimentar o simulador de Sistema Operacional.
4. Avaliar o impacto de adicionar outros módulos/gerenciadores (por exemplo: Gerenciador de Armazenamento).

Indicadores, Metas e Resultados

São metas deste projeto:
1. Obter um ambiente modular capaz de receber configurações personalizadas permitindo explorar diferentes características dos gerenciadores envolvidos.
2. Obter um ambiente que ilustre graficamente o funcionamento dos principais aspectos de um SO, permitindo melhor entendimento dos conceitos relacionados.
3. Apresentar para a comunidade científica os resultados obtidos através de publicações em eventos e periódicos da área.

Equipe do Projeto

NomeCH SemanalData inicialData final
GABRIEL LEITE BESSA
HECTOR HUDSON DINIZ FERNANDES
JOAO ANTONIO NEVES SOARES
LUAN MARK DA SILVA BORELA
Rafael Burlamaqui Amaral18
VINICIUS GARCIA PERUZZI

Página gerada em 23/02/2024 06:15:23 (consulta levou 0.332132s)