"А почему OS/2? Чем она лучше, скажем, Windows NT?.."
Архив...спросил меня Евгений Козловский, посмотрев на монитор моего домашнего компьютера. "Чтобы не было "зоопарка" - на работе у меня тоже OS/2", - объяснил я. А зачем же он мне, собственно, на работе?
Во-первых, очень важна привычка, хотя при выборе программного обеспечения она занимает далеко не первое место. Я пользуюсь OS/2 с лета 1994 года, когда передо мной возникла задача запуска двухлинейной BBS, на что было выделено два дня и один компьютер на i486DX/33 с 8 Мбайт памяти. В то время, конечно, выбор был невелик: какая-нибудь многозадачная пристройка под DOS, какой-нибудь из клонов Unix и, наконец, OS/2. Тогда я выбрал случайно мною купленную OS/2 версии 2.1, поскольку на имеющемся у меня "железе" она работала довольно быстро и довольно стабильно - раз, обеспечивала нормальную многозадачность - два, и, что немаловажно, практически не требовала усилий и времени на изучение (в командной строке похожа на DOS, в окнах - на Windows 3.1) - три.
Прошел почти год, и задача усложнилась: на один компьютер с BBS потребовалось повесить еще и функцию "ворот в Интернет" для локальной сети офиса, то есть организовать подключение к провайдеру по SLIP, обеспечить маршрутизацию, запустить Proxy, сервер Web, а также (для внутренних нужд компании) демоны FTP и Telnet. На этот раз компьютер был Pentium 133 с 32 мегабайтами памяти и 340-мегабайтным жестким диском. И опять выбор был сделан в пользу OS/2 (на этот раз версии 4.0): в силу привычки - во-первых, исходя из имеющегося "железа" - во-вторых, после подсчета затрат - в-третьих.
Ну, "во-первых" в комментариях не нуждается. Подробнее поясню "во-вторых" и "в-третьих".
Те из читателей, кто имел дело с Windows NT, представляют себе, как неторопливо будет шевелиться компьютер, если на него "повесить" две линии BBS, SLIP-, Proxy-, Web-, FTP- и Telnet-серверы. При этом, насколько я знаю, программного решения этой проблемы не существует. Самый простой способ "ускориться" - купить и установить дополнительную память. Во всех случаях, которые я описываю, ничего дополнительного покупать не предполагалось, а в OS/2 можно снизить требуемую память, если пожертвовать поддержкой режимов DOS и WinOS/2, еще можно отказаться от оболочки Workplace Shell, в конце концов, можно не грузить драйверы для привода CD-ROM и флоппи-дисковода.
Теперь мой третий аргумент - затраты. Смотрите сами:OS/2 4.0 230 долларовWindows NT 4.0 190 долларовДалее, чтобы получить более-менее пристойный Web-сервер на Windows NT, стоило бы купить MS IIS 3.0 - это еще примерно 110 долларов, а один из наиболее распространенных в мире серверов (Apache) доступен не только в исходных текстах, но и в виде версии, уже откомпилированной под OS/2, и притом бесплатен. Что касается Proxy, то тут нелишне заметить, что версия для OS/2 довольно популярного Squid также доступна. Однако если для решения конкретной задачи под NT можно не покупать MS Proxy Server (около 1100 долларов), а удовольствоваться программой WinGate, то никакой экономии на этом этапе не получится. Вообще, для OS/2 очень много бесплатных и условно бесплатных программ (не знаю, чем это объяснить - тем ли, что на этой ОС работают в основном отдельные энтузиасты, или недостатком коммерческих программ, или чем-то другим).
Еще одно могу добавить ко всем аргументам в пользу своего выбора: всем изделиям Microsoft, на мой взгляд, очень недостает нормального языка пакетной обработки, не "отягощенного" никакими графическими интерфейсами, стремительно пожирающими ресурсы компьютера. Наличие REXX в OS/2 довольно здорово облегчает жизнь при построении систем, работающих большую часть времени без вмешательства человека. В отличие от скудных bat-файлов в DOS, командные файлы на REXX позволяют пользоваться нормальными циклами, читать и писать файлы, разбирать текстовые строки и, что для меня самое важное, управлять другими процессами, запущенными на том же компьютере.
Я не являюсь фанатичным поклонником или ярым противником какой-либо одной операционной системы или конкретной фирмы. И я далек от мысли призывать всех срочно выкинуть разнообразные "окна" и лопаться от собственной крутизны, установив OS/2 или какую-либо Unix. Я только за выбор, наиболее соответствующий ситуации. Мой случай - OS/2 сегодня, завтра - кто знает? - может, что-то другое.
С автором можно связаться по адресу amm@chat.ru.
Саша! Спасибо. Статья очень хорошая, хоть и очень уж маленькая. Ее бы вдвое (хотя бы) увеличить, а то и вчетверо. Есть мысли? Если нету, пойдет, конечно, и так, но не займет даже одной полоски. Ну приведи парочку примеров, чуть-чуть "маленьких хитростей"!
С уважением Е. Козловский.
Собственно, нету никаких "маленьких хитростей": устанавливается OS/2 довольно просто, нужно только изготовить три первые дискеты, а далее все происходит почти на автомате (особенно мне нравится то, что установка практически сразу, вначале, задает все вопросы, а затем просто копирует все необходимое с CD, а я могу спокойно идти курить ;). Так что моя конфигурация (BBS, SLIP, IP-router, Telnet- и FTP- "демоны") поднимается из абсолютно "нулевого" состояния в полностью рабочее примерно за 40 минут, дополнительной возни требует только Apache Web server.
О REXX'е тоже... Нужно писать либо отдельный фундаментальный труд, либо ограничиться его упоминанием. Могу только добавить, что это действительно очень здорово - иметь язык для написания командных файлов, отличающихся от привычных всем досовских .bat не только наличием переменных, массивов, нормальных циклов, возможностью читать и писать файлы, разбирать по шаблону текстовые строки, - к примеру, если в каком-то log-файле меня не устраивает, что дата пишется "по-американски" (месяц/день/год), то я могу запросто "перекрутить" такой лог, например конструкцией:
...
do forever
sourceline = LineIn("My.Log")
if sourceline = "" then leave
else do
Parse Value sourceline With _mm '/' _dd '/' _yy ' ' linerest
newline = _dd||'/'||_mm||'/'||_yy||' '||linerest
Call LineOut "My New.Log", newline
end
end
...
Понятно, что пример надуманный, но в реальной жизни довольно часто требуется нечто подобное. Главное же достоинство командных файлов на REXX, это возможность работы и с объектами оболочки (Workplace Shell), и с другими процессами, выполняющимися на той же машине. Например, я могу из отдельно запущенного .cmd "пристрелить" первую линию BBS и затем перезапустить ее. И многое, многое другое (ну вот меня и понесло ;).
Это я все к тому, что особых идей на тему "чуть-чуть увеличить объем" у меня нет. Впрочем, если понравится что-либо из написанного выше, почему бы нет? Я уже говорил: у меня не то что бы мало опыта написания подобных текстов, у меня его просто нет.
Cheers, Alexander Markov.
P. S. Если слишком поздно - прошу прощения. Я предупреждал, по-моему, что я в отпуске и доступен только по e-mail, и то урывками.