Операционные системы - статьи


Этюд о героях невидимого фронта - часть 3


Так что если вы талантливый программист, увековечить свое имя на миллионах компьютеров можно с такой же легкостью, как и гвоздем на стене.

Имена авторов, особенно в больших проектах с сотнями разработчиков, иногда помещают в файле под именем CREDITS. Например, в исходниках ядра linux-2.2.13 в этом файле список из 283 человек. Каждый программист, сделавший значительный вклад в проект, имеет запись в этом файле наподобие этой:

    N:Alan Cox

    W: http://roadrunner.swansea.linux.org.uk/alan.shtml

    E: alan@lxorguk.ukuu.org.uk

    E: alan@www.linux.org.uk (linux.org.uk stuff)

    E: Alan.Cox@linux.org (if others fail)

    D: Linux Networking (0.99.10->2.0.29)

    D: Original Appletalk, AX.25, and IPX code

    D: Current 3c501 hacker. >>More 3c501 info/tricks wanted<<.

    D: Watchdog timer drivers

    D: Linux/SMP x86 (up to 2.0 only)

    D: Initial Mac68K port

    D: Video4Linux design, bw-qcam and PMS driver ports.

    D: 2.1.x modular sound

    S: c/o I2IT Limited

    S: The Innovation Centre

    S: Singleton Park

    S: Swansea, SA2 8PP

    S: Wales, United Kingdom

Это пример текстовой базы данных с полями из обычных строк, а первые два символа в строке задают имя поля - N: для имени человека, W: веб-страничка, E: электронный адрес, D: описание сделанного, S: почтовый адрес. Такие текстовые базы данных вместе с несколькими простыми утилитами для их обработки позволяют легко и быстро извлечь нужную информацию. Например, чтобы подсчитать, сколько человек упомянуто в списке CREDITS, наберем из командной строки:

... $ grep "^N:" CREDITS|wc -l

Команда grep сканирует файл в поиске указанного контекста, и передает результат через т.н. конвейер следующей команде wc, которая подсчитывает количество строк, слов и знаков (ключ -l показывает только строки). Если вы не знакомы с такими текстовыми утилитами, срочно разыщите файл под именем textutils_2.0.tar.gz и попытайтесь установить их в своей системе. Если вы можете выполнять команды на Юникс машине, то эти утилиты уже обязаны там быть. С помощью этих утилит мы и попробуем исполнить наш этюд.




Начало  Назад  Вперед