Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama...

16
Simulador para a Prática de Sistemas Operacionais Denise Schimitz de Carvalho, Glauber da Rocha Balthazar, Carlos Rodrigo Dias, Marco Antônio Pereira Araújo, Paulo Henrique Rezende Monteiro Bacharelado em Sistemas de Informação – Faculdade Metodista Granbery (FMG) Rua Batista de Oliveira, 1145 - 36010-532 - Juiz de Fora – MG {dcarvalho,gbalthazar}@si.granbery.edu.br, {crdias,maraujo,phrmonte}@granbery.edu.br Resumo. Nesse artigo é apresentado o trabalho de pesquisa que vem sendo realizado com o objetivo de desenvolver uma ferramenta de apoio para o ensino e aprendizagem da disciplina Sistemas Operacionais de cursos de graduação nas diferentes áreas da Computação. Esta ferramenta trata-se de um simulador das principais funcionalidades de um sistema operacional e permitirá uma interação com o usuário/aluno de forma a facilitar a assimilação dos conceitos ensinados na disciplina. Palavras-chave: Sistemas Operacionais, Simulador, Aprendizado, S²O. Abstract. This paper presents the research that has been done in order to develop a tool to be used in the process of teaching and learning Operating Systems classes in graduation courses of different areas in Computer Science. This tool is a simulator of the operating system main functions, and it will allow an interaction with the user/student that will make the assimilation of the concepts taught in class easier. Keywords: Operational Systems, Simulator, Learning, S²O. 1. Introdução O presente artigo tem como objetivo apresentar o desenvolvimento do S²O (CARVALHO et al. 2006), um software para auxílio no aprendizado da disciplina Sistemas Operacionais. A motivação para o desenvolvimento do software surgiu a partir da constatação da necessidade de agregar aspectos práticos à disciplina do Curso de Sistemas de Informação, o que pode ser realizado através da utilização pelos alunos de um software simulador das principais funções implementadas em um Sistema Operacional (SO). A partir da realização de um estudo preliminar, não foi encontrado nenhum simulador de sistemas operacionais que possuísse funcionalidades como a exibição

Transcript of Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama...

Page 1: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

Simulador para a Prática de Sistemas Operacionais

Denise Schimitz de Carvalho, Glauber da Rocha Balthazar, Carlos Rodrigo Dias, Marco Antônio Pereira Araújo, Paulo Henrique Rezende Monteiro

Bacharelado em Sistemas de Informação – Faculdade Metodista Granbery (FMG) Rua Batista de Oliveira, 1145 - 36010-532 - Juiz de Fora – MG

{dcarvalho,gbalthazar}@si.granbery.edu.br, {crdias,maraujo,phrmonte}@granbery.edu.br

Resumo. Nesse artigo é apresentado o trabalho de pesquisa que vem sendo realizado com o objetivo de desenvolver uma ferramenta de apoio para o ensino e aprendizagem da disciplina Sistemas Operacionais de cursos de graduação nas diferentes áreas da Computação. Esta ferramenta trata-se de um simulador das principais funcionalidades de um sistema operacional e permitirá uma interação com o usuário/aluno de forma a facilitar a assimilação dos conceitos ensinados na disciplina. Palavras-chave: Sistemas Operacionais, Simulador, Aprendizado, S²O.

Abstract. This paper presents the research that has been done in order to develop a tool to be used in the process of teaching and learning Operating Systems classes in graduation courses of different areas in Computer Science. This tool is a simulator of the operating system main functions, and it will allow an interaction with the user/student that will make the assimilation of the concepts taught in class easier. Keywords: Operational Systems, Simulator, Learning, S²O.

1. Introdução

O presente artigo tem como objetivo apresentar o desenvolvimento do S²O

(CARVALHO et al. 2006), um software para auxílio no aprendizado da disciplina

Sistemas Operacionais. A motivação para o desenvolvimento do software surgiu a partir

da constatação da necessidade de agregar aspectos práticos à disciplina do Curso de

Sistemas de Informação, o que pode ser realizado através da utilização pelos alunos de

um software simulador das principais funções implementadas em um Sistema

Operacional (SO).

A partir da realização de um estudo preliminar, não foi encontrado nenhum

simulador de sistemas operacionais que possuísse funcionalidades como a exibição

