Linux mini-HOWTO

         

Мне совсем недавно сказали, что


Мне совсем недавно сказали, что XFree86 версии 4.0 будет поддерживать DDC, если его поддерживают и видеокарта, и монитор. Это позволит X-серверу узнавать его физические размеры, и сервер сможет автоматически рассчитывать разрешение экрана.

Но вам, в любом случае, придется исправлять установки fontpath в файле XF86Config, так как сервер не может угадать требования вашей конкретной конфигурации.


Дисплей (то, что вам никто не рассказывал)


Перед тем, как мы углубимся в настройку шрифтов TrueType в X, мы должны еще раз объяснить разницу между пунктами (point) и пикселями (pixel)... и почему это важно для нас.

Все выводимые на экран шрифты измеряются в пунктах. Один дюйм равен ровно 72 пунктам. Почему именно 72? Частично из-за ограничений механических печатных машин, частично потому, что это число делится на 2, 3, 4, 6, 8, 9, 12, 18 и 24. Ну и конечно надо упомянуть, что пункт является основной единицей измерения в PostScript.

(Историческая справка: Тут я немного приврал. До введения PostScript дюйм равнялся 72,27 пункта, но этот размер пункта был установлен в эру механических печатающих машин. При помощи дисплеев и лазерных принтеров, любому шрифту легко можно придать любой размер, и число 72 значительно более удобно по причинам, упомянутым выше).

В основном любой текст имеет размер от 7 до 12 пунктов. Все, что меньше 6, называется буквально - "точная печать". Построчные принтеры печатали шрифтами размером 9 или 12 (для того, чтобы было 8 или 6 строк на дюйм соответственно).

В противоположность этому, все видеодрайверы повсеместно измеряют шрифты в пикселях. Для вашего видеодрайвера экран имеет размер 1024x768 пикселей, а не 10 на 8 дюймов (или 720 на 576 пунктов).

Чтобы произвести преобразование из пунктов (в которых мы измеряем размер шрифта) в пиксели (в которых мы измеряем видеопамять) нужно знать разрешение экрана. Обычно оно измеряется в точках на дюйм (dots per inch (dpi)), что на самом деле есть пиксели на дюйм. Эти единицы используются в двух наборах растровых шрифтов, поставляемых вместе с XFree86: fonts-75

используются на недорогих дисплеях с разрешением около 75 dpi, fonts-100

используются на мониторах среднего качества с разрешением примерно 100 dpi. К сожалению, в поставку не входят шрифты для высококачественных дисплеев с разрешением 120 dpi и выше.

В качестве конкретного примера можно привести экран с диагональю 13 дюймов (видимая область изображения 11.1 дюйма), выводит изображение размером 640x480 пикселей с разрешением 72.0 dpi. Это Не Совпадение. На самом деле многие web-страницы (и приложения фирмы Microsoft) рассчитаны на стандартные дисплеи с разрешением именно 72 dpi. Стандартная конфигурация XFree86 предполагает наличие дисплея с разрешением 75 dpi.

Однако в настоящее время никто уже практически не пользуется разрешением 640x480. Никто больше не использует 13-дюймовые мониторы. Так как видеокарты обогнали в своем развитии мониторы, то можно нередко встретить следующую конфигурацию: 19-дюймовый монитор (диагональ изображения больше 17 дюймов), 1600x1200 пикселей, разрешение - 117 точек на дюйм.

Если я запущу стандартную конфигурацию X, то все мои шрифты будут равны примерно 2/3 нормального размера. Не будет преувеличением сказать, что все шрифты будут уменьшены на порядок - большие шрифты (12 пунктов) станут средними (9). Средние шрифты (9) станут маленькими (6).

Существует три вещи, которые надо сделать, чтобы исправить это несоответствие. Во-первых, мы должны указать X-серверу настоящее разрешение экрана:

/etc/X11/xdm/Xservers



Дисплей (X-серверы и серверы шрифтов)


Строго говоря, абсолютно не обязательно настраивать серверы шрифтов для использования шрифтов TrueType с X-серверами. Если вы хотите использовать статические файлы, вместо сервера шрифтов, то смотрите инструкции по настройке использования шрифтов TrueType в ghostscript.



Форматирование и обработка текста: groff


Groff - это передний план системы форматирования документов groff/troff Gnu. Возможности Groff можно оценить, просмотрев руководство пользователя (man).

