Наш логотип
Научно-производственный центр "Приоритет" Приоритет качества и профессионализма  -  Приоритет новых технологий  -  Приоритет Ваших интересов
Локальные вычислительные сети Локальные вычислительные сети * Структурированные кабельные системы Структурированные кабельные системы * Автоматические телефонные станции Автоматические телефонные станции * Системы передач Системы передач * Радиосистемы и беспроводной доступ Радиосистемы и беспроводной доступ
Новости компании Новости компании Как нас найти Как нас найти Лицензии Лицензии Наши сертификаты Наши сертификаты Задайте Ваш вопрос, и мы ответим! Задайте Ваш вопрос, и мы ответим!
О компании О компании
Проектирование Проектирование
Строительство и монтаж Строительство и монтаж
Оборудование Оборудование
Сервис Сервис
Примеры технических решений Примеры технических решений
Программный комплекс для энергетики Программный комплекс для энергетики
Системы управления Системы управления
Публикации Публикации

Контактная
информация

Адрес: 115184,
г. Москва,
ул. Татарская Б. 35, стр.2;

Многоканальный
телефон
: (495) 995-2733.

Факс:
(495) 995-2733 доб. 9

e-mail:

общий
prioritet@
priortelecom.ru
отдел
проектирования
project@priortelecom.ru
строительный
отдел
montage@priortelecom.ru
сервисный
центр
service@priortelecom.ru
научный
отдел
(программное
обеспечение
для энергосистем)
soft@priortelecom.ru
отдел
продаж
development@
priortelecom.ru
Rambler's Top100
Яндекс цитирования
 Программное обеспечение ЛВС 

Обзор операционных систем

Windows или Unix?
Linux или FreeBSD?

Web-сервер

Обзор основных средств разработки


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

Итак, перед нами встаёт задача выбора операционной системы. Ведущие компании на рынке программного обеспечения предлагают множество своих разработок, но мы рассмотрим только основные. Это те операционные системы, которые удовлетворяют, как минимум, следующим требованиям:

  • поддержка платформы IntelX86, а также современного аппаратного обеспечения (сетевые адаптеры, видеоадаптеры).
  • поддержка протокола TCP/IP.
  • наличие комплекта гибкого программного обеспечения для создания Internet/Intranet сервера.
  • расширенный набор прикладного программного обеспечения для работы в сети.
  • возможность удалённого администрирования.

Учитывая эти требования, рассмотрим следующие операционные системы:

  • Microsoft Windows 2000 Server
  • Linux
  • Семейство систем BSD

Безусловно, этот список не претендует на полноту. Рынок сейчас предлагает нам огромное количество операционных систем. Нами перечислены лидирующие и наиболее популярные системы, которые решают огромный круг задач. Остальные системы, в большинстве своём, разрабатывались для выполнения узко направленных задач, что, в общем, плохо на них сказывается. Например, если система разрабатывается для работы в условиях внешней защиты, то безопасность такой системы, будучи самостоятельной, является слабым звеном.

Также хотелось бы отметить, что в этот список нами умышленно не включена известная и популярная система SunOS (Solaris) производства компании Sun Microsystems. Данная ОС первоначально разрабатывалась для аппаратной платформы Sun, а позднее была адаптирована для работы на архитектуре Intel386. За годы работы данная ОС показала себя как очень производительная, надёжная система. Однако на компьютерах архитектуры Intel386 её производительность вполне сравнима с операционными системами FreeBSD, Linux, а особенности администрирования, поддержки, программного обеспечения делают её менее привлекательной на платформе Intel386.

Отметим, что рассматривать мы будем лишь последние версии ОС. Именно поэтому в списке отсутствует все ещё достаточно популярная система Windows NT 4.0 Server, которую Microsoft признал "морально устаревшей" через некоторое время после официального выпуска Windows 2000 Server.

Как известно, существует более 10 различных дистрибутивов ОС Linux. В данной работе ОС Linux рассматривается "в общем". Это обусловлено тем, что ядро системы едино, все дистрибутивы отличаются лишь в деталях. Например, программой установки и менеджером установленного программного обеспечения, системой конфигурации, языковой поддержкой, программной поддержкой и т. д.

