/media/sda-magnetic/david/Dokumente-15/fernuni-hagen/cs-i-ii/fsm/fsm/lex-yacc-bash-etc/minix00020.txt


public phys_clicks alloc_mem (phys_clicks clicks) {
    register struct hole *hp, *prev_ptr;
    phys_clicks old_base;
    
    hp = hole_head;
    
    while (hp != NIL_HOLE) 
        if (hp->h_len >= clicks) {
            old_base = hp->h_base;
            hp->h_base += clicks;
            hp->h_len -= clicks;
            
            if (hp->h_len != NULL)
                return old_base;
            del_slot (prev_ptr, hp);
            return old_base;
        }
        prev_ptr = hp;
        hp = hp->h_next;
    }
return E_NO_MEM;
}

mm/glo.h
mm/mproc.h
mm/param.h
mm/const.h

mm/alloc.c
mm/main.c
mm/getset.c
mm/putc.c
mm/table.c
mm/signal.c
mm/break.c
mm/forkexit.c
mm/exec.c

alloc_mem ()
free_mem ()
del_slot ()
merge ()
max_hole ()
mem_init ()

main ()
do_brk2 ()
allowed ()
mem_copy  ()
no_sys ()
panic ()
sig_proc ()
check_sig ()
do_mm_exit ()
mm_exit ()
do_kill ()
do_ksig ()
do_fork