Page 2: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

gráfica e gradual de Gerência dos Processos por diferentes políticas de escalonamento,

importantes no processo de aprendizagem do funcionamento de um sistema operacional.

O S²O (Simulador de Sistemas Operacionais) está sendo desenvolvido para que estas

funcionalidades possam estar disponíveis de acordo com as necessidades do professor

responsável pela disciplina, alinhada às necessidades dos alunos. Para que o S²O possa

ser utilizado como suporte no contexto da aprendizagem da disciplina, está sendo

desenvolvido tendo em vista sua aplicabilidade através do modelo pedagógico

construtivista.

A disciplina de Sistemas Operacionais, normalmente presente nas grades

curriculares de cursos de Bacharelado em Sistemas de Informação, é uma disciplina em

que são abordados tópicos referentes às principais funcionalidades encontradas em um

Sistema Operacional. Um SO pode ser considerado, de uma forma geral, como sendo

um conjunto de módulos de software que trabalham de forma integrada, com o objetivo

de permitir o funcionamento dos diversos componentes de um computador e a sua

interação com o usuário.

Os temas normalmente tratados na disciplina Sistemas Operacionais são:

gerência de processos, que corresponde ao controle dos programas em execução no

computador, bem como os aspectos relevantes sobre a concorrência de processos que

compartilham recursos; gerência de memória, que diz respeito às possíveis formas de

controle da alocação dos processos na memória principal do computador; sistemas de

arquivos, quando são consideradas as diferentes possíveis estruturas mantidas na

memória secundária do computador para o armazenamento e controle de arquivos

(SILBERSCHATZ, GALVIN e GAGNE, 2000).

Apesar da disciplina Sistemas Operacionais possuir um apelo prático, tendo

em vista que os conceitos são todos aplicáveis em sistemas operacionais reais, ela é

essencialmente teórica, com a exposição dos muitos conceitos envolvidos e algoritmos

existentes. Dessa forma, seu conteúdo muitas vezes não é absorvido adequadamente.

Com o objetivo de enfrentar esta questão, a do distanciamento ou dicotomia entre teoria

e prática, o S²O simula o comportamento de um sistema operacional no que tange à

gerência dos processos.

Page 3: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

No contexto do Curso de Sistemas de Informação, a implementação do S²O

possui uma perspectiva pedagógica que aborda a utilização dos conceitos ministrados

em diferentes disciplinas como Algoritmos, Estruturas de Dados, Análise e

Programação Orientada a Objetos, Arquitetura e Organização de Computadores,

Linguagem de Programação e a própria disciplina de Sistemas Operacionais. Esta

interdisciplinaridade é estendida na medida em que o projeto pretende utilizar, como um

dos pilares de suporte, as propostas pedagógicas de educação que levem em

consideração ao exposto anteriormente. Neste sentido, as reflexões e escritos de

pensadores como Jean Piaget, Vygotsky, Emília Ferreiro e Paulo Freire são

significativas.

Desta forma, nesse artigo é apresentado o S²O na sua atual fase de

desenvolvimento. Inicialmente, na Seção 2, é apresentada uma conceituação do

simulador S²O, indicando seus objetivos e como ele se enquadra neste contexto teórico.

Na Seção 3, é apresentado seu processo de desenvolvimento. Em seguida, na Seção 4, é

apresentado detalhadamente o funcionamento do simulador com a intenção de mostrar

as funcionalidades já implementadas. Finalmente, na Seção 5 é destacado o que será

implementado nas próximas etapas de desenvolvimento do S²O, sempre com o foco em

construir um software que agregue conhecimento e promova os alunos da disciplina

Sistemas Operacionais a participarem de forma mais ativa no seu processo

ensino/aprendizagem.

2. Conceituação

Especificamente sobre o processo de aprendizagem ou de entendimento

sobre o sistema operacional de uma máquina de computação, aquele que pretende

ensinar deve se fazer algumas perguntas antes de começar a discursar como as coisas

acontecem no processamento de um problema, por parte de um sistema operacional.

Quais são as informações que este alguém que quer aprender deverá ter para entender

um sistema operacional? A detenção mnemônica, por parte de quem aprende, de alguns

dados é o suficiente para a aprendizagem? É assim que acontece a aprendizagem?

