A maior rede de estudos do Brasil

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 resposta(s) - Contém resposta de Especialista

User badge image

RD Resoluções Verified user icon

Há mais de um mês

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.

User badge image

Andre

Há mais de um mês

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.

User badge image

Andre

Há mais de um mês

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.

Essa pergunta já foi respondida por um dos nossos especialistas