OPTIONAL
SYNOPSIS
        int *rusage();

BESCHREIBUNG
        Liefert ein Array mit Informationen ueber den momentanen
        Systemzustand; Benutzungsstatistiken, wie sie vom Unix-Kommando
        getrusage(2) generiert werden, namentlich:
            utime, stime, maxrss, rus.ru_ixrss, rus.ru_idrss, rus.ru_isrss,
            rus.ru_minflt, rus.ru_majflt, rus.ru_nswap, rus.ru_inblock,
            rus.ru_oublock, rus.ru_msgsnd, rus.ru_msgrcv, rus.ru_nsignals,
            rus.ru_nvcsw, rus.ru_nivcsw

ANMERKUNG
    Diese Funktion ist optional.

SIEHE AUCH
        sys/resource.h(Unix)