user shell



Где найти шрифты TrueType


Если вы ищете шрифты TrueType, то вот несколько мест, откуда можно начать поиски:

c:\windows\fonts

Бесплатные шрифты Microsoft TrueType http://www.microsoft.com/typography/fontpack/

Шрифты Acid http://www.acidcool.com/

Кольцо Шрифтов (The Font Ring) http://www.webring.org/cgi-bin/webring?ring=fontring&list



Генерация метрик шрифтов AFM AFM


Шрифтовые метрики AFM не нужны для того, чтобы выводить содержимое существующих файлов, но они нужны для создания новых. Эти файлы метрик могут быть созданы при помощи программы /usr/lib/ghostscript/5.50/printafm.ps, входящей в пакет ghostscript, но, я нашел программу ttf2afm, входящую в пакет tetex-bin, которая значительно проще в использовании.

Нижеприведенный скрипт создаст afm-файлы для всех шрифтов TrueType в текущем каталоге:



Интернационализация


xfstt имеет возможность генерировать различные кодовые страницы шрифтов в том случае, если в шрифте TrueType содержатся соответствующие образы символов. Чтобы разрешить использование кодовых страниц, отличных от iso8859-1/unicode-1, вы должны вручную исправить скрипт /etc/init.d/xfstt:

/etc/init.d/xfstt



Использование шрифтов TrueType


С этого момента у вас появилась возможность использовать шрифты TrueType в различных приложениях, например, GIMP, Netscape или StarOffice. Так как у шрифтов TrueType ширина нефиксирована, то вам наверно не стоит использовать их в xterm - эти программы выделяют под символы фиксированное пространство, равное размеру самого большого символа.



Legalities


Copyright 99 by Bear Giles.

Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed whole or in part, in any medium physical or electronic, as long as this copyright notice is retained in all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions.

All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may produce a derivative work from a HOWTO and impose additional restrictions on distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO cordinator for more information.

In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would very much like to be notified of any plans to redistribute the HOWTOs, this one in particular! Web page authors are free to link to this HOWTO without restriction, though the author would appreciate an email informing him of this, just so he can boost his ego by knowing who else reads and links to this document.

Many of the terms mentioned in this document are trade names. Unless otherwise stated, all trademarks are property of their respectve owners.



Мини-HOWTO: Настройка шрифтов TrueType Fonts в Debian


Bear Giles
bgiles@coyotesong.com


Перевод: Станислав Рогин, ASPLinux

В этом документе дается описание настройки Debian GNU/Linux на использование TrueType-шрифтов для вывода на экран и принтер. Последнюю версию этого документа можно найти по адресу http://www.dimensional.com/~bgiles/debian-tt.html



Набор и форматирование текстов: TeX


TeX - это вторая очень распространенная система набора и форматирования текста во многих системах GNU/Linux.

Шрифты TeX могут быть созданы при помощи mktexmf, но я имею очень скудную информацию по конкретным деталям процесса. Более подробное описание читайте в следующих версиях.



Настройка Ghostscript на использование шрифтов TrueType


Если у вас есть работающий сервер xfstt, то настроить ghostscript на использование шрифтов TrueType достаточно просто. Выполните следующую команду:



Настройка сервера шрифтов xfs


С этого момента, я предполагаю, что у вас имеется работающий файл /etc/X11/XF86Config, загружающий шрифты из четко определенных в разделе FontPath каталогов. Мы его исправим таким образом, чтобы он использовал сервер шрифтов xfs.

Установка XFS

Если вы еще этого не сделали, установите пакет main/binary-*/x11/xfs_*.deb.

Настройка XFS

Откройте файл /etc/X11/xfs/config и измените опцию catalogue так, чтобы она соответствовала секции FontList из файла /etc/X11/XF86Config. Вам также, возможно, надо будет изменить значение опции default-resolutions.

/etc/X11/xfs/config



Настройка сервера шрифтов xfstt и установка шрифтов TrueType


К этому моменту, я предполагаю, что вы имеете работающий сервер шрифтов xfs

и хотите установить поддержку шрифтов TrueType при помощи xfstt.

Установка XFSTT

Установите main/binary-*/x11/xfstt_*.deb, если вы еще этого не сделали.

Установка шрифтов TrueType

Скопируйте ваши шрифты TrueType в каталог /usr/share/fonts/truetype. Эти файлы обычно имеют расширение .ttf, и на них должны быть установлены права с маской 0444.

Перезапуск сервера шрифтов XFSTT

Перезапустите сервер xfstt с опцией force-reload flag

root shell



Небольшое дополнение по использованию бесплатных TrueType шрифтов Microsoft


Ни одна статья о поддержке шрифтов TrueType в Linux не может обойтись без упоминания о бесплатных шрифтах Microsoft TrueType fonts. Сначала о легальности использования Бесплатных Шрифтов Microsoft TrueType:

http://www.microsoft.com/typography/faq/faq8.htm

Вопрос: "Что я могу делять с этими шрифтами?"

Кто угодно может загрузить и установить эти шрифты для собственного пользования.
Дизайнеры [веб-страниц] могут указывать ссылки на эти шрифты в своих Веб-страницах.

Ясно - абсолютно легально и правильно пользователям Linux загружать эти шрифты и устанавливать их, за что Microsoft большое спасибо.

Несмотря на то, что другое условие запрещает их дальнейшее распространение "в любой форме, придающей дополнительную ценность коммерческому продукту" Я не думаю, что в ближайшее время этот пакет появится в группе main. (Возможно, когда-нибудь в группе non-free, может быть в пакете установщика...?)

После того, как мы обсудили первый пункт, я обращаю ваше внимание на второй. Microsoft активно призывает веб-дизайнеров использовать ее шрифты на страницах, и многие HTML-редакторы используют их по умолчанию.

Многие web-сайты при просмотре стандартным Netscape/Linux могут быть описаны как ... разборчиво читаемые. Некоторые не читаются вовсе. Абсолютно не случаен тот факт, что эти, м-м-м - разборчивые сайты - это те, которые жестко прописывают в страницах информацию о шрифтах.

После того, как я установил эти шрифты, я заметил, что эти "проблемные" сайты стали значительно более привлекательны. Многие из них все-таки очень Windows-центричны, но я по крайней мере перестал вздрагивать каждый раз после загрузки страниц с этих сайтов.

Мой совет - установите бесплатные шрифты Microsoft TrueType fonts в ваш броузер. Вам не обязательно создавать свои страницы с использованием этих шрифтов, ни использовать ghostscript для их просмотра.



Незаданные вопросы


Приложения

Самый большой нерешенный на настоящий момент вопрос - это почему netscape communicator использует шрифты TrueType,ghostscript использует те же шрифты TrueType, а напечатанные при помощи netscape отличаются от того, что на экране.

Короткий ответ - netscape генерирует PostScript со стандартными шрифтами (Helvetica и Times-Roman), вместо тех, которые заданы пользователем или в HTML. Длинный ответ - я абсолютно не знаю, почему так происходит и есть ли способы это исправить.



Общий обзор: приготовления перед правкой файлов конфигурации X.


Каждый раз, когда мы вносим изменения в файлы конфигурации X11, неплохо запрещать запуск XDM, указанием команды exit 0 где-нибудь в начале этого файла. Если вы этого не сделаете, и X не запустится по каким-либо причинам, то XDM зациклится таким образом, что перегрузит систему, и это достаточно сложно исправить. Я вас предупредил.



Печать (ghostscript)


Начиная с версии 4, в ghostscript встроена внутренняя поддержка шрифтов TrueType. ghostscript представлен в Debian двумя пакетами:

main/binary-*/text/gs_*.deb - это DFSG-совместимая версия 5.10,

non-free/binary-*/gs-aladdin_*.deb - это не-DFSG-совместимая версия 5.50.

Обе версии поддерживают шрифты TrueType.



Печать образцов шрифтов TrueType


Самый лучший способ проверить, что ghostscript правильно настроен на использование шрифтов TrueType - это напечатать образцы шрифтов. Предполагая, что у вас запущен ghostscript версии 5.50, и что он является вашей очередью печати по умолчанию, вы можете напечатать образцы всех шрифтов TrueType командой:

# xfstt --gslist --sync | printfont

где printfont - это следующий скрипт:

#!/bin/sh

set -e IFS= ')'

while read fontname rest do cat

Если вы хотите напечатать только некоторые шрифты, то скрипт будет проще:

#!/bin/sh