Обзор Microsoft Windows 2000 Server

Операционная система Windows 2000 Server производства компании Microsoft является продолжением серии операционных систем Windows NT. В состав операционной системы входят следующие компоненты:

  • Службы Internet Information Services 5.0 (IIS)
    Интегрированные WWW-службы позволяют легко размещать WWW-узлы и управлять ими с целью совместного использования информации, создания бизнес приложений на основе WWW, а также использования в Интернете служб файлов, печати, мультимедиа и связи.
  • Среда программирования ASP (Active Server Pages)
    Возможность создавать приложения, позволяющие WWW-серверу обмениваться данными в формате XML с обозревателем Microsoft Internet Explorer и любым сервером, поддерживающим интерпретацию XML.
  • Стандартные службы новостей Интернета и электронной почты
    Возможность настраивать в интрасети почтовые службы и службы новостей на базе SMTP (Simple Mail Transfer Protocol) и NNTP (Network News Transport Protocol), работающие в сочетании с IIS.
  • Поддержка симметричной мультипроцессорной обработки
    Возможность наращивать вычислительную мощность системы за счёт использования самых современных 8-процессорных серверов SMP (только в версии Advanced Server). Операционная система Windows 2000 Server поддерживает серверы SMP, включающие до 4 процессоров.
  • Файловая система
    Новые усовершенствования файловой системы: улучшенная система NTFS, шифрованная файловая система, отслеживание изменившихся связей, квоты дискового пространства, разреженные файлы.
  • Работа в сети
    Операционная система Windows 2000 Server работает с устройствами, обеспечивающими поддержку самых современных сетевых технологий, включая Plug and Play, VPN, маршрутизацию, NAT, DHCP, качество службы (в коммутаторах и маршрутизаторах), IPSec, SSL и ATM.

Системные требования данной операционной системы:

  • Компьютер/процессор
    Pentium-совместимый центральный процессор с частотой 133 МГц или выше. Windows 2000 Server обеспечивает поддержку до четырёх центральных процессоров на одном компьютере (Windows 2000 Advanced Server поддерживает до 8 процессоров).
  • Память
    Рекомендуемый минимум: 256 МБ оперативной памяти (поддерживается не менее 128 МБ и не более 8 ГБ).
  • Жёсткий диск
    1 ГБ свободного места на жёстком диске.
  • Дисковод
    Устройство чтения компакт-дисков или дисков DVD.
  • Монитор
    Монитор VGA или с более высоким разрешением.
  • Периферийные устройства
    Клавиатура и мышь Microsoft Mouse или совместимое указывающее устройство (необязательно).

Обзор Linux

Linux - свободно распространяемое ядро Unix-подобной системы, написанное Linus Torvalds при помощи большого числа добровольцев по всей Сети. Linux обладает всеми свойствами современной Unix-системы, включая настоящую многозадачность, развитую подсистему управления памятью и сетевую подсистему. Ядро Linux, поставляемое вместе со свободно распространяемыми прикладными и системными программами, образует полнофункциональную универсальную операционную систему. Большую часть базовых системных компонентов Linux унаследовал от проекта GNU, целью которого является создание свободной микроядерной операционной системы с лицом Unix. На сегодняшний день существует множество различных поставок Linux — дистрибутивов, которые можно разделить на дистрибутивы общего назначения и специализированные (к специализированным дистрибутивам относятся такие, как LinuxRouter — урезанная поставка Linux для создания дешёвого маршрутизатора на базе старого PC и др.)

Несмотря на различия в дистрибутивах общего назначения, все они образуют лицо ОС Linux, какой её знают большинство пользователей ОС. В отличие от ядра, дистрибутивы могут содержать коммерческие компоненты, и потому их свободное распространение может быть ограничено. В таком случае авторы дистрибутива делают доступными все свободные компоненты. Обычно под словосочетанием "ОС Linux" понимают дистрибутивы Linux общего назначения.

