Пример #1
0
void	ft_move_lemmins(t_room **rooms, t_best_route *best, t_lemmin *lemmin)
{
	int				tot_lem;
	t_room			*end;
	t_room			*start;
	t_lemmin		*first_lem;
	t_best_route	*best_start;

	best_start = best;
	end = find_end(rooms);
	start = find_start(rooms);
	first_lem = lemmin;
	tot_lem = start->num_of_lem;
	mv_start(first_lem, best, rooms);
	ft_putstr("\n");
	while (end->num_of_lem < tot_lem)
	{
		mv_play(first_lem, best, rooms);
		mv_start(first_lem, best, rooms);
		ft_putstr("\n");
	}
}
Пример #2
0
void Process_reference_string(char* reference_string, int npages, int nframes)
{
    int page;
    int *frame = (int*)malloc(sizeof(int));

    printf("MV_START: %d pages, %d frames\n\n",npages,nframes);

    mv_start(npages, nframes);

    int page_faults = 0;

    int i = 0;

    while(reference_string[i] != '\0')
    {
        page = reference_string[i] - '0';

        int hit = (mv(page,frame) == 0);

        if(!hit)
        {
            page_faults = page_faults + 1;

            printf("MISS: requested page: %d was put in frame: %d\n",page,*frame);
        }
        else
        {
            printf("HIT:  requested page: %d was     in frame: %d\n",page,*frame);
        }

        i++;
    }

    printf("\nFrames final state:\n");

    for(i = 0; i < nframes; i++)
    {
        if(frames[i]->page != NULL)
            printf("	frame %d -> page %d\n",i,(frames[i]->page)->id);
        else
            printf("	frame %d -> EMPTY\n",i);
    }

    mv_stop( );

    printf("\n-----------------------------------------------------------------\n");
}