set -e while read -p "Введите имя шрифта или ^D для выхода: " fontname do cat



Преобразование ASCII в PostScript: enscript


Enscript - это программа, преобразующая ASCII в PostScript. Для этих же целей существуют программы a2ps и mpage.. Enscript позволяет производить повороты на 90 градусов, добавлять водяные знаки, заголовки и окрашивание текста, базирующееся на применении ключевых слов. Она не форматирует текст, поэтому чаще всего используется для печати исходных текстов программ.

Чтобы использовать шрифты TrueType в enscript, сделайте следующее:

Добавьте /usr/share/fonts/truetype к переменной AFMPath.

Укажите шрифт TrueType, либо напрямую, либо через алиасинг обычного шрифта.

Более подробно читайте документацию enscript.

После того как я внес эти изменения, у меня не было проблем с использованием шрифтов TrueType.



Работа с изображениями: GIMP


GIMP - это программа рисования и обработки изображений Gnu. Мне не пришлось вносить никаких изменений в систему, чтобы использовать шрифты TrueType в gimp.



Создание файлов font.map


Теперь у нас есть afm-файлы, и нам надо указать системе, где их найти. Обычно это делается при помощи файла font.map.

Я так и не смог обнаружить документацию по формату этого файла, в отличие от fonts.dir, fonts.scale, и fonts.alias, создаваемых mkfontdir. Однако минимальный формат достаточно прост:

Название шрифта без пробелов

Имя AFM - файла, без расширения

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



Установка дополнительных шрифтов TrueType


Установить новые шрифты TrueType очень просто, если вы используете сервер шрифтов xfstt:

Скопируйте новые шрифты в каталог /usr/share/fonts/truetype/

Перезапустите xfs командой /etc/init.d/xfs restart



Вопросы безопасности


Я использовал в вышеприведенных примерах гнезда Unix, но стандартные пакеты в Debian настроены так, что xfs и xfstt слушают порты 7100 и 7101, так же и по TCP/IP. Доступ к этим портам должен контролироваться полем trusted-clients в файле /etc/X11/xfs/config, но эта опция все еще не реализована в XFree86 версии 3.3.2.3a.

Это означает, что кто угодно, когда угодно, может подключиться к вашему серверу шрифтов. Так как xfs (и, скорее всего, xfstt), по-видимому, поддерживают большое количество пользователей, то против подобных систем может быть применена стандартная форма атаки "отказ в предоставлении сервиса". Использовать серверы шрифтов по телефонным линиям, наверно, достаточно безопасно (так как вы в реальном режиме времени решаете проблемы), но пользователи DSL и кабельных модемов должны использовать firewall.



Активирование и деактивирование UDMA


Обычно ядро, поддерживающее UDMA, автоматически включает режим UDMA на устройстве, поддерживающем его. В большинстве случаев, когда это не происходит, ядро просто не знает, как управлять чипсетом (используйте "Унифицированные патчи IDE") или считает небезопасным активизировать его.

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



Artop ATP850UF


Эта карта поддерживается унифицированным кодом IDE. Инсталляция Linux на жесткий диск, подключенный к этой плате, потребует того же, что и для Promise Ultra33.



Bus Master DMA


Bus Master DMA - это технология, повышающая скорость обмена с жестким диском, требующая поддержки материнской платы, BIOS и, по крайней мере, какой-то поддержки от самого жесткого диска.

Подробнее смотрите на http://developer.intel.com/design/pcisets/busmastr/FAQs.htm.



Черный список UDMA


Следующие устройства включены в ``черный список''. Вы не должны использовать UDMA с этими устройствами, т.к. это может привести к потере данных. Чтобы избежать этого, драйвер должен автоматически выключить DMA для этих устройств.

Western Digital WDC AC11000H, AC22100H, AC32500H, AC33100H, AC31600H - всех версий

Western Digital WDC AC32100H revision 24.09P07

Western Digital WDC AC23200L revision 21.10N21



Добавление файлов устройств


Третий и четвертый интерфейс IDE (ide2 and ide3) используют файлы от /dev/hde* до /dev/hdh*. В старых дистрибутивах они автоматически не создаются, так что вам придется создать их вручную.

Это можно довольно просто сделать, если у вас установлены исходные тексты ядра. Просто запустите /usr/src/linux/scripts/MAKEDEV.ide, и он создаст все необходимые файлы устройств.