Большая часть ядра Linux написана на языке Си, благодаря чему система достаточно легко переносится на различные аппаратные архитектуры. Сегодня официальное ядро Linux работает на платформе Intel (начиная с i386), Compaq, Alpha, Motorolla 68k, MIPS, PowerPC, Sparc,Sparc64, StrongArm, Intel Italium (IA-64). Кроме того, существует много портов Linux, распространяемых отдельно от официального ядра. Ядро Linux способно работать на многопроцессорных SMP системах, обеспечивая эффективное использование всех процессоров. Разработчики Linux стараются соблюдать стандарты POSIX и Open Group, обеспечивая тем самым переносимость ПО на другие Unix-платформы.

Сетевая подсистема

TCP/IP стек в Linux соответствует всем стандартам и по многим своим возможностям превосходит реализацию TCP/IP в других ОС. Поддержка TCP/IP включает в себя продвинутую маршрутизацию (policy routing, QoS and Fair Quering), traffic shaping, пакетную фильтрацию (firewalling), multicasting, поддержку "прозрачного" прокси, masquerading, туннелинг, aliasing и др. Кроме IPv4, в ядро Linux входит экспериментальная поддержка IPv6. Поддерживается большинство существующих сетевых устройств: Ethernet адаптеров (10/100Mbit, 1000Mbit, радиокарт), SLIP/PPP, FDDI, Frame Relay, Token Ring, WAN адаптеров и др. Linux содержит подсистемы поддержки X.25 и ISDN.

Файловая система

Основной файловой системой Linux является его собственная ext2fs. Официальное ядро содержит поддержку более 20 различных файловых систем, включая FAT (FAT/VFAT/FAT32), ISO9660 (CDROM), HPFS (OS/2), NTFS (WindowsNT) , SysV (SCO Unix и др.), UFS (BSD и др.). В стадии разработки находятся файловые системы: ext3fs (журналирующая версия ext2fs), ReiserFS (быстрая, журналирующая файловая система). SGI и IBM занимаются разработкой поддержки своих журналирующих файловых систем XFS (из Irix) и JFS (из AIX) соответственно.

Системные требования данной операционной системы:

  • Компьютер/процессор
    Минимум - 386/SX. Рекомендуется не ниже 486/DX. Современные дистрибутивы требуют процессора классом не ниже Pentium
  • Память
    Минимум - 5МБ. Рекомендуется - не менее 8МБ. Для работы в графическом режиме - не менее 32МБ.
  • Жёсткий диск
    Минимум 100 МБ свободного места на жёстком диске.
  • Видео адаптер
    Графический адаптер MDA. Для работы в графическом режиме - VGA адаптер. В "серверном" варианте возможна работа без графического адаптера
  • Периферийные устройства
    Клавиатура. Для работы в графическом режиме рекомендуется манипулятор "мышь".

Семейство BSD (FreeBSD, NetBSD, OpenBSD,BSDI)

На первый взгляд, существует четыре клоновые BSD-системы: FreeBSD, NetBSD, OpenBSD и BSDI. Однако фактически эти системы почти идентичны, различаются же они на уровне задач, которые ставили перед собой их разработчики. FreeBSD и BSDI -- свободно распространяемый и коммерческий (соответственно) клоны BSD Unix, ориентированные на эффективное использование возможностей платформы x86. Разработчики NetBSD преследовали абсолютно противоположную цель: NetBSD должна работать на всех существующих платформах, и девиз сообщества NetBSD -- мобильность. OpenBSD -- концентрат всех улучшений Unix-систем, направленных на высокую безопасность и устойчивость к "взломам".

Подобная фрагментация на самом деле даёт уникальную возможность выбора соответствующей практически любым требованиям операционной системы: можно использовать FreeBSD для разработки программного обеспечения (на дешёвой "персоналке") для супердорогого сервера под управлением, например, Open- или NetBSD.