Primeiro se memoriza algumas informações e depois, por um processo mágico — que

não se tem a menor idéia de como se dá — o aprendiz vai articulando as coisas e

aprende? (FREIRE, 1977).

Page 4: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

A idéia que fundamenta a proposta pedagógica deste projeto é a de que o

processo de aprendizagem de algo por alguém, quer seja autonomamente ou com

auxílio de outra pessoa, guarda relação direta com o grau de consciência — por parte de

quem quer ensinar e também de quem quer aprender — do processo de aprendizagem.

Ninguém aprende se não tem consciência de que conhecer é empreender a inteligência

no entendimento de uma determinada questão/problema. Neste sentido, o(a) estudante

de sistemas operacionais precisa ter consciência das questões/problemas que um sistema

operacional pretende dar conta. Em outras palavras, é necessário saber quais são as

questões/problemas que se pretende responder com um sistema operacional. Mas não é

só isso. É necessário que o(a) aprendiz seja convidado(a) a resolver alguns problemas

típicos de um sistema operacional. E ainda, é necessário que o(a) aprendiz acompanhe

os “movimentos” da solução de um problema por um sistema operacional. O que ora é

proposto é uma ferramenta que auxilie o(a) aprendiz neste sentido.

3. Construção do S²O

Dentro da perspectiva apresentada na Seção 2, está sendo desenvolvido o

S²O para atender à funcionalidade de gerência do processador, baseado no paradigma da

orientação a objetos. O processo de desenvolvimento segue uma abordagem clássica de

desenvolvimento de software através das etapas de Levantamento de Requisitos,

Análise, Projeto, Codificação e Testes, apoiadas pelos diagramas propostos pela UML

(Unified Modeling Language) (BOOCH, RUMBAUGH e JACOBSON, 2000).

Como resultado da etapa de Levantamento de Requisitos, os principais

requisitos foram identificados como sendo:

permitir a simulação de processos definidos pelo usuário;

adicionar processos antes e durante a execução da simulação;

permitir a persistência e recuperação destes processos em disco através

de arquivos XML;

manter os processos organizados em filas (processos, executando,

prontos e terminados);

aumentar e diminuir a velocidade da simulação;

Page 5: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

permitir ao usuário informar o número de processadores a serem

utilizados na simulação;

permitir a visualização da alteração dos estados dos processos entre as

filas de execução;

escolher a política de escalonamento a ser utilizada;

possibilitar que o usuário possa executar a simulação através de uma

política personalizada, na qual ele faça o papel de escalonador de

processos; e

exibir estatísticas da execução dos processos, como tempo médio de

turnaround e tempo da espera dos processos.

Ainda nesta etapa do processo de desenvolvimento, os requisitos

identificados foram detalhados, servindo de base para a etapa seguinte de Análise, onde

estes requisitos são expressos em termos de diagramas que retratam o problema em

questão, numa visão conceitual. Neste contexto, o Diagrama de Classes da Figura 1

apresenta o modelo do S²O.

Figura 1. Diagrama de Classes do Simulador de Sistema Operacional

Page 6: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

A etapa de Projeto refere-se à transformação dos modelos conceituais em

especificações que possam ser implementadas, ou seja, representam o problema em uma

visão computacional. Nesta etapa, além de refinar os diagramas criados na etapa

anterior, é definida a plataforma a ser utilizada no desenvolvimento do produto. Uma

diretriz para este projeto é que o desenvolvimento seja baseado em software livre e,

considerando um desenvolvimento orientado a objetos, foi escolhida a linguagem Java

(DEITEL e DEITEL, 2002) para a construção do S²O.

Desta forma, considerando a etapa de Codificação, o protótipo do S²O foi

construído e sua tela principal é mostrada na Figura 2. A utilização do protótipo será

explicada na Seção 4.

Figura 2. Tela principal do simulador

A etapa de Testes permite a verificação do correto funcionamento do

simulador, através do planejamento e execução de casos de teste previamente definidos,

através de uma ferramenta que auxilie, de forma efetiva, a realização desta etapa, como

por exemplo a ferramenta JUnit.

No atual estágio de implementação, o S²O disponibiliza as políticas de

escalonamento FCFS, Prioridade não preemptivo, SJF não preemptivo, Prioridade