Если у вас есть информация о UDMA, которой нет в этом mini-howto:


Круто! Если вы располагаете информацией, которую я не знаю, во что бы то ни стало пошлите ее мне (brion@pobox.com), и вскоре я помещу ее в эту документацию.



Если вы все еще не можете заставить его работать!


Если ничего в этом документе вам не помогло или, как минимум, помогло не достаточно, лучший выход - это написать письмо, полностью описывающее ваши трудности, какой у вас интерфейс UDMA, на материнской плате или в виде карты, жесткий диск на самом деле UDMA или обычный EIDE, какую конфигурацию имеют ваши диски, версия (дистрибутив и ядро) Linux и что-нибудь еще, что может помочь, и послать его в конферецию comp.os.linux.hardware. Возможно, вы вскоре получите необходимые разъяснения.



Этот чипсет популярен на материнских


Этот чипсет популярен на материнских платах Abit BP-6 и др. и содержит в себе поддержку четвертого режима UDMA (66МБ/сек) на двух каналах, в дополнении к двум другим каналам во втором режиме (33МБ/сек). Он поддерживается как драйверами, описанными в разделе "Унифицированные патчи IDE", так и текущими версиями ядра. На старых (2.0.x) версиях ядра инсталляция может потребовать работы, похожей на ту, что описана в разделе "Promise Ultra33"


IDE, EIDE и ATAPI


Это старые технологии. Большинство жестких дисков и не-SCSI интерфейсов, которые вы можете купить сегодня или уже используете - EIDE, хотя множество винчестеров большой емкости - UDMA.



Интерфейсы UDMA в виде PCI плат


Существуют интерфейсы UDMA, выполненные в виде PCI-плат, позволяющие установить поддержку UDMA без замены материнской платы, или для установки четырех дополнительных устройств. К тому же, они изначально устанавливаются на некоторые виды компьютеров (Gateway 2000, Dell).

Большинство из них не поддерживаются старыми ядрами (2.0.x), но многие из них должны работать с ядром 2.2.x и, соответственно, с дистрибутивами, основанными на этих версиях (RedHat 6.0, SuSE 6.1). Тем не менее, некоторые последние платы (например Promise Ultra66) не работают даже с текущими ядрами версий 2.2.x. Если у вас есть такая плата, то либо надо произвести патч ядра, либо установить свежий дистрибутив. В случае, если вам надо установить Linux на жесткий диск, подключенный к такой интерфейсной плате, то придется использовать пару фокусов:



Использование hdparm


hdparm - это программа, используемая для изменения параметров жестких дисков под Linux. Среди других ее функций есть и включение, и выключение UDMA для устройства, а также проверка скорости передачи данных.

На данный момент текущая версия hdparm - 3.6. Старые версии могут не правильно показывать и изменять параметры UDMA. Вы можете получить исходный тексты hdparm 3.6 на http://metalab.unc.edu/pub/Linux/system/hardware/hdparm-3.6.tar.gz.

Компиляция и инсталляция выглядит примерно так:

tar zxvf /tmp/download/hdparm-3.6.tar.gz cd hdparm-3.5 make su root (type password when prompted) make install cp /usr/local/sbin/hdparm /sbin/hdparm exit

Чтобы включить DMA для жесткого диска: hdparm -d1 /dev/hda

Чтобы выключить DMA для жесткого диска: hdparm -d0 /dev/hda

Чтобы измерить скорость передачи: hdparm -Tt /dev/hda

Чтобы посмотреть какие опции включены: hdparm /dev/hda

Чтобы узнать больше информации: : (показывает, какие режимы UDMA поддерживаются/включены) hdparm -i /dev/hda

Для более детальной информации (как, например, выбрать нужный режим UDMA) читайте руководство

(``man 8 hdparm'').



Использование параметров запуска ядра


В ядрах 2.1.113 и выше можно включить DMA для обоих устройств на данном интерфейсе IDE, используя параметр ideX=dma, где X - номер интерфейса (первый - 0). Однако, это может не сработать.

Параметры могут быть установлены через LILO, LOADLIN или большинством других загрузчиков Linux. Для более подробной информации см. Bootdisk HOWTO.



Использование жестких дисков с интерфейсом UDMA


