Программирование виртуальной памяти

Автор работы: Пользователь скрыл имя, 15 Мая 2012 в 18:19, лабораторная работа

Краткое описание

Предоставить по запросу (системному вызову) область виртуальных адресов и, производя трансляцию адресов (виртуальный адрес -> физический), выдавать запрашиваемые данные.

Прикрепленные файлы: 1 файл

lab3.doc

— 64.50 Кб (Скачать документ)

        int Descriptor=-1;

        sscanf(dmes.data[0], "%d", &CountPage);

       

        ar_obl[n_obl] =

            (struct nphys_page **)malloc(CountPage*sizeof(struct nphys_page *));

       

        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_PAGESIZE;k++)

            {

                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_IN_MEM;

        }

        Descriptor=n_obl++;

        sprintf(mes.data[0],"%d",Descriptor,CM_DATA);

        cm_send(cm_pto, &mes);

} 

Результат работы программы: 


Информация о работе Программирование виртуальной памяти