Preemptivo, Prioridade não Preemptivo, Round Robin e Personalizada, utilizadas para

Page 7: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

gerenciar a execução dos processos definidos pelo usuário. Além disso, o S²O permite

ao usuário adicionar processos em tempo de execução e manipular a velocidade da

simulação.

4. Funcionamento do S²O

Com o desenvolvimento da primeira versão do S²O, através do processo

descrito na Seção 3 e com as principais funcionalidades já implementadas, é

apresentada nessa seção uma descrição detalhada do funcionamento do simulador.

Na tela principal do S²O, apresentada na Figura 2, estão presentes as filas

que correspondem aos estados que um processo pode assumir durante a sua

permanência no sistema de computação: “Pronto”, “Executando” e “Terminado”.

Segundo Silberschatz, Galvin e Gagne (2000), a utilização destas filas é necessária para

a gerência da utilização do processador. Na tela principal do S²O há também a fila

“Processos”, na qual são inseridos os processos que irão entrar no sistema. As

informações relativas a cada processo, presentes nas filas, são:

• PID (Process Identifier): um número inteiro utilizado como identificador

do processo;

• Nome: um nome que pode ser atribuído ao processo;

• Prioridade: valor inteiro que indica a prioridade de execução do

processo, para o qual, quanto menor o valor, maior a prioridade do

processo. Este atributo é relevante apenas para as políticas de

escalonamento “Prioridade Preemptivo” e “Prioridade Não-Preemptivo”;

• T. Cheg.: tempo de chegada é um valor inteiro, em milisegundos, que

indicará em qual momento o processo deverá entrar no sistema, quando

será inserido na fila de prontos e estará apto a utilizar o processador – o

estado “Executando”. Este momento de chegada corresponde ao número

de ciclos da CPU decorridos desde o início da execução do escalonador;

• Ciclos: corresponde ao número de ciclos que o processo irá utilizar na

CPU, ou seja, o tempo que ficará no estado “Executando”. Dependendo

Page 8: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

do algoritmo utilizado, um processo pode utilizar os ciclos de CPU de

forma não contínua no tempo;

• T. Saída: o tempo de saída é um valor inteiro, também em milisegundos,

que será obtido apenas quando o processo tiver terminado a sua execução

por completo, correspondendo ao valor do contador do ciclo do

processador no momento em que isto ocorreu.

• Ciclo Rest.: corresponde ao número de ciclos de CPU que o processo

ainda necessita para executar. Assim que o processo entra no sistema este

valor é igual ao valor do atributo “Ciclos”, e vai reduzindo o seu valor

enquanto está executando na CPU, até alcançar o valor 0 (zero), quando

o processo termina a sua execução.

Antes de iniciar uma simulação, é necessária a criação de processos,

informando seus atributos e inserindo-os na fila de processos. Para isto, na tela

principal, deve-se clicar no botão “Adicionar” e informar as características de cada

processo na caixa de diálogo apresentada, conforme Figura 3.

Figura 3. A inserção de processos no simulador.

Ao término da inserção de todos os processos, a fila de Processos estará

preenchida como exemplificado na Figura 4, permitindo que as demais configurações

possam ser definidas.

Page 9: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

Figura 4: Exemplo de fila de Processos preenchida com processos para a execução da simulação

Após o preenchimento da fila de processos, deve-se escolher a Política de

Escalonamento a ser utilizada pela simulação. Para isto, deve ser utilizada a Lista de

Políticas, disponível na barra de ferramentas do S²O, conforme a Figura 5.

Figura 5: Políticas de Escalonamento

Na barra de ferramentas, ao lado da caixa de listagem referente à política de

escalonamento, está a caixa de texto “Nº de Processadores”, na qual pode-se informar a

quantidade de processadores que serão utilizados na simulação, bastando que apenas

seja digitado um número inteiro maior que zero. O número de processadores

Page 10: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

determinará quantos processos poderão executar paralelamente, ou seja, ficarem

simultaneamente na fila “Executando”.

A simulação do S²O segue uma velocidade de execução pré-determinada,

podendo-se acelerar a execução do escalonador de processos ou retardá-lo. Isto permite

uma execução lenta ou rápida, de acordo com a quantidade de ciclos da CPU por

