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.
- 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.
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).
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.
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
Nome | CH Semanal | Data inicial | Data final |
---|---|---|---|
GABRIEL LEITE BESSA | |||
HECTOR HUDSON DINIZ FERNANDES | |||
JOÃO ANTONIO NEVES SOARES | |||
LUAN MARK DA SILVA BORELA | |||
Rafael Burlamaqui Amaral | 18 | ||
VINÍCIUS GARCIA PERUZZI |