Детальный анализ сетевого программного обеспечения склоняет нас к выбору операционной системы FreeBSD. На данный момент FreeBSD является наиболее поддерживаемым и популярным клоном среди BSD-систем. Кроме базового набора утилит, который включает в себя практически все необходимые для работы в сети утилиты, а также и некоторые основные серверные пакеты, для ОС FreeBSD существует так называемая "Port Collection" (коллекция портов). Порт (port) в терминологии FreeBSD - набор правил, сводящих иногда очень сложную задачу по установке/удалению программного обеспечения к минимальному и абсолютно тривиальному перечню действий. Ports Collection представляет собой множество вложенных каталогов, группирующих порты для примерно трёх с половиной тысяч доступных в FreeBSD программных пакетов. В операционной системе FreeBSD улучшены поддержка сети, быстродействие, защита и совместимость. Все это работает уже сегодня, и порой даже несколько лучше, чем у коммерческих производителей.

FreeBSD представляет собой прекрасную основу для создания Internet или Intranet сервера. FreeBSD обеспечивает мощнейший сетевой сервис даже под тяжестью нагрузок, эффективно распределяет память между сотнями (и даже тысячами) пользовательских процессов. Качество FreeBSD превосходно комбинируется с поставляемыми сегодня дешёвыми высокоскоростными аппаратными средствами, что делает FreeBSD отличной альтернативой коммерческим рабочим станциям под управлением UNIX. Приложения подходят для использования как в настольной системе, так и в высокопроизводительных серверах. FreeBSD может быть установлена с любого из перечисленных носителей: CD-ROM, флоппи-диск, магнитная лента, раздел MS-DOS, или, если у вас есть доступ к сети, вы сможете установить FreeBSD, используя анонимный доступ к FTP-серверу или NFS. Все, что вам нужно - это пара дискет 1.44MB. Несмотря на то, что обычно операционная система с такими преимуществами продаётся за большие деньги, FreeBSD распространяется бесплатно и поставляется вместе с исходными текстами.

Системные требования данной операционной системы:

  • Компьютер/процессор
    Минимум - 386/SX. Рекомендуется не ниже 486/DX.
  • Память
    Минимум - 5МБ. Рекомендуется - не менее 8МБ. Для работы в графическом режиме - не менее 32МБ.
  • Жёсткий диск
    100 МБ свободного места на жёстком диске.
  • Видеоадаптер
    Графический адаптер MDA. Для работы в графическом режиме - VGA адаптер. В "серверном" варианте возможна работа без графического адаптера
  • Периферийные устройства
    Клавиатура. Для работы в графическом режиме рекомендуется манипулятор "мышь".

Сравнительный анализ ОС

Windows или Unix?

В поставку Unix входят одна или несколько оболочек командной строки. Эти оболочки поддерживают изощренные языки сценариев, обеспечивающие простой доступ к сетевым утилитам, и такие сценарии часто оказываются наиболее эффективным средством автоматизации сложных задач администрирования. В Windows NT ничего подобного нет (язык командных файлов не выдерживает сравнения с оболочками Unix).

Unix-сервер можно от начала до конца администрировать с любой рабочей станции, поддерживающей протокол telnet, а в Windows NT для этого нет достаточного числа инструментов, поддерживающих работу в командной строке (к тому же на сервер с NT по умолчанию нельзя зайти по telnet; правда, демон telnet для NT имеется).

Некоторые версии Unix (в частности, Linux, FreeBSD) поддерживают загружаемые модули устройств, т. е. позволяют загрузить систему, а после этого "на лету" переконфигурировать поддержку оборудования и программ. Например, вы загружаете Linux без поддержки установленной на машине платы SCSI, а когда нужно поработать с каким-то SCSI-устройством (скажем, произвести резервное копирование на оптический диск), просто загружаете поддержку для этой платы. По окончании работы с устройством соответствующий модуль можно выгрузить. Точно так же можно загружать и выгружать поддержку звуковой или сетевой платы и даже файловых систем, таких как HPFS, FAT, VFAT, NTFS и др. Таким образом, любая Unix-система с поддержкой загружаемых модулей по самой своей природе больше подходит для сервера, поскольку чуть ли не все изменения в конфигурации можно производить без перезапуска системы. Что касается Windows NT, то она и близко не подошла к этому состоянию. Даже при незначительных изменениях в конфигурации систему требуется закрыть и перезагрузить, не говоря уже об установке программного обеспечения. Ни единого из этих ограничений в Unix нет.

