• 0
Sign in to follow this  
Eduardo Paz

Implementação de bits de referência

Question

Olá, tenho que desenvolver um programa em C para implementação de bits de referência, possuo o código inicial, porém não sei como continuar, se alguém puder dar uma ajuda agradeço

Segue código inicial

#include <stdio.h>
#include <stdlib.h>


#define MAX_P 32 /* Número máximo de páginas */ #define MAX_Q 16 /* Núḿero máximo de quadros */ #define MAX_T 16 /* Valor máximo do tamanho do histórico em bits */ #define MAX_I 200 /* Valor máximo do intervalo de atualização do histórico */ #define MAX_N 100 /* Número máximo de acessos a páginas */


typedef struct {
int valido;
int quadro;
int t_carga;
int bit_ref;
int hist[MAX_T];
int val_br_hist;
} PAGINA;


int main()
{
int p, q, t, i, n, a[MAX_N];
PAGINA tab_pagina[MAX_P];
int quadros[MAX_Q]; /* Controla quadros livres */
int j,k,l,pagina,atualizacao,q_livre,menor,falhas;

while (1) {

/* LEITURA */
scanf("%d%d%d%d%d",&p,&q,&t,&i,&n);
if (p==0 || q==0 || t==0 || i==0 || n==0)
break;
if (p<0 || p>MAX_P || q<0 || q>MAX_P || t<0 || t>MAX_T || i<0 || i>MAX_I 
|| n<0 || n>MAX_N)
exit(5);
for (j=0;j<n;++j) {
scanf("%d",&(a[j]));
if (a[j]<0 || a[j]>=p)
exit(5);
}

/* IMPLEMENTAÇÃO */
/* Inicialização da Tabela de Páginas */
for (j=0;j<p;++j) {
tab_pagina[j].valido = 0;
tab_pagina[j].bit_ref = 0;
for (k=0;k<t;++k)
tab_pagina[j].hist[k]=0;
}
/* ... */

/* SAÍDA */
printf("%d\n",falhas);
for (j=0;j<p;++j) {
if (tab_pagina[j].valido)
printf("%d",tab_pagina[j].quadro);
else
printf("-");
printf(" %d ",tab_pagina[j].bit_ref);
for (k=t-1;k>=0;--k)
printf("%d",tab_pagina[j].hist[k]);
printf("\n");
}
printf("\n");
}
return 0;
}

Obrigado pela ajuda!

Share this post


Link to post
Share on other sites

0 answers to this question

Recommended Posts

There have been no answers to this question yet

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this