Baixe o app para aproveitar ainda mais
Prévia do material em texto
Sosim Análise Prática e Criação de Processos Heleniany Uyetsuka Gama de Medeiros1 Israel Tavares da Costa1 1Escola de Arquitetura, Engenharia e TI - Centro Universitário do Norte - UNINORTE Rua Huascar de Figueiredo, 290 - Centro, Manaus - AM, 69020-220 hmedeiros25@gmail.com,israel.tdc30@gmail.com Abstract. In this article, we propose a consistent understanding of the operation and purpose of using the Sosim tool, which considerably facilitates the understanding of the functionality of an operating system in its activity on hardware. Following a series of steps, simulating the various behaviors that an Operating System can present more specifically the operation and behavior of processes as they go through states and, are organized by the CPU in order to be executed, and thus exercising its purpose. The Sosim tool allows us to simulate with great didactics and process creation and monitoring of its transactions, from the moment of its creation until its finalization. We can also visualize how the system performs and organizes processes to be executed at the right time and in the most efficient way possible. Resumo. Neste presente artigo propomos o entendimento consistente do funcionamento e finalidade do uso da ferramenta Sosim, ferramenta a qual facilita consideravelmente o entendimento acerca da funcionalidade de um Sistema Operacional em sua atividade sobre um hardware. Seguindo uma série de etapas, realizando a simulação dos diversos comportamentos que um Sistema Operacional pode apresentar mais especificamente o funcionamento e comportamento dos processos como os mesmos passam por estados e são organizados pela CPU com o objetivo de serem, ao final, executados e assim exercendo sua finalidade. A ferramenta Sosim, nos permite simular com muita didática e criação dos processos e acompanhamento de suas transações, desde o momento da criação do mesmo até sua finalização. Conseguimos também visualizar como o sistema realiza e organiza os processos a fim de serem executados no momento certo e de maneira mais eficiente possível. Palavras-chave: Processos, Escalonamento, Tipos de Processos 1. Introdução Na disciplina da Sistemas Operacionais, no contesto de processos, eles são executados concorrentemente, simultaneamente, compartilhando o uso do processador, memória principal e dispositivos de E/S, dentre outros recursos. A partir do momento em que diversos processos podem estar no estado de pronto, deve-se adotar uma política de escalonamento, ou seja, deve-se estabelecer critérios que determinarão qual processo será escolhido para fazer o uso do processador. Levando à uma gerência necessária de processos (Isotani 2009). Para entendermos como esta gerência ocorre, se deparamos com a ferreamente SOsim desenvolvida pelo professor Luiz Paula Maia, que tem como objetivo nos auxiliar na percepção destes acontecimentos que ocorrem internamente em um sistema operacional, os ajudar a entender na pratica como o sistema operacional se comporta diante de tanta complexibilidade e regras de funcionamento. A ferramenta permite visualizar os conceitos de multiprogramação, processo e suas mudanças de estado, gerência do processador (escalonamento) e a gerência memória virtual. A partir das opções de configuração, é possível selecionar diferentes políticas e alterar o funcionamento da ferramenta. Desta forma, o aluno tem a oportunidade de visualizar os conceitos teóricos apresentados em aula de forma simples e animada (MAIA,2001, p. 4). O SOsim é uma ferramenta de apoio educacional que permite facilitar o processo de ensino-aprendizado dos conceitos e técnicas envolvidos em um sistema operacional moderno, tornando o processo mais eficiente, simples e agradável. A partir de sua interface gráfica e dos recursos de animação, o professor pode apresentar os mecanismos e seus relacionamentos de forma clara e dinâmica, enquanto os estudantes podem visualizar facilmente os conceitos apresentados, observando como os mecanismos realmente acontecem (Reis 2009). 2. Objetivos 2.1. Geral Analisar o funcionamento da ferramenta SOsim, entender sua importância no apoio do entendimento acerca de processo no âmbito da disciplina de Sistemas Operacionais. 2.2. Específicos Identificar a diferença básica e CPU-Bound e I/O-Bound. Testar os tipos de políticas de escalonamento e entender seus critérios. Identificar a relação entre finalizar um processo suspenso. Manipular tempo de espera, fatia de tempo e clock da CPU para fins de pesquisa e observação de estudo. 3. Referencial Teórico Essa sessão apresentará os conceitos e fundamentos acerca da ferramenta SOsim. De maneira a abordarmos tudo o que norteia nos conceitos e gerenciamentos de processos por meio do SOsim. 3.1. A ferramenta SOsim Dentre as várias tarefas de um sistema operacional (Controle de dispositivos gerenciamento de recursos etc.), há o escalonamento de processos, que é responsável por definir em qual ordem os processos serão executados, com base na viabilidade e optimização da execução deles (STALLINGS, 2012). O simulador SOsim foi desenvolvido com foco de auxiliar o ensino e aprendizado de sistemas, onde o simulador servirá como ferramenta de apoio visual para ensinamentos sobre sistema operacionais e escalonadores (MAIA,2001). Além disso, o professor tem a chance de melhorar a comunicação com os alunos e ampliar, assim, o poder de compreensão e entendimento dos conceitos de um sistema multiprogramável. O simulador Sosim é um software educacional com o principal objetivo de dar suporte ao ensino de conceitos ligados à arquitetura de sistema operacionais moderno, ou seja, o simulador precisa ser utilizado dentro do contexto pedagógico. Isto significa que o software em si não é um fim, mais um meio de se ampliar as diversas possibilidades e efetividades do ensino sobre sistemas operacionais (MAIA,2001, p.6). Figura 1 - Tela da Ferramenta 3.2 Gerencia de Processador Nesta janela a simulador consegue exibir todos os processos criados, onde são agrupados por linhas, onde cada linha exibe a cor, identificação do processo (PID), a prioridade, estado, o tempo de UCP e o número de frames alocados na memória da máquina (MAIA,2001, p.61). 3.3 Gerencia de Processador Nesta janela tem como função exibir as mudanças de estados dos processos e definir opções relacionadas ao escalonador, como tempo de espera de I/O, fatia de tempo e clock da UCP (MAIA 2001, p.51) Figura 2- Tela Gerência de Processo. Figura 3- Tela Gerência de Processo. 3.4 Gerencia de Processador Na janela e possível visualizar as páginas de memória livre, essas páginas são alocadas sendo também acompanhada o tamanho da lista de páginas livres pelo FLP e lista de páginas modificadas pelo LPM. 4. Material e Métodos SO Windows 7 Utimate Processador I3 HD 500 RAM 4GB PV NÃO Foi utilizado um notebook com 4gb de RAM, 500gb de memória e sistema operacional Windows 7. A Ferramenta utilizada Software Sosim, com tamanho de 385kb, pode ser encontrada gratuitamente no seguinte link: www.training.com.br/sosim. SOsim Descrição Tamanho 385kb Versão 2.0 Formato exe Usa Gratuito Figura 4- Tela Gerência de Processo. 5. Amostras Com a ajuda da ferramenta Sosim, é possível ter uma visão mais pratica a respeito das políticas e métodos dos escalonadores de um sistema operacional, onde nela o usuário pode simular processos e ver em tempo real as etapas de escalonamento. 5.1 identificando a diferença básica entre CPU-Bound e I/O Bound O CPU-Bound é todo processo que faz um maior uso intensivo da CPU e não de outrosdispositivos de E/S, como cálculos matemática e recursos gráficos. Enquanto que o I/O-Bound trata dos processos que fazem um maior uso dos dispositivos de E/S, como por exemplo copias de arquivos, leituras e acessos ao disco de memória. Conforme apresentado na figura 5, os processos de I/O-Bound, representadas pelas cores amarelo e lilás, por serem mais lentos devido ao uso dos periféricos da máquina, esses processos ficam esperando em filas especificas a sua vez para ter acesso ao dispositivo I/O para terminar sua execução e dar espaço para outro processo na fila. Os processos de CPU-Bound, representadas pelas cores vermelha e verde, é executado muito mais veloz que os processos de I/O-Bound, e enquanto que o processo I/O precisa entrar em uma lista de espera para que ele consiga terminar sua execução entre dispositivos de E/S e volte para a outra fila para ser executado novamente, o mesmo processo de CPU consegue ser executado diversas vezes, pois a comunicação inteira da CPU é deveras vezes mais rápido que outros periféricos da máquina. Figura 5- Demonstração CPU-Bound e I/O-Bound. 5.2. Testando os tipos de Escalonamentos e entendendo seus critérios As políticas de escalonamentos são métodos criados para os diversos tipos de escalonadores lidarem com diferentes situações no que diz respeito aos processos que aos processos que estão e serão executados na máquina. De uma forma simples, os processos existentes são alocados em filas, com propriedades variadas, de acordo com a necessidades da máquina e das políticas de escalonamento, onde basicamente existem dois tipos de filas, as que são responsáveis por ordenar processos referentes a CPU e uma outra fila que ordena os processos dos dispositivos de I/O. FIFO: o primeiro processo que está pronto na fila será o primeiro a ser executado, ou seja, o processo não sofre interrupções, é executado do seu início ao fim. Com o Log da figura 6 podemos ver como o escalonamento FIFO funciona, onde o processo de cor preta foi o primeiro a ser inserido na lista de execução e o primeiro a sair de execução, onde logo após sair da etapa de execução, o segundo processo de cor rosa já está entrando para ser executado. Os dois processos ficam revezando o seu posicionamento de execução, mas sempre obedecendo o conceito do escalonamento do FIFO, onde o primeiro que entra é o primeiro que sai. Prioridades: os processos são executados de acordo com o seu nível de prioridade, levando em consideração que suas prioridades podem ser estáticas ou dinâmica e sempre o com maior nível será executado primeiro. Figura 6- Demonstração escalonamento FIFO Pelo escalonamento a prioridade vista na figura 7, o processo a ser executados será sempre o maior número e os processos com números mais baixos podem ser executados posteriormente. Na imagem podemos ver os processos que serão executados, em ordem de prioridade serão: azul, rosa, vermelho e preto. SJF: o processo com menor custo de execução que está pronto na fila será o primeiro a ser executado. Round-Robin: semelhante ao FIFO, porem preempção por tempo, onde quando um processo é escalonado na fila de pontos, ele e posto no final da fila de processos e sofrem uma alteração no seu contexto, mudando o seu tempo de execução. 5.3. Suspendendo e finalizando um processo O ato de suspender o processo tem como objetivo interromper determinado processo, deixando-o em um estado de suspensão, conforme a necessidade ou prioridade de outros processos, ao finalizar o termino da execução. Passa do estado de “Execução” para o de “Espera”, sendo colocado em uma fila de espera de E/S, onde fica aguardando o usuário fazer com que ele volte a ser executado pelo processador através do botão “Prosseguir”. Quando um processo é finalizado, ele passa para o estado de “Execução” e em seguida é eliminado. Quando o botão “Exibir PCB” é pressionado, o simulador mostra uma janela com dados do processo e o botão “Parar Execução” finaliza todos os processos criados. Figura 7- Demonstração escalonamento por propriedades. Conforme apresentado na Figura 8, o processo em execução é o de cor vermelho, onde após o termino de sua execução ele será finalizado, liberando o espaço na memória onde estava alocado e dando vez para o próximo processo. Como é possível notar na tabela de “Cor”, o software SOsim sobrepõe a cor original do processo, que antes era vermelha, para mostrar que tal processo foi acionado a finalização. Quando um processo entra no estado de suspensão, apresentado na Figura 9, ele fica parado até que recebe um comando para prosseguir, aí ele volta para a fila no estado de pronto e aguarda sua próxima execução, enquanto que o processo que foi finalizado (como pode ser visto na janela do Log) ele não existe mais, sua execução foi finalizada, liberando o espaço de memória que estava ocupando e não voltará mais a fila de processos. 5.4. Manipulando tempo de espera, fatia de tempo e clock da CPU Figura 8- Tela Gerencia de Processos. Figura 9- Demonstração Suspenção de Processos. O tempo de espera serve para aumentar ou diminuir o tempo em que os processos de I/O -Bound ficam no estado de espera para a sua execução. Fatia de tempo é responsável por controlar o tempo de execução de cada processo, reduzindo ou aumentando o tempo para que o próximo processo da fila seja executado. O clock da CPU é responsável pela frequência em que os cálculos são realizados, afetando diretamente a velocidade em que os processos são executados, podendo deixá-los mais devagar ou mais rápidos. Com a alteração do tempo de espera, fatia do tempo e clock, os processos são executados muito mais rápidos ou mais divagares, tanto os de CP U- Bound quanto os de I/O - Bound, o tempo de espera de I/O afeta diretamente o tempo em que esses processos vão levar para serem concluídos e saírem da lista de espera, a fatia de tempo afeta o tempo em que as etapas dos processos levam para serem concluídas e o clock da C PU afeta diretamente a velocidade de execução dos processos de CP U- Bound. Figura 10- Demonstração Manipulação de Processos. 6. Conclusão Devido ao avanço da tecnologia surge a todo momento cada vez mais componentes computacionais robustos, sempre em vista a melhor experiência possível para o usuário e para todos os tipos de atividades, porem para que se alcancem esses padrões é necessária uma harmonia, um controle dentro da máquina, para que diversas tarefas sejam cumpridas simultaneamente, onde tudo isso só é possível com os escalonamentos dos processos. O escalonamento de processos é um método que é controlado pela CPU, com o principal objetivo de executar todos os processos da máquina, sejam eles CPU- Bound ou I/O - Bound, com diversas políticas de escalonamento e tipos de escalonadores para que existe um controle interno e a máquina consiga operar em sua capacidade total. Com a ajuda da ferramenta SOsim, é possível ter uma visão mais pratica a respeito das políticas e métodos dos escalonadores de um sistema operacional, onde nela o usuário pode simular processos e ver em tempo real as etapas de escalonamento, tendo a possibilidade de conseguir manipula-los. Referências Bibliográficas MAIA, L.P. Sosim: simulador para o ensino de sistema operacionais. Dissertação (Mestrado em CIÊNCIAS EM INFORMÁTICA.) - Universidade Federal do Rio de Janeiro, Rio de Janeiro, Março 2001. [Orientador: Ageu C. Pacheco Jr., Ph.D.,]. STALLINGS, William, Operating systems: internals and design principles. 7 ed. Editora Prentice Hall,2012. THIAGO R.MEDEIROS, CLEYTON C. SOUZA, TIAGO D. N. DE SOUSA, RENÊ N. S. GADELHA, EDILSON LEITE DA SILVA. IO Simulator: Um Simulador de Dispositivos de Entrada e Saída para Auxiliar o Ensino de Sistemas Operacionais. Artigo (Acadêmico em CIÊNCIAS EM INFORMÁTICA) Centro de Informática – Universidade Federal de Pernambuco (CIN-UFPE) Recife, PE – 2010. [Orientador: João B. Delfino Júnior. Mestre. ]. Cruz, E. H. M., Silva, V. P., Gonçalves, R. A. L. “Sistema Operacional Integrado Simulado: Módulo de Entrada e Saída“. 14o Escola Regional de Informática-Paraná, 2007. Gadelha, R. N.; Azevedo, R. R.; Oliveira, H. T. A.; Sousa, T. D. N.; Souza, C. C.; Silva, E. L. 2010. OS Simulator: Um Simulador de Sistemas de Arquivos para o Ensino/Aprendizagem de Sistemas Operacionais. 21º Simpósio Brasileiro de Informáica na Educação, 2010.
Compartilhar