Разумеется, NT имеет и некоторые преимущества перед Unix (например, в файловой системе NTFS более гибкая модель защиты), но о её слабых сторонах можно говорить чуть ли не бесконечно. Windows NT свойственны глубинные изъяны, такие как безобразно организованная работа с системными DLL, или потенциально опасная модель ядра, провоцирующая отказы драйверов.

Windows NT определенно держит курс на столкновение с Unix. Ей предстоит, во-первых, состязаться с Unix на техническом уровне, а во-вторых, что-то противопоставить "сетецентрической" организации вычислительных систем. По мере взаимопроникновения и объединения двух этих сил для Microsoft возникнет необходимость обратиться к вопросам стабильности, архитектуры, быстродействия и управляемости, сделать Windows NT многопользовательской и обеспечить удалённый доступ к прикладным программам. Все это неизбежно будет реализовываться в виде "заплат", поскольку проект системы ничего подобного не предусматривал. Самое же неприятное состоит в том, что Microsoft должна будет либо каким-то способом завладеть стандартами Internet, либо согласовать Windows с существующими стандартами. И, решая для себя все эти вопросы, руководство Microsoft рассматривает в качестве задачи с наивысшим приоритетом сохранение своей монополии.

Насколько это безопасно? Ни одна из перечисленных выше целей не достигается тривиальным путём, а некоторые из них, к тому же, прямо противоречат приоритетам и техническим методам Microsoft. Таким образом, мы вновь приходим к основному положению: будущему Windows NT угрожает не столько превосходство конкурентов, сколько собственное несовершенство, которое является следствием неправильной расстановки приоритетов. При определении направления разработок руководством Microsoft движет стремление скорее к защите своей монополии на рынке систем для настольных компьютеров, чем к техническому совершенству. Реально Windows NT сейчас менее стабильна, чем Unix, из-за уязвимости, связанной с конфликтами библиотек общего пользования (конфликтами DLL). И эта уязвимость сохранится, поскольку Microsoft имеет обыкновение заменять имеющиеся системные DLL при установке прикладных пакетов (осуществляя "скрытую модернизацию" ОС способом, на применение которого не решится ни один из конкурентов). Технически решить проблему DLL было бы несложно - просто это нежелательно с точки зрения Microsoft.

Использование же в Windows NT небезопасной модели драйверов связано со стремлением добиться более высоких, чем у конкурирующих систем, показателей в тестах, т. е. стабильность приносится в жертву скорости. До сих пор компромиссные решения работали благодаря тому, что Microsoft ограничивала сферу своей деятельности настольными компьютерами. Её системы только сейчас начали просачиваться на рынок серверов уровня отдела и бросать вызов лидирующим серверным системам. А по мере того, как Unix-системы для процессоров Intel выявляют разницу в качестве между NT и Unix, перспектива массового перехода на NT выглядит все менее и менее привлекательной.

Linux или FreeBSD?

"Пока общественное внимание приковано к Linux, BSD-клоны не производят большого шума. Но они, представители совершенных технологий, выполняют громадную работу во всем мире, хотя большинство людей даже не подозревают об их существовании".

Дэн Кузнецки (Dan Kusnetzky), аналитик International Data Corp.

