Nome do Projeto
Desenvolvimento de um ambiente para a simulação de Sistemas Operacionais com o propósito de uso educacional - Fase 2
Ênfase
Pesquisa
Data inicial - Data final
20/06/2024 - 31/05/2027
Unidade de Origem
Coordenador Atual
Área CNPq
Ciências Exatas e da Terra
Resumo
Sistema Operacional (SO) é um software essencial que atua como intermediário entre o hardware e os programas do usuário final, gerenciando a interação com todos os dispositivos do computador. Ele abrange aspectos de baixo nível, como drivers de dispositivo e gerenciamento de memória, bem como aspectos de alto nível, como programas utilitários e a interface gráfica. Esta proposta visa dar continuidade a um projeto anterior, onde foi desenvolvido um protótipo inicial de um simulador de SO, com o objetivo de facilitar a compreensão dos principais conceitos de sistemas computacionais multitarefas, como Unix e Windows, de maneira simples e intuitiva. Inicialmente, realizou-se a modelagem do ambiente computacional de um Sistema Operacional e implementou-se um protótipo inicial do gerenciador de processos. Nesta nova fase, busca-se expandir o simulador para permitir a visualização de conceitos como multiprogramação, estados de processos, gerenciamento do processador e memória virtual. Além disso, o simulador permitirá a alteração de estratégias e processos, possibilitando a simulação de diferentes cenários que ocorrem em ambientes reais.
Objetivo Geral
De forma geral, o projeto propõe:
- Validar a modelagem de classes desenvolvida na fase anterior, assegurando sua robustez e capacidade de expansão.
- Validar o ambiente de simulação de Sistema Operacional desenvolvido anteriormente, garantindo seu funcionamento correto e eficiente.
- Modelar e implementar a capacidade de simular diferentes políticas de escalonamento de processos, proporcionando maior flexibilidade e realismo ao simulador.
- Desenvolver um conjunto de classes para gerenciar a memória utilizada pelos processos, aprimorando a precisão e a funcionalidade do simulador.
- Validar a modelagem de classes desenvolvida na fase anterior, assegurando sua robustez e capacidade de expansão.
- Validar o ambiente de simulação de Sistema Operacional desenvolvido anteriormente, garantindo seu funcionamento correto e eficiente.
- Modelar e implementar a capacidade de simular diferentes políticas de escalonamento de processos, proporcionando maior flexibilidade e realismo ao simulador.
- Desenvolver um conjunto de classes para gerenciar a memória utilizada pelos processos, aprimorando a precisão e a funcionalidade do simulador.
Justificativa
O funcionamento de um Sistema Operacional (SO) é um tema central de estudo em todos os cursos de graduação na área de computação, pois proporciona aos alunos o conhecimento da arquitetura dos sistemas operacionais e a forma de gerenciamento dos recursos computacionais envolvidos. Essa base de conhecimento é essencial para que os discentes possam desenvolver aplicações que aproveitem ao máximo todos os recursos disponíveis.
Diversos trabalhos propõem a criação de simuladores de SO para auxiliar no estudo e compreensão dos conceitos envolvidos (1, 2, 3, 4, 5). Estas ferramentas visam simular as principais funcionalidades de um sistema operacional, permitindo interação com o usuário/discente e facilitando a assimilação dos conceitos abordados nas disciplinas de SO. No entanto, a maioria desses trabalhos não disponibiliza uma forma acessível de utilizar os simuladores desenvolvidos. Apenas em [1] foi possível acessar e executar o simulador, mas 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.
Diante disso, este projeto de pesquisa se justifica pela necessidade de desenvolver um simulador de SO mais avançado e atualizado, que acompanhe a evolução tecnológica e ofereça maior flexibilidade e funcionalidade. Com esta pesquisa, busca-se:
• Validar o modelo de classes que contempla as principais características de um Sistema Operacional, visando à manutenção e adição de novos módulos no futuro (desenvolvido na Fase 1);
• Validar o protótipo funcional do simulador de Sistema Operacional, capaz de gerenciar processos, desenvolvido na Fase 1;
• Implantar o uso de diferentes políticas de escalonamento de processos;
• Especificar um módulo para gerenciar a memória dos processos em execução no simulador;
• Desenvolver e integrar o módulo de gerenciamento de memória ao protótipo do simulador criado na Fase 1.
Este projeto busca preencher as lacunas deixadas por trabalhos anteriores, oferecendo uma ferramenta robusta e flexível para o estudo dos sistemas operacionais, que possa ser utilizada de maneira prática e efetiva por discentes e pesquisadores da área.
Diversos trabalhos propõem a criação de simuladores de SO para auxiliar no estudo e compreensão dos conceitos envolvidos (1, 2, 3, 4, 5). Estas ferramentas visam simular as principais funcionalidades de um sistema operacional, permitindo interação com o usuário/discente e facilitando a assimilação dos conceitos abordados nas disciplinas de SO. No entanto, a maioria desses trabalhos não disponibiliza uma forma acessível de utilizar os simuladores desenvolvidos. Apenas em [1] foi possível acessar e executar o simulador, mas 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.
Diante disso, este projeto de pesquisa se justifica pela necessidade de desenvolver um simulador de SO mais avançado e atualizado, que acompanhe a evolução tecnológica e ofereça maior flexibilidade e funcionalidade. Com esta pesquisa, busca-se:
• Validar o modelo de classes que contempla as principais características de um Sistema Operacional, visando à manutenção e adição de novos módulos no futuro (desenvolvido na Fase 1);
• Validar o protótipo funcional do simulador de Sistema Operacional, capaz de gerenciar processos, desenvolvido na Fase 1;
• Implantar o uso de diferentes políticas de escalonamento de processos;
• Especificar um módulo para gerenciar a memória dos processos em execução no simulador;
• Desenvolver e integrar o módulo de gerenciamento de memória ao protótipo do simulador criado na Fase 1.
Este projeto busca preencher as lacunas deixadas por trabalhos anteriores, oferecendo uma ferramenta robusta e flexível para o estudo dos sistemas operacionais, que possa ser utilizada de maneira prática e efetiva por discentes e pesquisadores da área.
Metodologia
Para alcançar os objetivos propostos neste projeto de pesquisa, a seguinte metodologia será adotada:
Etapa 1: Revisão e Validação do Modelo de Classes
1. Revisão Bibliográfica: Realizar uma revisão detalhada da literatura existente sobre simuladores de Sistemas Operacionais e modelos de classes relacionados.
2. Análise do Modelo Atual: Revisar o modelo de classes desenvolvido na Fase 1 do projeto anterior, identificando suas principais características e possíveis melhorias.
3. Validação do Modelo de Classes: Validar o modelo atual por meio de testes e análises comparativas com outros modelos existentes. Isso incluirá a realização de simulações de cenários típicos de um Sistema Operacional.
Etapa 2: Validação do Protótipo Funcional
1. Teste de Funcionalidade: Testar o protótipo funcional do simulador de SO desenvolvido na Fase 1, garantindo que ele seja capaz de gerenciar processos de forma eficaz.
2. Avaliação de Desempenho: Realizar testes de desempenho para avaliar a eficiência do protótipo em diferentes cenários de carga e utilização.
3. Feedback de Usuários: Coletar feedback de usuários/discentes que utilizem o protótipo, identificando pontos fortes e áreas de melhoria.
Etapa 3: Desenvolvimento e Integração de Novos Módulos
1. Especificação de Módulos Adicionais: Especificar os requisitos para novos módulos, incluindo um módulo de gerenciamento de memória e suporte a diferentes políticas de escalonamento de processos.
2. Desenvolvimento de Módulos: Implementar os novos módulos especificados, garantindo a compatibilidade com o protótipo existente.
3. Integração e Testes: Integrar os novos módulos ao protótipo e realizar testes abrangentes para assegurar que todos os componentes funcionem de maneira coesa e eficiente.
Etapa 4: Validação e Simulação de Cenários
1. Criação de Cenários de Teste: Desenvolver cenários de teste que reflitam situações reais de uso de sistemas operacionais, incluindo diferentes cargas de trabalho e configurações de hardware.
2. Simulação e Análise: Utilizar o simulador para executar os cenários de teste criados, analisando os resultados para validar o comportamento do sistema e identificar possíveis melhorias.
3. Documentação e Relatório: Documentar todos os testes realizados, resultados obtidos e análises feitas. Elaborar um relatório detalhado descrevendo as metodologias utilizadas, os resultados alcançados e as conclusões do projeto.
Etapa 5: Publicação e Disseminação dos Resultados
1. Redação de Artigos Científicos: Redigir artigos científicos com os resultados da pesquisa para submissão em conferências e periódicos da área de computação.
2. Apresentações e Workshops: Apresentar os resultados do projeto em eventos acadêmicos e workshops, compartilhando as descobertas e as contribuições com a comunidade científica.
3. Desenvolvimento de Materiais Didáticos: Criar materiais didáticos baseados no simulador desenvolvido para uso em disciplinas de Sistemas Operacionais, facilitando o ensino e aprendizado dos conceitos abordados.
Etapa 1: Revisão e Validação do Modelo de Classes
1. Revisão Bibliográfica: Realizar uma revisão detalhada da literatura existente sobre simuladores de Sistemas Operacionais e modelos de classes relacionados.
2. Análise do Modelo Atual: Revisar o modelo de classes desenvolvido na Fase 1 do projeto anterior, identificando suas principais características e possíveis melhorias.
3. Validação do Modelo de Classes: Validar o modelo atual por meio de testes e análises comparativas com outros modelos existentes. Isso incluirá a realização de simulações de cenários típicos de um Sistema Operacional.
Etapa 2: Validação do Protótipo Funcional
1. Teste de Funcionalidade: Testar o protótipo funcional do simulador de SO desenvolvido na Fase 1, garantindo que ele seja capaz de gerenciar processos de forma eficaz.
2. Avaliação de Desempenho: Realizar testes de desempenho para avaliar a eficiência do protótipo em diferentes cenários de carga e utilização.
3. Feedback de Usuários: Coletar feedback de usuários/discentes que utilizem o protótipo, identificando pontos fortes e áreas de melhoria.
Etapa 3: Desenvolvimento e Integração de Novos Módulos
1. Especificação de Módulos Adicionais: Especificar os requisitos para novos módulos, incluindo um módulo de gerenciamento de memória e suporte a diferentes políticas de escalonamento de processos.
2. Desenvolvimento de Módulos: Implementar os novos módulos especificados, garantindo a compatibilidade com o protótipo existente.
3. Integração e Testes: Integrar os novos módulos ao protótipo e realizar testes abrangentes para assegurar que todos os componentes funcionem de maneira coesa e eficiente.
Etapa 4: Validação e Simulação de Cenários
1. Criação de Cenários de Teste: Desenvolver cenários de teste que reflitam situações reais de uso de sistemas operacionais, incluindo diferentes cargas de trabalho e configurações de hardware.
2. Simulação e Análise: Utilizar o simulador para executar os cenários de teste criados, analisando os resultados para validar o comportamento do sistema e identificar possíveis melhorias.
3. Documentação e Relatório: Documentar todos os testes realizados, resultados obtidos e análises feitas. Elaborar um relatório detalhado descrevendo as metodologias utilizadas, os resultados alcançados e as conclusões do projeto.
Etapa 5: Publicação e Disseminação dos Resultados
1. Redação de Artigos Científicos: Redigir artigos científicos com os resultados da pesquisa para submissão em conferências e periódicos da área de computação.
2. Apresentações e Workshops: Apresentar os resultados do projeto em eventos acadêmicos e workshops, compartilhando as descobertas e as contribuições com a comunidade científica.
3. Desenvolvimento de Materiais Didáticos: Criar materiais didáticos baseados no simulador desenvolvido para uso em disciplinas de Sistemas Operacionais, facilitando o ensino e aprendizado dos conceitos abordados.
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 | |||
IGOR GOMES DUTRA | |||
JOÃO ANTONIO NEVES SOARES | |||
RAFAEL SEABRA FERRAO | |||
Rafael Burlamaqui Amaral | 19 | ||
VINÍCIUS GARCIA PERUZZI |