У меня есть две новости. Одна плохая, другая хорошая. Хорошая новость - UDMA-интерфейс работает как UDMA-винчестерами, так и с EIDE-винчестерами, причем, в любом случае, намного быстрее, чем на обычном EIDE.

Плохая новость - старые версии ядра (2.0.x) полностью не поддерживают UDMA. Новые версии (2.0.x) поддерживают UDMA33. Однако, имеются патчи, включающие поддержку UDMA для ядер, которые этого не делают.

К тому же, некоторые интерфейсы UDMA, выполненные в виде PCI-карт, в отличие от встроенных в материнскую плату, также требуют патч, и, более того, работа с ними достаточно сложна. Собственно для этого и существует данный документ.



Использование жестких дисков UDMA с интерфейсом EIDE


Это просто. Все жесткие диски UDMA полностью совместимы с EIDE, просто включите винчестер в EIDE интерфейс, и у Linux не должно быть проблем с его определением и использованием .



Мини-HOWTO: Ultra-DMA в Linux


Brion Vibber
brion@pobox.com


Перевод: Павел Гашев, ASPLinux

В этом документе объясняется, как использовать жесткие диски и интерфейсы Ultra-DMA, Ultra-ATA, Ultra33 и Ultra66 в Linux. Более свежую версию этого мини-HOWTO вы можете найти по адресу: http://pobox.com/~brion/linux/Ultra-DMA.html.



По крайней мере "Ultra"?


Прежде, чем пойдем дальше, давайте проясним заблуждение. Эти 33 и 66 MB/сек - максимальная скорость передачи (burst transfer rate), а это встречается не очень часто. Вот кусок из UDMA.txt:



с ранними моделями компьютеров Gateway


Это PCI-карта с двумя UDMA-каналами, поддерживающая до четырех устройств http://www.promise.com. Она поставлялась с ранними моделями компьютеров Gateway 2000 Pentium II.

Ядра 2.0.35 и выше, и все 2.2.x поддерживают Ultra33, и у вас не должно быть проблем с установкой дистрибутивов. Тем не менее, старые версии (2.0.34) не имеют такой поддержки, и вам будет сложно установить старый дистрибутив, если не можете или не хотите использовать новый (например, если это утвержденная версия в вашей организации).

Установка Linux и Ultra33