Мы привыкли пользоваться самыми разными вещами, совершенно не интересуясь их устройством или принципами, обеспечивающими их функционирование. Да оно и понятно — разобраться во всем невозможно. Но когда речь заходит о чем-то, относящемся к кругу профессиональных интересов, подобная "ленивость мозга" непростительна. Многие из нас ежедневно по несколько раз набирают в строке браузера www.yahoo.com -- и Yahoo всегда в состоянии on-line. Но если задуматься, сколько человек проделывают это действие во всем мире в тот же день? То же самое можно сказать и о сверхпопулярной бесплатной почтовой службе корпорации Microsoft Hotmail. Какова должна быть надёжность программных систем одного из самых респектабельных мировых изданий -- "The Wall Street Journal", ведь любой сбой в онлайновой версии этого журнала буквально непростителен? Какими аппаратными и программными средствами популярнейший ftp-сервер ftp.cdrom.com регулярно побивает свои же абсолютные рекорды по объёмам переданных файлов (например, последний рекорд составляет 1,39 ТВ в день)?

Все эти разные вопросы подразумевают, несомненно, и разные ответы. Но есть в них и нечто общее: когда речь идёт о ТАКИХ уровнях надёжности и производительности, обязательно будет упомянуто название бесплатной операционной системы из клонов BSD. Именно под управлением FreeBSD работают серверы и Yahoo, и Hotmail, и "Wall Street Journal", и ftp.cdrom.com. Если попытаться отыскать статистику по используемым в Internet операционным системам, то результаты покажут, что BSD-клонами оснащены 15,6% всех серверов европейских доменов, а в доменах .ru (Россия), .ua (Украина), .uk (Великобритания), .nl (Нидерланды) на долю BSD-систем приходится от 52 до 24%.

BSD-системы, несмотря на молодость основных клонов, основаны на очень хорошо проверенном и популярном ядре берклеевской версии ОС Unix, разработку которого в течение 15 лет вплоть до 1994 г. финансировало Министерство обороны США. Так что на уровне "генотипа" BSD-системы и Linux родственниками не являются. Хотя очень многое в Linux заимствовано из BSD, в первую очередь - реализация стека TCP/IP.

Куда более тонкое "генеалогическое" отличие между BSD-клонами и Linux начало проявляться в последнее время: Linux становится все больше "линуксом", а BSD-клоны продолжают оставаться "юниксом" (имеющие опыт программирования в этих системах хорошо понимают, о чем идёт речь: количество системных вызовов в Linux пусть не пугающе быстро, но заметно растет, в BSD-системах оно фактически "заморожено").

Трудности администрирования BSD-клонов — главный аргумент противников BSD-систем. Но, если быть объективным, то разумнее было бы говорить о строгости, предъявляемой BSD-клонами к системным администраторам. Ориентированные более на серверные приложения, консервативные и надёжные BSD-системы требуют ЗНАНИЙ! С одной стороны, подобное "ограничение" сдерживает массовое распространение BSD-клонов, с другой — поддерживает высокий уровень квалификации пользователей *BSD (этот факт уже давно признали даже в не отличающемся лояльностью по отношению ко всем "не своим" стане ярых "линуксоидов"). Более того, у этой "медали" постберклеевских систем есть ещё и третья сторона: невысокая популярность их в качестве настольных ОС вызвала некоторую "однобокость" в неформальной информационной поддержке - здесь намного легче получить информацию или консультацию по серверной тематике, чем, например, о доступных современных инструментальных средствах для программиста или хороших библиотеках подпрограмм/классов.

Web-сервер

Когда вы обращаетесь к некой странице по её адресу URL, вы посылаете по Internet сообщение на компьютер с указанным адресом. Этот запрос поступает на порт 80 (HTTP-порт по умолчанию) хост-компьютера. Запрос состоит из 3 частей: метода, URL, и версии используемого протокола. Теперь решать, что делать с данным сообщением, будет Web-сервер, работающий на этом компьютере. Назначение Web-сервера состоит в преобразовании URL в имя файла и передаче этого файла обратно по Internet либо в преобразовании URL в имя программы, выполнении этой программы и передаче полученного результата обратно. В роли хост-компьютера может выступать как целый кластер гиперкомпьютеров, так и просто скромный ПК.

Требования к Web-серверу

