·
Sistemas de Informação ·
Estrutura de Dados
Send your question to AI and receive an answer instantly
Recommended for you
7
Atividade Pratica Sistemas Operacionais - Simulacao de Escalonamento de Processos
Estrutura de Dados
IFF
6
Estruturas de Dados - Atividade Avaliativa 2 - Listas Encadeadas e Sistema Bancario em C
Estrutura de Dados
IFF
5
Atividade Avaliativa 2 - Implementacao de Pilha Estatica para Analise de Expressoes
Estrutura de Dados
IFF
6
Introdução ao Conceito de Pilhas e Filas Utilizando Listas Encadeadas
Estrutura de Dados
IFF
5
Lista de Exercicios Avaliativa 2 Arquivos e Recursividade em C
Estrutura de Dados
IFF
3
Lista de Exercicios Avaliativa 2 - Estruturas de Dados - Alocacao Dinamica e Arquivos
Estrutura de Dados
IFF
14
Estruturas de Dados - Árvores: Conceitos e Implementação em C
Estrutura de Dados
IFF
12
Busca em Estruturas de Dados Vetores e Arvores Binarias PUCRio
Estrutura de Dados
IFF
Preview text
INSTITUTO FEDERAL FLUMINENSE IFF Campus Itaperuna Prof Leandro Fernandes dos Santos leandrofsantosiffedubr Disciplina Sistemas Operacionais Atividade Prática de Sistemas Operacionais Turma Sistemas de Informação 3º Período Objetivo Esta atividade tem por objetivo consolidar conceitos de processos e algoritmos de escalonamento Observações e regras de entrega Esta atividade deverá ser realizada de forma individual Terá o valor de 6 pontos na composição da nota Desta forma servirá como a Avaliação 2 A2 da disciplina A solução deverá ser enviada por meio da plataforma runcodes até as 23h59min do dia 14032023 Pontos importantes a serem seguidos Conformidade com os requisitos aqui apresentados Uso dos conceitos de modularização Códigos bem estruturados e bem indentados Caso seja detectada a ocorrência de plágio será atribuída nota zero a todos os envolvidos Submissões que apresentarem erros de compilação ou falhas de segmentação no runcodes NÃO serão corrigidas O não atendimento dos requisitos especificados neste documento acarretará em perda de pontos Instituto Federal FluminenseIFF Campus Itaperuna Especificacao Como visto em aula abaixo pode ser visto um diagrama com os estados genericos de um processo em um Sistema Operacional Figura 1 Esquema de estados de um processo Tomando por base estes estados vocˆe devera criar um algoritmo capaz de simular um conjunto de processos que percorrem estes estados por meio de Filas com Listas Encadeadas O seu algoritmo devera funcionar da seguinte maneira Trabalhar com a ideia de quantum de tempo preempcao como visto nas aulas sobre algoritmos de escalonamento de processos Este valor deve ser utilizado para controlar o tempo que cada processo fica executando antes de ser chaveado para outro processo ou ser finalizado Deverao existir 4 filas de processos Prontos Espera Execucao e Finalizados ou seja uma fila para cada estado mostrado acima Em cada fila devera ser possıvel adicionar enfileirar e remover desenfileirar processos A estrutura dos processos devera conter 3 campos Nome Tempo de Execucao em decimos de segundo e um ponteiro para o proximo processo A estrutura das filas deverao possuir trˆes campos Nome ponteiro para inıcio e um ponteiro para o final Vocˆe devera fazer o uso da funcao sleepunsigned int seconds fornecida pelo cabecalho unistdh para simular a passagem do quantum durante a execucao de cada processo Todos os dados referentes ao quantum e respectivos processos deverao ser lidos de um arquivo O Programa devera ler o caminho do arquivo no inıcio da execucao atraves de um simples scanf Apos a leitura os dados dos processos deverao ser inseridos na fila de prontos 2 Instituto Federal FluminenseIFF Campus Itaperuna O arquivo de entrada estara sempre no seguinte formato valor quantum P1 temp exec1 P2 temp exec2 P3 temp exec3 Pn temp execn Desta forma um exemplo de arquivo valido seria o seguinte 3 P1 10 P2 5 P3 3 P4 6 Logo apos a leitura e insercao na fila de prontos os processos deverao ser inseridos na fila de execucao e a simulacao sera iniciada com o primeiro processo executando Se a fatia de tempo quantum expirou e ainda restar algum tempo de execucao no processo este devera ser adicionado a fila de espera caso contrario devera ser adicionado a fila de finalizados Este comportamento se dara enquanto existirem processos na fila de execucao Quando a fila de execucao estiver vazia e ainda existirem processos na fila de espera estes deverao ser movidos para a fila de prontos e posteriormente para a fila de execucao Deste modo a execucao se inicia novamente ate que todos os processos sejam adici onados a fila de finalizados quando entao a simulacao sera finalizada O estado atual das filas de processos devera ser mostrado todas as vezes em que ocorrer alguma mudanca nos processosfilas Transicao de estados de processo execucao espera e execucao finalizados Movimentacao nas filas espera prontos e prontos execucao Seu programa devera liberar toda e qualquer memoria previamente alocada dinamica mente 3 Instituto Federal FluminenseIFF Campus Itaperuna Exemplo de execucao do algoritmo Suponha que o arquivo citado acima tenha sido lido entao a saıda de seu algoritmo devera ser a seguinte exercicioout dados processosdat Estado atual das filas de processos Pronto P1 10 P2 5 P3 3 P4 6 Espera vazia Execucao vazia Finalizados vazia Quantum 3 Iniciando execucao Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 10 P2 5 P3 3 P4 6 Finalizados vazia P1 esta executando Quantum expirou P1 sofreu preempcao P1 foi adicionado a fila de espera Estado atual das filas de processos Pronto vazia Espera P1 7 Execucao P2 5 P3 3 P4 6 Finalizados vazia P2 esta executando Quantum expirou P2 sofreu preempcao P2 foi adicionado a fila de espera Estado atual das filas de processos Pronto vazia Espera P1 7 P2 2 Execucao P3 3 P4 6 4 Instituto Federal FluminenseIFF Campus Itaperuna Finalizados vazia P3 esta executando P3 terminou a execucao P3 foi adicionado a fila de finalizados Estado atual das filas de processos Pronto vazia Espera P1 7 P2 2 Execucao P4 6 Finalizados P3 0 P4 esta executando Quantum expirou P4 sofreu preempcao P4 foi adicionado a fila de espera A fila de execucao esta vazia movendo processos para a fila de prontos Estado atual das filas de processos Pronto P1 7 P2 2 P4 3 Espera vazia Execucao vazia Finalizados P3 0 Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 7 P2 2 P4 3 Finalizados P3 0 P1 esta executando Quantum expirou P1 sofreu preempcao P1 foi adicionado a fila de espera Estado atual das filas de processos Pronto vazia Espera P1 4 Execucao P2 2 P4 3 Finalizados P3 0 P2 esta executando P2 terminou a execucao P2 foi adicionado a fila de finalizados 5 Instituto Federal FluminenseIFF Campus Itaperuna Estado atual das filas de processos Pronto vazia Espera P1 4 Execucao P4 3 Finalizados P3 0 P2 0 P4 esta executando P4 terminou a execucao P4 foi adicionado a fila de finalizados A fila de execucao esta vazia movendo processos para a fila de prontos Estado atual das filas de processos Pronto P1 4 Espera vazia Execucao vazia Finalizados P3 0 P2 0 P4 0 Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 4 Finalizados P3 0 P2 0 P4 0 P1 esta executando Quantum expirou P1 sofreu preempcao P1 foi adicionado a fila de espera A fila de execucao esta vazia movendo processos para a fila de prontos Estado atual das filas de processos Pronto P1 1 Espera vazia Execucao vazia Finalizados P3 0 P2 0 P4 0 Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 1 Finalizados P3 0 P2 0 P4 0 6 Instituto Federal FluminenseIFF Campus Itaperuna P1 esta executando P1 terminou a execucao P1 foi adicionado a fila de finalizados Estado atual das filas de processos Pronto vazia Espera vazia Execucao vazia Finalizados P3 0 P2 0 P4 0 P1 0 Nao ha mais processos a serem executados Simulacao finalizada Bom trabalho 7
Send your question to AI and receive an answer instantly
Recommended for you
7
Atividade Pratica Sistemas Operacionais - Simulacao de Escalonamento de Processos
Estrutura de Dados
IFF
6
Estruturas de Dados - Atividade Avaliativa 2 - Listas Encadeadas e Sistema Bancario em C
Estrutura de Dados
IFF
5
Atividade Avaliativa 2 - Implementacao de Pilha Estatica para Analise de Expressoes
Estrutura de Dados
IFF
6
Introdução ao Conceito de Pilhas e Filas Utilizando Listas Encadeadas
Estrutura de Dados
IFF
5
Lista de Exercicios Avaliativa 2 Arquivos e Recursividade em C
Estrutura de Dados
IFF
3
Lista de Exercicios Avaliativa 2 - Estruturas de Dados - Alocacao Dinamica e Arquivos
Estrutura de Dados
IFF
14
Estruturas de Dados - Árvores: Conceitos e Implementação em C
Estrutura de Dados
IFF
12
Busca em Estruturas de Dados Vetores e Arvores Binarias PUCRio
Estrutura de Dados
IFF
Preview text
INSTITUTO FEDERAL FLUMINENSE IFF Campus Itaperuna Prof Leandro Fernandes dos Santos leandrofsantosiffedubr Disciplina Sistemas Operacionais Atividade Prática de Sistemas Operacionais Turma Sistemas de Informação 3º Período Objetivo Esta atividade tem por objetivo consolidar conceitos de processos e algoritmos de escalonamento Observações e regras de entrega Esta atividade deverá ser realizada de forma individual Terá o valor de 6 pontos na composição da nota Desta forma servirá como a Avaliação 2 A2 da disciplina A solução deverá ser enviada por meio da plataforma runcodes até as 23h59min do dia 14032023 Pontos importantes a serem seguidos Conformidade com os requisitos aqui apresentados Uso dos conceitos de modularização Códigos bem estruturados e bem indentados Caso seja detectada a ocorrência de plágio será atribuída nota zero a todos os envolvidos Submissões que apresentarem erros de compilação ou falhas de segmentação no runcodes NÃO serão corrigidas O não atendimento dos requisitos especificados neste documento acarretará em perda de pontos Instituto Federal FluminenseIFF Campus Itaperuna Especificacao Como visto em aula abaixo pode ser visto um diagrama com os estados genericos de um processo em um Sistema Operacional Figura 1 Esquema de estados de um processo Tomando por base estes estados vocˆe devera criar um algoritmo capaz de simular um conjunto de processos que percorrem estes estados por meio de Filas com Listas Encadeadas O seu algoritmo devera funcionar da seguinte maneira Trabalhar com a ideia de quantum de tempo preempcao como visto nas aulas sobre algoritmos de escalonamento de processos Este valor deve ser utilizado para controlar o tempo que cada processo fica executando antes de ser chaveado para outro processo ou ser finalizado Deverao existir 4 filas de processos Prontos Espera Execucao e Finalizados ou seja uma fila para cada estado mostrado acima Em cada fila devera ser possıvel adicionar enfileirar e remover desenfileirar processos A estrutura dos processos devera conter 3 campos Nome Tempo de Execucao em decimos de segundo e um ponteiro para o proximo processo A estrutura das filas deverao possuir trˆes campos Nome ponteiro para inıcio e um ponteiro para o final Vocˆe devera fazer o uso da funcao sleepunsigned int seconds fornecida pelo cabecalho unistdh para simular a passagem do quantum durante a execucao de cada processo Todos os dados referentes ao quantum e respectivos processos deverao ser lidos de um arquivo O Programa devera ler o caminho do arquivo no inıcio da execucao atraves de um simples scanf Apos a leitura os dados dos processos deverao ser inseridos na fila de prontos 2 Instituto Federal FluminenseIFF Campus Itaperuna O arquivo de entrada estara sempre no seguinte formato valor quantum P1 temp exec1 P2 temp exec2 P3 temp exec3 Pn temp execn Desta forma um exemplo de arquivo valido seria o seguinte 3 P1 10 P2 5 P3 3 P4 6 Logo apos a leitura e insercao na fila de prontos os processos deverao ser inseridos na fila de execucao e a simulacao sera iniciada com o primeiro processo executando Se a fatia de tempo quantum expirou e ainda restar algum tempo de execucao no processo este devera ser adicionado a fila de espera caso contrario devera ser adicionado a fila de finalizados Este comportamento se dara enquanto existirem processos na fila de execucao Quando a fila de execucao estiver vazia e ainda existirem processos na fila de espera estes deverao ser movidos para a fila de prontos e posteriormente para a fila de execucao Deste modo a execucao se inicia novamente ate que todos os processos sejam adici onados a fila de finalizados quando entao a simulacao sera finalizada O estado atual das filas de processos devera ser mostrado todas as vezes em que ocorrer alguma mudanca nos processosfilas Transicao de estados de processo execucao espera e execucao finalizados Movimentacao nas filas espera prontos e prontos execucao Seu programa devera liberar toda e qualquer memoria previamente alocada dinamica mente 3 Instituto Federal FluminenseIFF Campus Itaperuna Exemplo de execucao do algoritmo Suponha que o arquivo citado acima tenha sido lido entao a saıda de seu algoritmo devera ser a seguinte exercicioout dados processosdat Estado atual das filas de processos Pronto P1 10 P2 5 P3 3 P4 6 Espera vazia Execucao vazia Finalizados vazia Quantum 3 Iniciando execucao Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 10 P2 5 P3 3 P4 6 Finalizados vazia P1 esta executando Quantum expirou P1 sofreu preempcao P1 foi adicionado a fila de espera Estado atual das filas de processos Pronto vazia Espera P1 7 Execucao P2 5 P3 3 P4 6 Finalizados vazia P2 esta executando Quantum expirou P2 sofreu preempcao P2 foi adicionado a fila de espera Estado atual das filas de processos Pronto vazia Espera P1 7 P2 2 Execucao P3 3 P4 6 4 Instituto Federal FluminenseIFF Campus Itaperuna Finalizados vazia P3 esta executando P3 terminou a execucao P3 foi adicionado a fila de finalizados Estado atual das filas de processos Pronto vazia Espera P1 7 P2 2 Execucao P4 6 Finalizados P3 0 P4 esta executando Quantum expirou P4 sofreu preempcao P4 foi adicionado a fila de espera A fila de execucao esta vazia movendo processos para a fila de prontos Estado atual das filas de processos Pronto P1 7 P2 2 P4 3 Espera vazia Execucao vazia Finalizados P3 0 Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 7 P2 2 P4 3 Finalizados P3 0 P1 esta executando Quantum expirou P1 sofreu preempcao P1 foi adicionado a fila de espera Estado atual das filas de processos Pronto vazia Espera P1 4 Execucao P2 2 P4 3 Finalizados P3 0 P2 esta executando P2 terminou a execucao P2 foi adicionado a fila de finalizados 5 Instituto Federal FluminenseIFF Campus Itaperuna Estado atual das filas de processos Pronto vazia Espera P1 4 Execucao P4 3 Finalizados P3 0 P2 0 P4 esta executando P4 terminou a execucao P4 foi adicionado a fila de finalizados A fila de execucao esta vazia movendo processos para a fila de prontos Estado atual das filas de processos Pronto P1 4 Espera vazia Execucao vazia Finalizados P3 0 P2 0 P4 0 Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 4 Finalizados P3 0 P2 0 P4 0 P1 esta executando Quantum expirou P1 sofreu preempcao P1 foi adicionado a fila de espera A fila de execucao esta vazia movendo processos para a fila de prontos Estado atual das filas de processos Pronto P1 1 Espera vazia Execucao vazia Finalizados P3 0 P2 0 P4 0 Processos foram adicionados a fila de execucao Estado atual das filas de processos Pronto vazia Espera vazia Execucao P1 1 Finalizados P3 0 P2 0 P4 0 6 Instituto Federal FluminenseIFF Campus Itaperuna P1 esta executando P1 terminou a execucao P1 foi adicionado a fila de finalizados Estado atual das filas de processos Pronto vazia Espera vazia Execucao vazia Finalizados P3 0 P2 0 P4 0 P1 0 Nao ha mais processos a serem executados Simulacao finalizada Bom trabalho 7