генератор циклического идентификатора в C - PullRequest
0 голосов
/ 06 сентября 2011

Я пытаюсь закодировать небольшую операционную систему, и у меня есть 100 процессов, которым необходимо автоматически генерировать уникальные идентификаторы процессов они должны генерироваться последовательно в циклическом порядке. Есть ли алгоритм для этого? Любая помощь? Спасибо.

1 Ответ

1 голос
/ 06 сентября 2011

Просто создайте массив из 100 элементов (инициализированный в 0) и управляйте этим

int array[100] = {0};

/* kill process N */
void killprocess(int N) {
    array[N] = 0;
}

/* add process N */
void addprocess(int N) {
    array[N] = 1;
}

/* find free process starting with N */
int findfreeprocess(int N) {
    int k, ndx;
    for (k = 0; k < 100; k++) {
        ndx = (N + k) % 100;
        if (array[ndx] == 0) return ndx;
    }
    return -1; /* indicate no free process */
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...