CITForum Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети ОС Hardware
COFFEE-HOWTO
Пред.След.

Программное обеспечение

Программное обеспечение

Вы должны написать программу, которая выполняла бы следующие функции:

  • Получить разрешение на использование адресного пространства Ввода/Вывода, обратившись к ядру командой 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, чтобы кофе могли пить все!

Драйвер для устройства

Просто прочтите kernel hacker's guide, напишите драйвер устройства (я думаю, это можно сделать и не в ядре). Откомпилируйте его как модуль, чтобы не нужно было пересобирать все ядро, при обновлении драйвера. Затем напишите:

echo cappuccino >/dev/coffee

И через минуту вы будете наслаждаться чашкой кофе. Установите соответствующие права на файл /dev/coffee - хотите ли вы, чтобы кофе готовил только root или кто-нибудь другой.

Преимущества данного метода заключаются в том, что он поддерживает обратную связь с кофеваркой, при помощи сигнала ACK параллельного порта.

Пусть это будет вашим домашним заданием.

Соединение с Internet

Если вы написали программу на C (см. выше), вы можете написать простенький CGI-скрипт для включения и выключения кофеварки. Неплохо было бы написать несколько познавательных страничек, объясняющих, как делать кофе и положить их на сервер apache ...


Пред.НачалоСлед.
Электронная схема Симптомы передозировки

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети ОС Hardware

CITForum © 1997–2025