Informática, perguntado por MechDante, 1 ano atrás

É 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 vadinei
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