Simulador para a Prática de Sistemas Operacionais

Documentos relacionados
Sistemas Operacionais. Gerência de Processador

Sistemas Operacionais

Davidson Rodrigo Boccardo

( ) Sistemas de Computação - Unifacs Professor : Marco Antônio C. Câmara - Lista de Exercícios II - Dia 18/10/2009

OSLive: Protótipo de simulação de algoritmos de escalonamento de processos

LICENCIATURA EM COMPUTAÇÃO. Resenha Livro Sistemas Operacionais 4ª edição Capítulo quatro: Gerencia do processador

Sistemas Operacionais. Prof. André Y. Kusumoto

Sistemas Operacionais

Sistemas de Computação. Processos e escalonamento

Gerência do Processador. Adão de Melo Neto

Redes de Computadores. Fundamentos de Sistemas Operacionais - 2º Período

Gerência de Processos. Instituto Federal da Bahia Campus Salvador INF009 - Sistemas Operacionais Profª Flávia Maristela

Caio Henrique de Sousa IMPLEMENTAÇÃO DE AMBIENTE WEB PARA SIMULAÇÃO DE ESCALONAMENTO DE PROCESSOS

Sistemas Operacionais

Escalonamento de Processos

Notas da Aula 10 - Fundamentos de Sistemas Operacionais

SSC0640 Sistemas Operacionais I

Tutorial de instalação e configuração do Software Giga VMS

Fundamentos de Sistemas Operacionais

Processos. Escalonamento de Processos

Processos. Objetivos do Escalonamento. Políticas de Escalonamento. Algoritmos de Escalonamento. Maximizar a taxa de utilização da UCP.

Processos. Aula Passada. Aula Passada (2) Ciclos de CPU e de I/O (1)

Sistemas Operacionais

Uma Ferramenta de Apoio à Aprendizagem de Sistemas Operacionais

Sistemas Operacionais. Escalonamento de processos

6 ESCALONAMENTO DE CPU

Sistemas de Informação. Sistemas Operacionais

Manual do Tutor PIRELLI TYRE CAMPUS

A IMPORTÂNCIA DE THREADS NO DESEMPENHO DE APLICAÇÕES

Notas da Aula 8 - Fundamentos de Sistemas Operacionais

Escalonamento da CPU

Sistemas Operacionais Abertos. Prof. MSc. André Yoshimi Kusumoto

Escalonamento da CPU

GUIA RÁPIDO. MDIForms. Sintel Informática Ltda. Rua Vergueiro, nº º andar Vila Mariana, São Paulo - SP CEP:

Professora Orientadora do Departamento de Ciências Exatas e Engenharias. 4

SSC510 Arquitetura de Computadores 1ª AULA

Sistemas Operacionais

Algo+: um app para o auxílio na aprendizagem de programação

Manual do Usua rio - OAB Serviços

Manual SISTEMA GERENCIADOR DE SENHAS Versão GUICHÊ

Processos. Processos e Recursos (1) Tabelas de Controle do S.O. Processos e Recursos (2)

Serviço Público Federal Universidade Federal do Pará - UFPA Centro de Tecnologia da Informação e Comunicação - CTIC S I E

Escalonamento de processos

Gerência de Recursos. Gerência do Processador

William Stallings Arquitetura e Organização de Computadores 8 a Edição

Manual da Turma Virtual: FREQUENCIA. Para acessar a turma virtual com o perfil Docente, siga o caminho indicado abaixo:

14/05/2017. Conceitos de Processos. Conceitos de Processos. Conceito de processo

Nova. Tecnologia em Atendimento. Manual do usuário

MANUAL DO USUÁRIO MÓDULO PROFESSOR

Técnico de Gestão e Programação de Sistemas Informáticos. Sistemas Operativos 10º ano

SOP - TADS Escalonamento de Processos

SISTEMAS OPERACIONAIS

Guia de Treinamento. SIPAC Módulo Almoxarifado. Requisitante de Material

Algoritmos e Estruturas de Dados II. Trabalho Prático 2

STD SERVIÇO DE BACKUP EM NUVEM

UFRJ IM - DCC. Sistemas Operacionais I. Unidade IV Gerência de Recursos Entrada e Saída. 02/12/2014 Prof. Valeria M. Bastos

Ferramenta: Spider-CoCoMo

Desenvolvimento de um Escalonador de Cenas para motores de jogos

Antes de falarmos do novo modelo, vamos entender como o SophiA trabalhou até hoje.

Data Warehouse ETL. Rodrigo Leite Durães.

Sistemas Operacionais. Processos e Threads

COMO INSTALAR O CATÁLOGO

Manual Sistema de Automação de Pedidos Data C

Tutorial da ferramenta de modelagem ASTAH (Versão resumida) Prof. Moacyr Franco Neto

Utilização do Fiery WebSpooler

Escalonamento de Processos Uniprocessador

Manual Entradas. 1 Conceito. 2 Requisitos. 3 Configurações. Sumário. Entradas

Procedimentos para Instalação do Sisloc (Estação de Trabalho) versão

OFERTA DE DISCIPLINAS POR CURSO...

Na Aula Anterior... Escalonamento de Processos. Nesta Aula. Escalonamento. Comportamento de um Processo. Historicamente...

Integração com o Ambiente Virtual de Aprendizagem Moodle

MANUAL PARA DESENVOLVIMENTO DE SOFTWARE TRABALHO DE CONCLUSAO DE CURSO EM SISTEMAS DE INFORMAÇÃO

Sistemas Operativos. Sumário. Escalonador da CPU. Por Prioridades Round Robin. ! Algoritmos de escalonamento

CADPREV Web Módulo de Aplicativo Web. Manual do Usuário. Cadastro de Acordos de Parcelamento. CADPREV - Manual do Usuário CADPREV-Web.

Redes de Computadores. INF201 - Fundamentos de Sistemas Operacionais - 2º Período

Trabalho Final de SISTEMAS INTEGRADOS DE MANUFATURA

Algoritmos de escalonamento

Sistemas Operacionais. Prof. Pedro Luís Antonelli Anhanguera Educacional

Gestão Comercial GUIA RÁPIDO DE INSTALAÇÃO DO ORYON.

Processos. Escalonamento de Processos

Gerência do Processador. Adão de Melo Neto

GUIA DE INÍCIO RÁPIDO

Detalhamento dos lançamentos do Caixa

MANUAL DE UTILIZAÇÃO LICENÇA FÁCIL

Passo a Passo para o esocial

Página Inicial Área do Aluno Acadêmico

Sistemas Operacionais Prof. Esp. André Luís Belini Bacharel em Sistemas de Informações MBA em Gestão Estratégica de Negócios. Aula 06.

Questões de Múltipla escolha

Introdução aos Sistemas Operacionais

Sistemas Operacionais Aula 07: Scheduling da CPU. Ezequiel R. Zorzal

ICET CURSO: Ciência da Computação e Sistemas de Informação (Sistemas Operacionais Abertos) Estudos Disciplinares. Campus: Data: / / Nome: Questão 1:

Centro de Suporte. (Sistema Android) RCAMail Manual de Utilização Página 1

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Transcrição:

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

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.

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).

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;

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

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

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

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.

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

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

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

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.

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.

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.

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

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.