Автор работы: Пользователь скрыл имя, 15 Мая 2012 в 18:19, лабораторная работа
Предоставить по запросу (системному вызову) область виртуальных адресов и, производя трансляцию адресов (виртуальный адрес -> физический), выдавать запрашиваемые данные.
int Descriptor=-1;
sscanf(dmes.data[0], "%d", &CountPage);
ar_obl[n_obl] =
(struct nphys_page **)malloc(CountPage*sizeof(str
for( i=0; i < CountPage; i++ )
{
ar_obl[n_obl][i] =
(struct nphys_page *)malloc(1*sizeof(struct nphys_page));
}
for(i=0;i<CountPage;i++)
{
register int k;
for(k=0;k<CM_MEMSIZE/CM_
{
if(cm_mem_map[k]==0)
NextPage=k;
}
ar_obl[n_obl][i]->n=NextPage;
cm_mem_map[NextPage]=1;
ar_obl[n_obl][i]->status=PAGE_
}
Descriptor=n_obl++;
sprintf(mes.data[0],"%d",
cm_send(cm_pto, &mes);
}
Результат
работы программы: