О разработке и реализации операционных систем Таненбаума на стр. 154 говорится, что растровое изображение имеет бит для каждого из NR_SYS_PROCS (32).
А в конце minix/kernel/table.c есть проверка, чтобы количество процессов в загрузочном образе не превышало маску ipc:
/* убедиться, что в первом фрагменте маски ipc достаточно битов для размещения процессов
* в образе. */
extern int dummy[(BITCHUNK_BITS > NR_BOOT_PROCS - 1) ? 1 : -1];
Я искал размер BITCHUNK_BITS, думая, что он будет равен 32, но он равен 16, как определено в /minix/kernal/const.h.
#define BITCHUNK_BITS (sizeof(bitchunk_t) * CHAR_BIT)
где bitchunk_t — беззнаковый короткий, а CHART_BIT — 8.
Зачем следить за тем, чтобы количество процессов в загрузочных образах было меньше 16, а не 32, когда можно добавить в загрузочный образ больше пользовательских процессов?