Prévia do material em texto
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SÃO PAULO CAMPUS SALTO DEPARTAMENTO DE INFORMÁTICA CURSO BACHARELADO EM CIÊNCIAS DA COMPUTAÇÃO UNIDADE CURRICULAR: Sistemas Operacionais I GERENCIA DE PROCESSOS Alunos: Victor Augusto Sampaio Precoma Prof. Fabio Modesto SALTO, 2023. 1. INTRODUÇÂO Este relatório tem como objetivo apresentar os resultados obtidos através do uso do simulador SOsim na gerência de processos. O SOsim é um software de simulação que permite aos usuários modelar e simular o comportamento de um sistema operacional, permitindo o estudo de vários aspectos, tais como: gerenciamento de processos, gerenciamento de memória, escalonamento de tarefas, entre outros. Iremos executar 6 simulações propostas pelo professor, sendo elas: Criação de processos, tipos de processos, PCB, estatísticas, log de execução dos processos e suspensão e eliminação de processos. Ao final de cada simulação será realizada uma análise prática orientada pelo professor e uma questão teórica para ser respondida com a ajuda do simulador. 2 OBJETIVOS Observar e analisar o funcionamento de um sistema operacional por meio de um simulador, a fim de reforçar a parte teórica e auxiliar no entendimento da matéria. 3 METODOLOGIA EXPERIMENTAL 3.2 Procedimento Experimental 3.2.1 Atividade 1: Criação de processos Criei um processo em: janela Gerência de Processos / Criar – janela Criação de Processos/ Criar. 3.2.2 Atividade 2: Tipos de processos Na janela Gerência de processos foi criado dois processos dessa vez, um CPU-boud e um I/O-bound. 3.2.3 Atividade 3: PCB Na janela Gerência de processos foi criado dois processos CPU-bound e logo após foi aberto a aba PCB (janela contexto de processo). 3.2.4 Atividade 4: Estatísticas Para as análises a seguir a janela estatística foi habilitada e dois novos processos CPU-bound foram criados. 3.2.5 Atividade 5: Log de execução dos processos Para as futuras análises a janela de Log foi habilitada e dois novos processes CPU- bound foram criados. 3.2.6 Atividade 6: suspensão e eliminação de processos Para as futuras análises dois processos foram criados e serão suspensos e finalizados a fim de analisar as consequências desses atos, ambas as operações podem ser realizadas na janela Gerência de processos. 4 RESULTADOS E DISCUSSÂO 4.1 Atividade 1: Criação de processos Na janela Gerência de Processos é possível analisar algumas informações, como o PID (ID do processo), prioridade, estado do processo e tempo de processador. Quando adicionamos um processo é possível ver na janela Gerência do processador o processo transacionando entre os estado execução e pronto, ainda nessa janela, caso o clock do processador seja aumentado é possível observar que essa mudança de estados ocorre de uma maneira mais acelerada. 4.1.1 Questionário - Atividade 1 Com base na observação do comportamento do processo criado, identifique se o processo é I/O-bound ou CPU-bound? Justifique a resposta. Assim processo é I/O-bound é executado ele entra em modo espera I/O, enquanto o processo CPU-bound apenas permanece o tempo estipulado em execução na UCP. Nota-se também que enquanto um processo I/O-bound está em espera outros processos podem estar sendo executados na UCP simultaneamente. 4.2 Atividade 2: Tipos de processos Na janela Gerência de Processos é possível observar que o processo I/O- bound varia entre os estados Pronto, Execução e espera I/O, nota-se ainda que seu tempo de execução na UCP é mínimo, pois ele é apenas direcionado. O processo CPU-bound alternará entre os estados pronto e executando, e seu tempo na UCP pode ser determinado. O valor de tempo na UCP do processo I/O-bound cresce mais lentamente em comparação ao outro tipo de processo, pois logo após ser executado ele irá entrar em espera. 4.2.1 Questionário – Atividade 2 Analise os efeitos gerados no caso de redução do tempo gasto na operação de E/S pelo processo I/O-bound. O processo I/O-bound irá passar mais vezes pela UCP pois seu tempo de espera vai ser menor. 4.3 Atividade 3: PCB Na aba PCB é possível visualizar todos os detalhes do processo, como seu estado atual, tempo de criação, tempo de UCP, frames e PC. 4.3.1 Questionário – Atividade 3 Identifique quais informações do PCB são estáticas ou dinâmicas e quais fazem parte do contexto de software e do contexto de hardware. A prioridade, tempo de criação e frames são informações estáticas, enquanto estado, tempo de UCP e PC são informações dinâmicas. Prioridade, estado, tempo de UCP e frames são informações de contexto de software. Frames fazem parte do contexto de hardware. 4.4 Atividade 4: Estatísticas Na janela estatísticas é possível analisar várias informações, porém as mais importantes nesse contexto é o número de processos em execução, os estados desses processos (pronto, executando e espera) e processos escalonados, que é a quantidade de veze que um processo passou pela UCP. 4.4.1 Questionário – Atividade 4 Observe que em alguns momentos existem processos no estado de pronto, porém nenhum em estado de execução. Explique o porquê dessa situação. Isso ocorre pois o tempo de um processo sair da pilha de pronto e chegar até a UCP não é instantâneo, então assim que um processo acaba de ser executado a UCP fica um tempo ociosa até que o próximo processo seja direcionada a ela. 4.5 Atividade 5: Log de execução de processos Na janela Log é possível observar em tempo real as informações sobre a mudança de estados de cada processo (quando ele entra em execução e espera) e essas informações ficam salvas com o tempo decorrido. É possível observar também que caso seja aumentada a função “Fatia de tempo” do simulador, a janela de log fica gradativamente mais lenta, pois cada processo está ficando mais tempo na UCP, ou seja as mudanças de estados ocorre menos frequentemente. 4.5.1 Questionário – Atividade 5 Analise comparativamente a concorrência de dois processos CPU-bound executando em dois sistemas operacionais que se diferenciam apenas pelo valor da fatia de tempo. A concorrência dos processos CPU-bound quando o sistema operacional tem uma fatia maior é superior, pois como cada processo ficará mais tempo sendo unicamente processado pela UCP o outro ficará uma maior quantidade de tempo ocioso no estado pronto. 4.6 Atividade 6: Suspensão e eliminação de processos Quando temos dois processos CPU-bound de mesma prioridade rodando eles terão seu tempo na UCP compartilhado, recebendo a mesma quantidade de processamento cada um, quando suspendemos um processo continuará alternando entre os estados pronto e executando, porém, seu tempo de execução será maior pois ele não possui concorrência. Quando retomamos o processo suspenso ele volta a ser executado de onde ele parou ou seja, o tempo que ele ficou na UCP é salvo e caso excluirmos um processo o comportamento será semelhante caso seja suspenso, mas ele não poderá ser retomado futuramente. 4.6.1 Questionário – Atividade 6 Ao se eliminar um processo em estado de suspenso, o processo não é eliminado imediatamente. Reproduza essa situação no simulador e explique o porquê da situação. Isso ocorre porque a solicitação de finalização do processo só pode ser executada depois que ele sair do estado de suspensão. Ao solicitar a finalização, o sistema operacional notifica o processo através de um bit de sinalização localizado no seu PCB. O bit correspondente à eliminação é ativado pelo sistema operacional quando o processo é escalonado, e somente então ele poderá ser finalizado. 6 CONCLUSÂO Em conclusão, o uso do simulador SOsimpermitiu uma compreensão mais aprofundada sobre a gerência de processos em sistemas operacionais. Foi possível observar como os processos são criados, escalonados e finalizados pelo sistema operacional, além de entender como ocorre a comunicação entre processos através do compartilhamento de recursos do sistema. Também foi possível testar diferentes algoritmos de escalonamento de processos e comparar sua eficiência e desempenho em diferentes cenários. O SOsim se mostrou uma ferramenta valiosa para o aprendizado da gerência de processos e contribuiu para o aprimoramento das habilidades em programação e gerenciamento de sistemas operacionais. 7 REFERÊNCIAS BIBLIOGRÁFICAS Processos utilizados em Sistemas Operacionais. Disponível em: <https://www.google.com/search?q=estados+io+bound&rlz=1C1GCEA_enBR1041BR1 041&oq=estados+io+bound&aqs=chrome..69i57j0i10i13i512l3j0i13i30j0i5i10i13i30j0i8i 13i30l2j0i8i13i15i30.3216j1j7&sourceid=chrome&ie=UTF-8>. Acesso em: 07/04/2023. Introdução aos Sistemas Operacionais/Gerência de Processos. Disponível em: < https://pt.wikiversity.org/wiki/Introdu%C3%A7%C3%A3o_aos_Sistemas_Operacionais/ Ger%C3%AAncia_de_Processos>. Acesso em: 07/04/2023. Gerenciamento de Processos. Disponível em: < https://www.dcce.ibilce.unesp.br/~aleardo/cursos/fsc/cap03.php>. Acesso em: 07/04/2023.