Какие же требования предъявляются к Web-серверу? Он должен:

  • работать быстро, чтобы справляться с множеством запросов, используя минимум аппаратных средств;
  • быть многозадачным, т.е. работать одновременно более чем с одним запросом;
  • ещё раз быть многозадачным, чтобы человек, управляющий им, мог осуществлять сопровождение выдаваемых сервером данных, не завершая его работы. Единственный способ сделать это как следует — запустить сервер в многозадачной операционной системе;
  • иметь средства аутентификации запрашивающих абонентов: некоторые из них могут иметь право на большее число услуг, чем другие;
  • реагировать на ошибки в получаемых сообщениях ответами, которые имеют смысл в контексте происходящего. Например, если клиент запрашивает страницу, которую сервер не может найти, последний должен выдать в ответ сообщение об ошибке "404", смысл которого в спецификации HTTP определяется как "страница не найдена";
  • предлагать разные форматы;
  • работать как proxy-сервер. Proxy-сервер — это сервер, который принимает запросы от клиентов и пересылает их на реальные серверы, а затем передаёт ответы этих серверов обратно клиентам;
  • быть надёжным.

Учитывая все приведённые требования, мы рекомендуем популярный Web-сервер Apache. Разработчики Apache считают, что сервер должен предоставлять именно перечисленные услуги.

Web-сервер Apache

Первый Web-сервер был создан Тимом Бернерсом-Ли в CERN, Европейском центре ядерных испытаний (Женева, Швейцария). Разработка непосредственного предшественника Apache осуществлялась NCSA — Национальным центром суперкомпьютерных приложений, который находится в подчинении правительства США.

Apache - это программа, которая работает в среде соответствующей многозадачной операционной системы. Исполняемый файл Apache называется httpd и обычно выполняется в фоновом режиме. В холостом режиме Apache ничего не делает, только ожидает поступления запроса по IP-адресам и TCP-порту (портам), заданным в файле конфигурации. Когда на соответствующий порт поступает запрос, Apache принимает этот HTTP-запрос и анализирует заголовки. Затем, применяя правила, установленные в файле конфигурации, сервер выполняет соответствующее действие. Администратор выполняет управление работой Apache через файл конфигурации сервера. В его распоряжении более 150 директив. Администратор также определяет модули, которые будут включены в состав Apache. Каждый модуль содержит код для выполнения некоторого числа директив. Если какая-то часть директив не нужна, соответствующий модуль можно не включать в файл конфигурации, который используется при компиляции Apache. Исключение ненужных модулей позволяет сократить размер двоичного файла и может повлечь за собой повышение производительности сервера.

