É importante realizar um fluxograma para entender como pode funcionar a Fila Circular para resolver o problema de processos, e a partir deste fluxograma, criar o algoritmo para execução da solução.
Devido ao seu grande conhecimento em processos, um programador foi contratado por uma grande empresa de desenvolvimento de sistemas para realizar a implementação de uma fila de processos em um sistema operacional.
Considerando o contexto apresentado, avalie as seguintes asserções e a relação proposta entre elas.
I. Aplica-se o algoritmo abaixo:
#include
#include
#include /* Declaração das funções de horas */
#define N 10
struct filacirc {
int tam, ini, fim; int vet[N];
};
typedef struct filacirc FilaCirc;
void inicia_fila (FilaCirc *f){
f -> tam = 0; f -> ini = 1; f -> fim = 0;
}
void insere_fila (FilaCirc* f, char elem)
{
if (f -> tam == N - 1)
{
printf("A fila esta cheia\n");
} else
{
f -> fim = (f -> fim % (N - 1)) + 1;
f -> vet[f -> fim] = elem;
f -> tam++;
}
}
int fila_vazia (FilaCirc* f){
return (f -> tam == 0); }
int remove_fila (FilaCirc* f)
{
if (fila_vazia(f))
{
printf("Fila vazia\n");
} else {
f -> ini = (f -> ini % (N-1)) + 1; f -> tam--;
}
}
int main ( )
{
FilaCirc* f; char processo[20];
int tempo, tmpGasto;
clock_t tInicio, tFim; /* Declaração de variável do tipo hora */
printf(“\n Informe o tempo do processo em execução: \n”);
scanf(“%d”, &tempo);
tInicio = clock(); /* Inicia o relógio */
while (f -> tam < N - 1)
{
insere_fila(f, processo);
}
while (f -> tam <= N - 1)
{
tFim = clock(); /* Finaliza o relógio */
tmpGasto = ((int) (tFim – tInicio)); /* Calcula o tempo gasto */
if (tempo <= tmpGasto)
{ /* Se o tempo for menor ou igual ao tempo gasto, remove da fila */
remove_fila(f);
} else
{
printf("Processando...");
}
}
system(“Pause”);
}
PORQUE
II. A implementação do algoritmo em questão é uma das formas possíveis de solucionar o problema de requisições nos processos em execução, com base no tempo limite para cada processo executar, e garantir o funcionamento do sistema operacional de uma empresa, onde neste é verificado o tempo limite de cada processo e assim que o tempo esgotar, o sistema irá remover o processo da fila e passar para o próximo processo.
A respeito dessas asserções, assinale a alternativa correta.
Escolha uma:
a. as asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I. Incorreto
b. as asserções I e II são proposições falsas.
c. as asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
d. a asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
e. a asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
Soluções para a tarefa
Respondido por
47
C. as asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
MechDante:
Correta, muito obrigado
Perguntas interessantes
Matemática,
8 meses atrás
Inglês,
8 meses atrás
Sociologia,
1 ano atrás
História,
1 ano atrás
Ed. Física,
1 ano atrás
Saúde,
1 ano atrás