Хотя существует патч для Ultra33, не так уж просто его применить и пересобрать ядро, если нет инсталлированного Linux. Так что вам понадобятся следующее (спасибо Gadi Oxman'у):


По сути это та же


По сути это та же Ultra33, но поддерживающая UDMA в режиме 4 со скоростью передачи 66МБ/сек

Патч для ядер 2.0.x и 2.2.x доступен на http://www.kernel.org/pub/linux/kernel/people/hedrickК тому же поддержка этих карт включена в серию 2.3.x (начиная с 2.3.3).

Тем не менее, чтобы произвести патч или заменить ядро, вам нужно использовать те же фокусы, как и для Ultra33 в предыдущем разделе. Или использовать загрузочный диск, provided by Promise


Разгоняете?


Если вы это делаете, будьте осторожны. Вот цитата из старой документации по UDMA:



TX Pro и другие "Pro"


В данный момент для плат TX Pro поддержка UDMA не реализована. Они не похожи на платы TX: Я слышал, кто-то работает над этим, так что в будущем появится патч, но пока его нет.



UDMA или SCSI?


Я не могу дать вам точные цифры, но, по общему мнению, SCSI может дать лучшую производительность, чем UDMA. Тем не менее, если вы посмотрите на цены винчестеров, то заметите, что UDMA значительно дешевле. В большинстве случаев, коэффициент цена/производительность говорит в пользу UDMA.



Ultra-DMA он же Ultra-ATA он же Ultra33 он же...


Ultra-DMA может называться по-разному, но мы его будем называть просто UDMA.

UDMA - это более продвинутая технология, обеспечивающая передачу данных жесткого диска со скоростью до 33.3 Мб/сек в UDMA режиме 2 и 66.7 Мб/сек в режиме 4, что от двух до четырех раз быстрее, чем EIDE, и дешевле, чем SCSI. Много новых компьютеров уже поставляется с UDMA-дисками большого размера и UDMA-интерфейсами, однако возможна установка дополнительной карты UDMA-интерфейса (такой как Promise Ultra33 или Ultra66), чтобы увеличить скорость даже на старых не-UDMA дисках.

Подробнее о UDMA смотрите на http://www.quantum.com/src/whitepapers/ultraata/

Замечу, что длина кабеля UDMA, по сравнению с простым DMA, желательно должна быть менее 30см, и не более 18 дюймов. Для скорости 66Мб/сек требуется специальный 80-жильный кабель не большей длины. Если у вас появляется большое количество CRC-ошибок, то попробуйте использовать кабель покороче.



Унифицированные патчи IDE


Унифицированные IDE патчи для ядер 2.0.x, 2.2.x и 2.3.x предоставляют поддержку множетва чипсетов и PCI плат. Если ваш чипсет не поддерживается текущим ядром, то можно использовать эти патчи.

Унифицированный IDE код поддерживает Andre Hedrick, он доступен на your local kernel archive mirror.

Поддержка UDMA предоставляется, как минимум, для следующих чипсетов, и вероятно работает на других:

Все чипсеты Intel: FX, HX, VX, TX, LX

Все чипсеты SiS (тестирован только SiS5598, но все семейство чипсетов содержит один и тот же контроллер 5513).

Чипсеты VIA (тестирован только 82C586B, но опять-таки все семейство имеет одну структуру). Для интерфейсов VIA имеется поддержка специальной диагностики.

PCI карты Promise и Artop.

Чипсет Aladdin V (ALi15x3)

Плата HPT343 и чипсет HPT366 (осторожно! см. раздел "HPT 366")

Он также разработан для легкой установки поддержки других чипсетов.

Вот несколько замечаний Andre Balsa, автора первых патчей:

На хороших материнских платах с жесткими дисками UDMA IBM достигается максимальная скорость - около 10Мб/сек (hdparm -T)

Чипсеты Intel TX имеют один буфер FIFO на два IDE интерфейса, так что использование двух жестких дисков UDMA не даст большего быстродействия, чем один UDMA жесткий диск. Тем не менее, SiS5598 имеет два полностью разделенных интерфейса, каждый со своим буфером FIFO. Теоретически, каждый может дать 66Мб/сек, используя драйвер md и разделяя данные по двум жестким дискам. Я думаю, SiS5571 имеет ту же архитектуру. У меня нет данных о чипсетах VIA, не могу ничего о них сказать.

Драйвер IDE (U)DMA, (автор Mark Lord) переключается особенно быстро, что влияет на задержку в передаче данных. Он идеален для передачи множества мелких данных (например, на сервере новостей), что в некоторых случаях может быть идеальней SCSI.



VIA VP2 и похожие чипсеты


Этот интерфейс тоже определяется автоматически и работает в режиме EIDE на старых ядрах. Если у вас такая плата, то можете скачать патч, повышающий пропускную способность, и избавитесь от надоевшего сообщения "неизвестное устройство PCI"

Он доступен на http://www.ipass.net/~prefect/; он разработан для чипсета VIA VP2/97, находящегося на материнских платах FIC PA-2007 и PA-2011, но работает на похожих чипсетах. Известно, что он работает на новых чипсетах VIA VP3.

Замечу, что патч поддерживает только режим Bus Master, а это не полный UDMA, но это все-таки лучше, чем простой EIDE. Чтобы включить режим BMDMA, следуйте инструкциям, расположенным на сайте.

Существует патч, полностью поддерживающий UDMA http://www.pyreneesweb.com/Udma/udma.htmlОн разработан для VIA VT82C586B, но должен работать на чипсетах VP2, VP3, VPX, P6 и AGP Apollo. Следуйте рекомендациям на сайте, но я рекомендую вам сохранить все файлы где-нибудь в другом месте, т.к. возможны проблемы с совместимостью с материнской платой. Но, если это работает, то это работает без проблем.

Замечу, что чипсет VP1 не поддерживается этими патчами, но работает с драйверами, входящими в "Унифицированные патчи IDE".



Встроенные интерфейсы UDMA


Существуют UDMA-совместимые интерфейсы, встроенные в материнские платы. Они используют стандартные порты и могут спокойно работать на медленных не-UDMA скоростях на старых 2.0.x ядрах. Таким образом, во время инсталляции не должно быть никаких проблем, а установка патча превращается из необходимого шага в роскошь. Некоторые платы поддерживаются последними ядрами 2.0.x, а в 2.2.x добавлена поддержка чипсетов Intel.