Также стоит отметить, что по данным независимого сетевого агентства Netcraft (http://www.netcraft.com), которое среди прочего занимается сбором статистики об использовании Web-серверов в Internet, Web-сервер Apache является самым популярным в мире. На май 2000-го года агентством проанализировано более 15 миллионов доменных имён сети. В настоящее время ведётся активная разработка следующего поколения Web-сервера Apache. Как основные достоинства будущей версии стоит отметить следующее:

  • использование новой модели многозадачности, что позволит добиться неоднократного увеличения производительности;
  • новая система компиляции, что значительно облегчит работу системного администратора;
  • поддержка не UNIX-платформ;
  • новый API (программно-прикладной интерфейс)

И нельзя не заметить, что Apache — единственный Web-сервер, которому группой российских программистов была добавлена функциональность, необходимая для корректной поддержки нескольких кодировок кириллицы одновременно (как известно, существует 5 кодировок кириллицы). Согласно декабрьскому Russian Internet Survey, Russian Apache работает на 57.2% Web-серверов в доменах .RU и .SU (13893 серверов из 23406 используют RA).

Обзор основных средств разработки

CGI - Common Gateway Interface

CGI - Common Gateway Interface является стандартом интерфейса (связи) внешней прикладной программы с информационным сервером типа HTTP, Web-сервером.

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

Программа-шлюз запускается Web-сервером в реальном масштабе времени. Web-сервер передаёт запрос пользователя шлюзу, а он, в свою очередь, используя средства прикладной системы, возвращает результат обработки запроса на экран пользователя. Программа-шлюз может быть закодирована на языках C/C++, Perl, PHP, TCL, Unix shell, Java Servlet. Как выполнимый модуль, она записывается в поддиректорию с именем cgi-bin Web-сервера.

Языки программирования Perl и PHP

Perl

Язык PERL (Practical Extraction and Report Language — практический язык извлечений и отчётов) среди всего прочего применяется для обработки потоков информации. Изначально предполагалось, что он будет использоваться в ОС Unix, но в дальнейшем Perl стали переносить на другие платформы, и сейчас он существует в самых разных версиях - для Unix, Windows, MS-DOS, OS/2, MacOS, Amiga, Atari ST, VMS, Plan 9 и др. Данный язык получил широкое распространение в связи с развитием компьютерной сети Internet.

Perl предназначен для выполнения задач командных сценариев Unix в тех случаях, когда они слишком трудны, плохо переносимы или сложны для программирования на другом языке, например на Cи. Иногда содержимое Perl-программ выглядит для непосвящённых как случайный набор символов, но, естественно, он имеет контрольную сумму, а каждый его символ - свое назначение. Perl распространяется бесплатно, поэтому исходные тексты языка и многие двоичные файлы для использования вне Unix-архитектуры можно получить на одном из серверов сети CPAN (Comprehensive Perl Archive Network) по адресу http://cpan.perl.org.

PHP

PHP — это интерпретируемый язык для создания активных Web-страниц. Программа на PHP, подобно тексту на JavaScript, VBScript или ASP, вставляется в HTML-файл. Начало и конец программы отмечаются специальными скобками '<?PHP' и '?>'. Текст вне этих скобок PHP не интерпретирует: он передаётся Web-браузеру "как есть". Синтаксис PHP основан на синтаксисе языков Си, Java и Perl и довольно подробно описан в руководстве, которое входит в комплект поставки (его также можно взять на узле http://www.php.net). Особенностью интерпретатора данного языка является его возможность использования в виде модуля к Web-серверу Apache. Модуль устраняет потребность в многочисленных малых cgi-программах на Perl, позволяя поместить простые скрипт-программы непосредственно в HTML-файлы. Это увеличивает общую производительность Web-страниц, хотя бы потому, что нет непроизводительных затрат на запуск Perl-а. Пакет также упрощает управление большими Web-серверами, помещая все компоненты Web-страницы в одиночном файле html.

Встроенная поддержка различных баз данных делает тривиальной разработку Web страниц с доступом к базам данных. Многие находят, что иметь дело с внедрённым в html-документы языком намного проще, чем создавать отдельные HTML- и CGI-файлы.

Сервер баз данных MySQL

MySQL — это многопользовательский, многопоточный SQL (Structured Query Language) сервер баз данных. MySQL реализован на технологии клиент/сервер; серверная часть представляет из себя программу-демон, а клиентская часть — это большое количество различных программ и библиотек. Основные достоинства MySQL — это его скорость и автоматизированность. MySQL изначально разрабатывался как SQL-сервер, способный предоставить программисту и пользователям удобный и быстрый сервис при больших объёмах баз данных.

Практика показала, что увеличения скорости можно добиться только за счёт потери функциональности. MySQL не исключение. Однако простота и удобство использования, а также немалые возможности данного сервера позволяют нам закрыть глаза на некоторые его недостатки и использовать его как сервер баз данных для многих задач.

О Компании | Новости | Как нас найти | Лицензии | Сертификаты | Вопросы? | Проектирование | Строительство и монтаж | Оборудование | Сервис | Примеры технических решений | Программный комплекс для энергетики: Советчик диспетчера, TPP, PPT02, Спрут | Системы управления.

Локальные вычислительные сети: аппаратура, программное обеспечение | Структурированные сети: LANConnect 200, ISCS GigaPath, кабельные системы XE | Радиосистемы и системы беспроводного доступа | АТС: Coral, Definity, Hicom | Системы передачи

Copyright © 1999-2023