Informações Principais
     Resumo
     Abstract
     Introdução
     Conclusão
     Download
  
  
  
 
Introdução
 
 
Acadêmico(a): Marco Antonio Ruthes dos Santos
Título: Animação do Funcionamento de um Núcleo de Sistema Operacional
 
Introdução:
A disciplina de Sistemas Operacionais é fundamental nos currículos de graduação em Ciência da Computação, ao lado de outras disciplinas, como Arquitetura de Computadores e Redes. O correto entendimento dos mecanismos presentes nos sistemas operacionais permite ao profissional de informática uma melhor compreensão de seu ambiente de trabalho, resultando no desenvolvimento de soluções com maior qualidade e eficiência. Morselli Junior (2003) afirma que a disciplina de Sistemas Operacionais faz parte de um conjunto de disciplinas que são tradicionalmente oferecidas pelos cursos de Ciência da Computação. Pode-se obter uma ótima discussão sobre o conteúdo programático de Sistemas Operacionais em Anido (2000). Nesse contexto, a disciplina de Sistemas Operacionais busca apresentar aos alunos os conceitos e mecanismos fundamentais usados na construção de sistemas operacionais e como esses conceitos podem ser usados – e influenciar – na construção de aplicações. Além dos tópicos clássicos da área, como gerência de processos, memória e arquivos, a ementa da disciplina pode ainda cobrir assuntos específicos como escalonamento de tempo real, coordenação distribuída, sistemas embarcados, máquinas virtuais, etc (MAZIERO, 2002). Para Machado e Maia (2004), a dificuldade no ensino de Sistemas Operacionais já vem sendo discutida há algum tempo por pesquisadores como Downey (1999) e Jones e Newman (2002). No Brasil, existem poucos trabalhos acadêmicos publicados sobre o ensino-aprendizado de Sistemas Operacionais. Dentre os existentes pode-se destacar Anido (2000), Machado e Maia (2004) e Maziero (2002). Como exposto em Perez-Davilla (1995), o sistema operacional constitui uma “ponte” entre o mundo abstrato das teorias e algoritmos e o mundo prático e concreto do hardware. Essa característica de ponte entre dois mundos tão distintos pode tornar o ensino de Sistemas Operacionais uma tarefa trabalhosa e pouco efetiva. Notadamente, exige-se dos alunos uma grande capacidade de construir abstrações mentais dos mecanismos envolvidos para poder compreender os aspectos mais densos da disciplina. Com isso, observa-se que muitos alunos concluem a disciplina conhecendo os principais conceitos e algoritmos, mas têm muita dificuldade em integrar todos aqueles conceitos de forma coerente. Conforme Morselli Junior (2003), existem publicações, tais como Maziero (2002), que abordam com extrema clareza as principais características das ferramentas utilizadas no processo de aprendizagem de uma disciplina de Laboratório de Sistemas Operacionais. Entretanto, com relação ao conteúdo puramente teórico, oferecido pela disciplina Sistemas Operacionais pouco se discute em relação às formas de utilização das técnicas de ensino. Uma das estratégias para apoiar o ensino de conceitos na disciplina é o uso de simuladores. Segundo Machado e Maia (2004), simuladores envolvem a criação de modelos dinâmicos e simplificados do mundo real, sendo o potencial educacional deste tipo de ferramenta muito superior ao dos programas tradicionais. Na área da ciência da computação existem simuladores que auxiliam no ensino de várias disciplinas, como Redes de Computadores, Técnicas de Programação, Arquitetura de Computadores e Sistemas Operacionais. Dentre os diferentes tipos de simuladores, cada um possui suas características próprias, vantagens e desvantagens. Em geral, os simuladores, apesar de mais simples que os sistemas reais, também oferecem dificuldades em utilizá-los. A maioria dos simuladores em Sistemas Operacionais apresenta uma elevada curva de aprendizado, exigindo também bons conhecimentos de Unix e programação (MACHADO; MAIA, 2004) O professor Mauro Mattos, na disciplina de Sistemas Operacionais da FURB, desenvolve em sala de aula uma série de exercícios de fixação de alguns conceitos importantes da mesma. Um dos exercícios realizados pelos alunos consiste em representar numa planilha os eventos que ocorrem durante a execução de um conjunto de processos em um núcleo de sistema operacional preemptivo. O resultado deste exercício é um log gerado em arquivo texto conforme apresentado na figura 1. Nesta figura é possível identificar que processo está executando. Também é possível destacar em que momento quais processos estavam prontos para execução ou bloqueados aguardando por algum evento. Maiores detalhes serão apresentados no capitulo 2. Tendo em vista permitir uma melhor visualização do comportamento do sistema simulado, Mattos (2004) desenvolveu uma série de slides em PowerPoint, para caracterizar o comportamento simulado de um núcleo de sistema operacional. A figura 2 apresenta um destes slides. Embora contribua para o entendimento do funcionamento de um núcleo de sistema operacional, este conjunto de slides estático não é suficiente para adaptar-se aos exemplos gerados pelas simulações produzidas pelos alunos. Neste sentido, o que se propõe neste trabalho é a construção de uma ferramenta que possibilite a animação dos logs produzidos pelos alunos a partir dos estudos de caso propostos em aula.