Exercicio.
um sistema operacional lida com 3 tipos de processos:
-processos de prioridade normal
-processos de alta prioridade
-processos do próprio sistema operacional (os mais prioritários)
cada novo processo é identificado por um número sequencial (ID).
o sitema operacional coloca o id de cada novo processo em uma fila específica de acordo com um dos tres tipos, ou seja, há 3 filas distintas.
Faça um programa que permite inserir novos processos de cada tipo e indicar qual é o processo a ser executado. O menu deve possuir as seguintes opções:
(N) > inserir novo processo normal (Id é sequecial)
(A) > inserir novo processo de alta prioridade (id é sequencial)
(s) > inserir novo processo do sistema operacional (id é sequencial)
(e) > executar próximo processo (remover de uma das filas)
para escolher o proximo processo a ser executado é usado o seguinte critério sequencialmente;
1) retira- se por 3 vezes o próximo processo da fila do sistema operacional, caso haja algum.
2) retira-se por 2 vezes o próximo processo da fila de alta prioridades, caso haja algum.
3) retira-se por 1 vez o primeiro processo da fila e processos normais, caso haja algum.
Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.
Para resolver o exercício em questão é necessário ter o entendimento de filas. A solução indicada para este exercício é a programação de 5 funções, sendo 3 delas destinadas a criação das filas de processo normal, processo de alta prioridade e processo do próprio sistema. Uma função para gerenciar quando surgir um novo processo e direcionar este para as filas que lhe couberem e por fim a última função será para execução dos processos da mesma forma como estipulado pelo problema proposto. Apesar de o estipulado ser de 5 funções, pode ser necessário a criação de mais funções ou até mesmo tentar uma abordagem diferente, ao invés de ter 3 filas, concatenar as 3 filas e trabalhar com a execução dos processos de acordo com as suas posições e ir fazendo alocações e desalocações simultaneamente de acordo com a execução das tarefas.
Portanto, para o problema proposto, foram sugeridas duas formas para resolver o problema dado. A primeira sugestão foi fazer 5 funções das quais 3 delas seriam responsáveis pelas filas mencionadas no enunciado e as outras duas para distribuição dos processos para as filas responsáveis e a outra por executar as funções das filas de acordo com o passado. A segunda e última sugestão de solução é ao invés de fazer uma função para cada lista, concatenar as listas em uma só e ir executando as funções e ir fazendo as alocações de posições simultaneamente.
Para responder essa pergunta devemos colocar em prática nosso conhecimento sobre Algoritmo e Estrutura de Dados.
Para resolver o exercício em questão é necessário ter o entendimento de filas. A solução indicada para este exercício é a programação de 5 funções, sendo 3 delas destinadas a criação das filas de processo normal, processo de alta prioridade e processo do próprio sistema. Uma função para gerenciar quando surgir um novo processo e direcionar este para as filas que lhe couberem e por fim a última função será para execução dos processos da mesma forma como estipulado pelo problema proposto. Apesar de o estipulado ser de 5 funções, pode ser necessário a criação de mais funções ou até mesmo tentar uma abordagem diferente, ao invés de ter 3 filas, concatenar as 3 filas e trabalhar com a execução dos processos de acordo com as suas posições e ir fazendo alocações e desalocações simultaneamente de acordo com a execução das tarefas.
Portanto, para o problema proposto, foram sugeridas duas formas para resolver o problema dado. A primeira sugestão foi fazer 5 funções das quais 3 delas seriam responsáveis pelas filas mencionadas no enunciado e as outras duas para distribuição dos processos para as filas responsáveis e a outra por executar as funções das filas de acordo com o passado. A segunda e última sugestão de solução é ao invés de fazer uma função para cada lista, concatenar as listas em uma só e ir executando as funções e ir fazendo as alocações de posições simultaneamente.
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar