Buscar

Ajuda a fazer um programa em C++ de estrutura de dados

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.

 

💡 5 Respostas

User badge image

Lucas Andrade

Sim

0
Dislike0
User badge image

Andre Smaira

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.

0
Dislike0
User badge image

Andre Smaira

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.

0
Dislike0

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

✏️ Responder

SetasNegritoItálicoSublinhadoTachadoCitaçãoCódigoLista numeradaLista com marcadoresSubscritoSobrescritoDiminuir recuoAumentar recuoCor da fonteCor de fundoAlinhamentoLimparInserir linkImagemFórmula

Para escrever sua resposta aqui, entre ou crie uma conta

User badge image

Outros materiais

Outros materiais