unidade de tempo, informados na caixa “Ciclos de CPU”. Por padrão, é adotado no S²O

uma velocidade mediana, mas que pode ser alterada de acordo com a necessidade para

ser mais rápida, com mil ciclos por unidade de tempo, ou mais lenta, com cem ciclos

por unidade de tempo.

O S²O permite também que a configuração dos processos definidos em uma

simulação possa ser persistida em disco através de um arquivo XML, sendo reutilizada

em outro momento. Para isso, deve-se abrir o menu Opções e escolher o item “Gravar

Fila de Processos”, como mostrado na Figura 6.

Figura 6: Persistindo a simulação em disco através de arquivos XML

Na caixa de diálogo que é exibida, deve-se fornecer um nome para a

simulação e um diretório para o armazenamento. Ao final deste procedimento a

simulação estará armazenada em disco e o layout do arquivo será como do exemplo

exibido na Figura 7. Caso exista um arquivo criado anteriormente com informações

sobre processos, este pode ser carregado para a realização de uma nova simulação.

Após a realização das configurações do simulador, pode-se iniciar uma

simulação pressionando o botão “Iniciar” na parte inferior da tela principal. Durante a

execução de uma simulação pode-se também pausar a simulação e em seguida

continuar, através do botão “Pausar”, ou interromper definitivamente uma execução,

através do botão “Terminar”. No canto inferior direito da tela principal é apresentado o

Page 11: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

contador da CPU, que indica o total de ciclos de CPU decorridos desde o início da

execução do escalonador.

Figura 7: Arquivo XML gerado a partir de uma configuração de simulação

Durante a execução do simulador, os processos passam da fila de

“Processos” para a fila de “Prontos” conforme o tempo de chegada. A partir daí,

dependendo da política de escalonamento selecionada, os processos são selecionados

para execução, migrando da fila de “Prontos” para “Executando”. Vale ressaltar que

Page 12: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

apenas os processos que estão na fila de “Prontos” podem ser executados. Ainda

dependendo da política de escalonamento escolhida, um processo pode ser interrompido

durante sua execução para que outro processo de maior prioridade ou com menos ciclos

execute na CPU, o que é chamado de preempção. Na preempção, o processo

interrompido durante a execução retorna para a fila de prontos e aguarda nova chance

para executar. Quando um processo conseguir terminar de executar todos os seus ciclos

de CPU, ele é encerrado e migra da fila “Executando” para a fila “Terminados”.

Como exemplo da execução de uma simulação no S²O, será utilizada a

política de escalonamento “Personalizada”, que permite que o usuário/aluno faça o

papel do escalonador de processos. Nesta política, a cada interrupção gerada pelo

sistema o usuário/aluno deverá tomar decisão sobre qual o processo que deverá ser

escalonado para execução. Neste exemplo, o número de ciclos por unidade de tempo

para a execução da simulação será configurado como 900 ciclos e apenas um

processador estará disponível para a simulação. Para este exemplo será utilizada a fila

de processos apresentada na Figura 4.

Após carregar a fila de processos, para dar início à execução da simulação,

deve-se clicar no botão “Iniciar”, na parte inferior da janela. Assim que a simulação é

iniciada, perguntas são feitas de acordo com a chegada de novos processos. Na Figura 8

o simulador está em 2 ciclos de CPU e neste momento o processo “proc1” (com PID =

3) chegará à fila de prontos, conforme indicado na fila de processos. Assim, é

questionado sobre o que o simulador deverá fazer, se o processo proc1 deverá ser

executado ou não.

Page 13: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

Figura 8: Pergunta sobre a execução de um processo

Como dito anteriormente, é possível, durante a execução da simulação,

clicar no botão “Pausar”. Isto permite que possa ser feita uma troca de processos entre

filas, ou seja, assim que o botão “Pausar” for acionado é disponibilizada a opção de

realizar uma troca entre um processo que está sendo executado por outro que se

encontre na fila de Prontos. Um exemplo desta situação é apresentado na Figura 9, na

qual, caso seja escolhida a opção “sim”, será apresentada uma caixa de diálogo

solicitando que seja informado o processo que será movido da fila de “Prontos” para a

fila “Executando”, devendo ser fornecido, para isto, o identificador dos processos

(PID), como mostrado na Figura 10. Caso o simulador tenha sido configurado com mais

de um processador e, assim, mais de um processo esteja na fila “Executando”, é

solicitado também o PID do processo que deverá deixar a fila “Executando” e ir para a

fila de “Prontos”.

Page 14: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

Figura 9: Troca de processo que está em execução por outro existente na Fila de Prontos

Figura 10: Seleção do Processo a ser movido entre as Filas de Execução e de Prontos

Após o término da troca de processos entre as filas, deve-se clicar no botão

“Continuar”, que substituiu o botão “Pausar”, para dar prosseguimento à simulação.

Ainda na política de escalonamento “Personalizada”, quando o simulador

conclui a execução de um processo, questiona sobre qual processo será executado, ou

seja movido da fila de “Prontos” para “Executando”, solicitando para isto o PID do

processo, conforme Figura 11.

Page 15: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

Figura 11: Seleção do Processo a ser movido da Fila de Execução para a Fila de Prontos

Quando a execução da simulação é concluída, os processos estarão todos

alocados na Fila de Terminados e será permitido executar uma nova simulação bastando

para isso, clicar no botão “Terminar” e logo em seguida no botão “Nova Simulação”.

O exemplo apresentado referiu-se à política de escalonamento

“Personalizada”. Entretanto, pode-se escolher qualquer uma das políticas

implementadas no simulador e apresentadas na Figura 5. Dependendo da política

escolhida, o simulador irá selecionar de forma automática determinados processos para

migrarem entre as filas de “Prontos” e “Executando”. A solicitação ao usuário sobre os

processos que devem migrar entre filas ocorre apenas na política “Personalizada”.

5. Considerações Finais

Neste artigo foi apresentado o S²O, uma ferramenta para auxílio ao ensino

da disciplina Sistemas Operacionais. A pesquisa para o desenvolvimento deste

simulador pretende utilizar, como um dos pilares de suporte, as propostas pedagógicas

de educação que permitem reduzir a distância entre teoria e prática no ensino da

disciplina, facilitando o aprendizado do conteúdo lecionado, além de melhor

aprendizado da disciplina através da aplicação prática. Para que este objetivo seja

alcançado, é simulada a gerência de execução dos processos da forma como é realizada

pelo sistema operacional, permitindo também que o usuário/aluno realize uma gerência

personalizada.

Na continuidade desse trabalho serão implementadas outras funcionalidades

presentes em um sistema operacional, como gerência de memória, sistemas de arquivos

Page 16: Simulador para a Prática de Sistemas Operacionaisre.granbery.edu.br/artigos/MjQx.pdf · Diagrama de Classes do Simulador de Sistema Operacional . ... escalonamento FCFS, Prioridade

e escalonamento de disco, sempre mantendo a preocupação com o aprendizado dos

conceitos relacionados e, no segundo semestre de 2006, o S²O será utilizado

experimentalmente nas aulas de Sistemas Operacionais, a fim de verificar se os

objetivos serão alcançados através de sua utilização.

Agradecimentos

Os autores reconhecem o apoio dado pela Faculdade Metodista Granbery ao

projeto de pesquisa "Simulador para Suporte ao Aprendizado de Sistemas

Operacionais", ao qual este trabalho está vinculado.

Referências Bibliográficas

BOOCH, G.; RUMBAUGH, J.; JACOBSON, I. UML - Guia do Usuário. Rio de Janeiro: Editora Campus, 2000.

CARVALHO, D. S.; BALTHAZAR, G. R.; DIAS, C. R.; ARAÚJO, M. A. P.; MONTEIRO, P. H. R.. S²O: Uma Ferramenta de Apoio ao Aprendizado de Sistemas Operacionais. Anais do XIV Workshop sobre Educação em Computação, Campo Grande/MS, 2006.

DEITEL, H. M.; DEITEL, P. J. Java: Como Programar. 4ª ed. Porto Alegre: Editora Bookman, 2002.

FREIRE, P. Extensão ou comunicação?, O Mundo Hoje. v. 24, 10ª ed. Rio de Janeiro: Editora Paz e Terra, 1977.

SILBERSCHATZ, A.; GALVIN, P.; GAGNE, G. Sistemas Operacionais: Conceitos e Aplicações. Rio de Janeiro: Editora Campus, 2000.