Программное обеспечение
Вы должны написать программу, которая выполняла бы следующие функции:
-
Получить разрешение на использование адресного пространства Ввода/Вывода, обратившись к ядру командой ioperm, например, ioperm (BASE, range, 1);
-
Выполнить команду out для установки напряжения 0-5В на параллельном порту: например outb (1, BASE);
-
Подождать, пока приготовится кофе. Было бы неплохо, если бы это время вводилось в командной строке.
-
Выключить кофеварку: outb (0, BASE);
-
По окончании работы на параллельный порт должна быть подана команда: ioperm (BASE, range, 0);
Замените BASE = 0x3bc для /dev/lp0, 0x378 для /dev/lp1, и 0x278 для /dev/lp2, range=8.
Было бы здорово, если эта программа имела setuid, чтобы кофе могли пить все!