62
1 www.root.ua RootUA №4 / 2009 |

RootUA 4/2009

Embed Size (px)

DESCRIPTION

RootUA 4/2009

Citation preview

Page 1: RootUA 4/2009

1

www.root.ua

RootUA №4 / 2009 |

Page 2: RootUA 4/2009

2

www.root.ua

| RootUA №4 / 2009

Page 3: RootUA 4/2009

3

www.root.ua

RootUA №4 / 2009 |

Вот и подошёл к концу 2009 год. Он был достаточ-но трудным. Но наша коман-да не потеряла темпа и пе-ред вами новый выпуск жур-нала. В нём мы продолжим знакомить вас с докладами, которые были представле-ны на второй международ-ной конференции FOSS Sea 2009, а также вспомним, как она проходила и что было на ней интересного. Погово-рим и о других крупных ме-роприятиях, которые по-следовали вслед за FOSS Sea 2009, в частности, о первой FreeBSD/PсBSD конференции

KyivBSD ’09 и конференции-выставке Cisco Expo 2009. Хочу напом-нить, что в конце октября 2004 года у меня появилась идея соз-дать электронное издание, посвящённое свободному/открыто-му ПО. Был запущен сайт, и 18-го февраля 2005 г. вышел первый номер электронного журнала RootUA. За эти 5 лет электронное издание переросло в достаточно крупный проект. Сегодня — это портал, журнал RootUA, газета FOSS News и, конечно же, друж-ная команда. К годовщине проекта (в феврале) мы планируем ор-ганизовать праздничное мероприятие. С удовольствием рассмо-трим читательские предлежания. Будем рады спонсорской под-держке. Со следующего номера в новой рубрике вы получите мак-симально полные ответы на ваши вопросы. Ждём их по адресу: [email protected]. Поиск новых авторов продолжается. Под-робнее — на [email protected]

С уважением главный редактор Дмитрий Сподарец

Слово редактора

Page 4: RootUA 4/2009

4

www.root.ua

| RootUA №4 / 2009

События

Высокопроизводительныесистемы и кластеры

ПрофиСлово редактора 3

Содержание 4

FOSS Sea 2009 7Отчёт о второй международной конфе-ренции FOSS Sea 2009.

KyivBSD 2009 13Отчёт о первой FreeBSD/PcBSD одно-дневной конференции, прошедшей в Киеве.

Cisco Expo 2009 16Отчёт о седьмой специализируемой конференции по информационным технологиям Cisco.

Вычислительные кластеры. Часть 1. История и анатомия 20Первая часть серии статей, посвящён-ных вычислительным кластерам. Исто-рия, основные виды кластеров, сети и ПО, которое в них используется.

До питання про використання вільного програмного забезпечення в навчально-му процесі вищої школи 25Тези доповіді Григорія Злобіна.

Проблемы и решения в учетных системах 27Тезисы доклада Андрея Белых.

Автоматизация деятельности предприятия на базе портала Teaming 29Тезисы заочного доклада Виталия Сайфуллина.

Почтовый сервер любого масштаба на базе Axigen Mail Server 32Тезисы заочного доклада Виталия Сайфуллина.

Asterisk IP АТС — телекоммуникаци-онная платформа для бизнеса 35Тезисы заочного доклада Максима Лит-ницкого. Что такое Asterisk, его история, из чего состоит IP ATC и будущее телеко-муникаций.

Системы виртуализации: открытые VS бесплатные 38Тезисы доклада Сергея Егорова. Сравне-ние открытых и бесплатных систем вир-туализации.

Содержание

Page 5: RootUA 4/2009

5

www.root.ua

RootUA №4 / 2009 |

Юмор

Юмор 62

Навчальна оболонка Kuzya для вивчення мов програмування 41Тези доповіді Олександра Чмихало.

Про розробку графічного ядра обо-лонки Kuzya для вивчення програму-вання мовою С/С++ та Pascal 50Тези доповіді Володимира Шевчика.

Open Storage - простота и эффектив-ность хранения данных 56Тезисы доклада Павла Шатерника.

Организация Open Source команды 57Тезисы доклада Вячеслава Подмурного.

XUL как средство разработки ГИП неттопов и нетбуков 59Тезисы заочного доклада Константина Лепихова.

Расширение Ubiquity 61Тезисы заочного доклада Алексея Гладкова.

RootUA №4 /2009

Учредитель и главный редактор: Дмитрий Сподарец[email protected]

Лит. редактор и корректор: Владимир Орчик

Вёрстка и дизайн:Ольга Спиридонова

RootUA Team:Анастасия Петрук, Максим Зуев,Сергей Ткаченко.

Адрес редакции:г.Одесса, Мукачевський пер., 5.+3 8 (050) [email protected] www.root.ua

Отпечатано в типографии[Root@UA] Mediawww.rootuamedia.org.ua

Свидетельство о регистрации:КВ №14786-3757Рот 10 ноября 2008 рокуCумарный тираж* - 5000 экз.

Оформить подписку на журнал можно на сайте www.root.ua

Поиски новых авторов для наших изданий продолжаются. Подроб-нее — на [email protected].

*- суммарное количество распростра-нённых экземпляров печатной версии журнала и загрузок его электронной версии.

Содержание

Page 6: RootUA 4/2009

6

www.root.ua

| RootUA №4 / 2009

Портал RootUAПортал RootUA - один из основных информационных ресурсов Укра-

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

• Наши издания:

• Журнал RootUA

• Газета FOSS News

• Новостные ленты:

• Украинские новости

• Международные новости

• Hardware хроника

• Software хроника

• Безопасность

• Дайджест

• Материалы:

• Статьи

• Советы

• Аналитика

• Интервью

• Мероприятия

• Видео

• Фото-галерея

• Сообщество:

• Проекты

• Персональные сайты/блоги

• Конференции/Семинары

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

Для того, чтобы портал был вседа интересным, мы ищем новых лю-дей, которые помогут нашей команде писать контент (статьи, заметки, HowTo, переводы, тесты и обзоры железа, интервью, аналитику...), а также придумывать идеи для его развития.

Если тебе не безразлично сообщество СОПО в Украине, если ты хочешь внести свою лепту в его развитие, пиши нам по адресу [email protected].

Адрес портала - www.root.ua

Page 7: RootUA 4/2009

7

www.root.ua

RootUA №4 / 2009 |

Вторая международная конференция FOSS Sea 2009

root.ua/materialy/galereja.htmlroot.ua/materialy/video.html

С 10 по 11 сентября в Большой Физической аудитории ОНУ им. И. И. Мечникова состоялась Вторая международная кон-ференция разработчиков и пользователей свободного\откры-того программного обеспечения(СОПО) FOSS Sea 2009.

Организаторами конференции выступили: Одесский националь-ный университет им. И.И. Мечни-кова, Ильичевский институт ОНУ имени И.И. Мечникова, Одес-ский IT-Club, UAFOSS и компания RootUA Media.

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

Программа конференции была рассчитана на два дня, что дало возможность глубже прорабо-тать поднятые вопросы. На ме-роприятии собрались гости бо-лее чем из десяти стран - России, США, Германии, Италии, Абхазии, Сирии, Белоруссии, Молдавии, Кыргызстана, представители раз-ных регионов Украины. На сайте конференции была организова-

на прямая on-line трансляция, которая позволила наблюдать за происходящим в зале в режиме реального времени.

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

На открытии конференции присутствовал директор Ильи-чевского института ОНУ имени И.И. Мечникова проф. Драган Г.С и руководитель компьютерного отделения физического факуль-тета ОНУ имени И.И. Мечнико-

События

Page 8: RootUA 4/2009

8

www.root.ua

| RootUA №4 / 2009

ва - доц. Кондратьев Е. Н., а так-же ведущие преподаватели ком-пьютерного отделения доценты Полетаев Н. И. и Гуцульский В. Я. С приветственным словом к при-сутствующим обратился проф. Шевчук В. Г. и руководитель Одесского ИТ-Клуба Савчук В. И.

В первый день конференции обсуждались вопросы внедре-ния и использования СОПО в учебных заведениях и научных учреждениях. Среди найболее интересных доклады Григория Злобина («До питання про вико-ристання вільного програмно-го забезпечення в навчальному процесі вищої школи»), Григория Громко («Использование СПО при изучении основ программи-рования в школе»), Дмитрия Ко-стюка («Преподавание програм-мирования на языке ассемблер для платформы GNU/Linux»), Ж. Чубукова («R-cran как инстру-мент доказательной медици-ны»).

Послеобеденную программу этого дня продолжили докла-ды, посвящённые использова-нию СОПО в бизнесе и государ-ственном секторе: Романа Саво-ченко («OpenSCADA 0.6.4— офи-циальная бета версия стабильно-го релиза») и Сергея Присяжно-го («Информационная безопас-

ность государства на примере ОС BBOS»). Впервые была пред-ставлена секция блиц-докладов. Здесь запомнились выступле-ния Михаила Быкова «Рассказ о diglossa.org» и Алексея Бебино-ва «Пользовательская докумен-тация, комплексный подход к ее форме и содержанию», которые вызвали бурное обсуждени.

Финалом первого дня стала трёхчасовая экскурсия по досто-примечательностям Одессы.

На следующий день обсуж-дались вопросы, связанные с применением СОПО в бизнес-сегменте, а также перспективы использования СОПО в образо-вании. Следует отметить объе-динённый доклад трёх студен-тов из Львовского националь-ного университета им. И. Фран-ко — «Навчальна оболонка Kuzya для вивчення мов програмуван-ня» (О.С. Чмихало), «Про роз-робку графічного ядра оболон-ки Kuzya для вивчення програму-вання мовою С/С++» (В.Б. Шев-чик), «Використання Qt-Creator для розробки оболонки для вив-чення мов програмування» (В.В. Скляр), который по итогам голо-сования был признан лучшим. В рамках своего доклада Сергей Егоров провёл сравнение разных систем виртуализации, а Вячес-

События

Page 9: RootUA 4/2009

9

www.root.ua

RootUA №4 / 2009 |

лав Подмурный рассказал об ор-ганизации Open Source команды.

Максим Тюрин провёл Keysigning party (KSP) (празд-ник подписывания ключей): со-брание людей, использующих криптографическую систему Gnu Privacy Guard или Pretty Good Privacy (PGP). Такое мероприятие ставит своей целью значительное расширение сети доверия (web of trust). Кроме того, KSP — это отличная возможность обсудить вопросы криптографии, приват-ности и свободы существующего программного обеспечения.

Вторая часть дня также была достаточно интересной и со-держательной. Свои доклады представили Майкрософт Укра-ина, Sun Microsystems и Mozilla Россия. От Майкрософт Укра-ина выступили Игорь Шастит-ко и Сергей Байдачный, кото-рые рассказали о СОПО на плат-формах Microsoft и о разработ-ке SilverLight-приложений для Firefox. Sun Microsystems в лице Виктора Бабкова и Павла Шатер-ника рассказали об использо-вании открытых технологий Sun Microsystems в учебном процес-се, о системах хранения данных и вычислительных кластерах. Кон-стантин Лепихов, представитель Mozilla и сотрудник Яндекса Рос-

сия, рассказал о будущем мо-бильных устройств.

Следует отметить мастер-класс Павла Шатерника под названием «Из пользователей - в перевод-чики», в рамках которого он по-пытался показать, как можно пе-реводить самому QT приложе-ния.

Вечером участники конферен-ции были приглашены на банкет.

Организаторы и все участники конференции глубоко благодар-ны своим спонсорам и партнё-рам:

• организационному партнру– компании Media Magic;• платиновому спонсору – Mozilla Россия;• бронзовому спонсору – Microsoft Украина;• спонсорам – Sun Microsystems и компании Troya Comp;• генеральному информационно-му партнёру - журналу RootUA и газете FOSS News;• информационным партнёрам – журналу Linux Format, моло-дёжной газете «A5», электрон-ному приложению «Open Source», порталам www.root.ua, www.itc.ua, osdn.org.ua, habrahabr.ru, opennet.ru, nixp.ru, developers.org.ua, linux.md, it-job.by, open.by, ubuntu.ru.

События

Page 10: RootUA 4/2009

10

www.root.ua

| RootUA №4 / 2009

Конференцию посетили бо-лее 200 человек, а её сайт - более 4000, просмотрев более 11000 страниц. Приятно, что среди участников были не только поль-зователи СОПО, но и представи-тели коммерческих компаний. Во время конференции журналисты

[Root@UA]Media путём опроса определили самую популярную операционную систему и графи-ческую среду. Первое место раз-делили Ubuntu Linux и Microsoft Windows, второе присуждено Alt Linux. Самой популярной графи-ческой средой признана KDE 4.

Фотоотчет

События

Page 11: RootUA 4/2009

11

www.root.ua

RootUA №4 / 2009 |

События

Page 12: RootUA 4/2009

12

www.root.ua

| RootUA №4 / 2009

События

Page 13: RootUA 4/2009

13

www.root.ua

RootUA №4 / 2009 |

KyivBSD ‘09

26 сентября 2009 г. в Киеве на территории комплекса «Чер-вона калина» состоялась первая FreeBSD/PC-BSD конференция под названием «KyivBSD ’09».

Цель конференции — полез-ные контакты, обсуждение пер-спектив развития как FreeBSD/PC-BSD, так и свободно распростра-няемого программного обеспе-чения в целом, а также организа-ция новых интересных совмест-ных проектов.

В рамках «KyivBSD ’09» было представлено 9 докладов. От-крыл конференцию Александр Еренков докладом «FreeBSD как десктоп-ориентированная систе-ма, на примере PC-BSD», Констан-тин Белоусов рассказал о работе re@ и о цикле подготовки релиза. Александр Мотин в своём докла-де «MPD/Netgraph «изнутри»» рассказал о принципах функци-онирования системы Netgraph, и как еë использует MPD. После перерыва и плодотворного об-щения работа была продолжена. Александр Драч рассказал об ис-пользовании открытого/свобод-ного ПО в Черкасском городском совете (доклады: «Использова-ние FreeBSD в органах местного самоуправления Украины на при-

мере Черкасского городского со-вета» и «Создание корпоратив-ной системы мгновенного обме-на сообщениями и информаци-ей (ejabberd+Active Directory)»). Затем Николай Маржан проде-монстрировал, как можно соз-дать собственный инсталяци-онный диск FreeBSD. В финаль-ной части конференции Констан-тин Белоусов рассмотрел неко-торые особенности в работе VM, а Александр Мотин рассказал об интеграции ATA в CAM. Докладом «Файлы конфигов, системный подход» Александр Еренков за-вершил конференцию.

На следующий день была про-ведена BSD Associate сертифика-ция для BSD администраторов. В работе конференции приняли участие около 90 человек. Она была деловой и продуктивной. Организаторы и участники бла-годарны спонсорам и партнё-рам – Фонду FreeBsd Foundation, iXsystems, [Root@UA] Media, PC-BSD, javaz.org, freebsd.org, V-TIME group, OpenNet и Linux Support.

События

Page 14: RootUA 4/2009

14

www.root.ua

| RootUA №4 / 2009

Фотоотчет

События

Page 15: RootUA 4/2009

15

www.root.ua

RootUA №4 / 2009 |

События

Page 16: RootUA 4/2009

16

www.root.ua

| RootUA №4 / 2009

Cisco Expo 200922 – 23 октября в здании выставочного комплекса «Акко Ин-

тернешнл» (г. Киев) прошла седьмая специализированная кон-ференция по информационным технологиям Cisco Expo-2009.

В её работе приняло участие более 1000 специалистов по сетевым технологиям, аналити-ков и журналистов из Украины, России, Азербайджана, Арме-нии, Беларуси, Грузии и других стран. Девизом конференции стала фраза: «Знание – сила!». Как сообщил директор предста-вительства Cisco в Украине Олег Боднар: «Компания Cisco ори-ентируется на знание и опыт». И действительно, Cisco Systems Inc. - мировой лидер в области сете-вых технологий, меняющих спо-собы человеческого общения, связи и совместной работы.

Конференция этого года отли-чалась тем, что в программу был включен виртуальный день, про-ходивший 15 октября в формате веб-конференции WebEx.

На открытии конференции с приветственным словом высту-пили Олег Боднар, Александр Кардаков (председатель наблю-дательного совета Октава Капи-тал, основатель компаний Ин-ком и Датагруп) и Эд Бейкер (Ed Baker, руководитель подразде-

ления архитектурных продаж группы перспективных техноло-гий на рынках развивающихся стран Cisco Systems).

По окончанию приветствен-ной части состоялось награжде-ние лучших IT-проектов на базе решений Cisco, которые были реализованы в Украине за про-шлый год. Победителями стали: Райффайзен Банк Аваль, МТС, Центральная избирательная комиссия, стадион "Донбасс-Арена" и отель "Интерконтинен-таль". Были награждены лучшие учебные центры и их преподава-тели (университеты Киева, Харь-кова, Тернополя, а также учеб-ные центры компаний «Укртеле-ком» и компьютерной академии «Шаг»).

Секционная работа проводи-лась по следующим направле-ниям:• маршрутизация и коммута-ция;• унифицированные коммуникации;• информационная безопас-ность;

События

Page 17: RootUA 4/2009

17

www.root.ua

RootUA №4 / 2009 |

• решения для операторов связи;• центры обработки данных;• оптические решения;• Wi-Fi-решения.

Были также организованы специальные сессии по техно-логиям построения контакт-центров, решениям для малого и среднего бизнеса и пр.

В этом году кроме традицион-ных двух дней конференции был добавлен виртуальный день, который прошёл за неделю до открытия. Этот день представ-лял собой веб-конференцию, которая проходила на базе интеренет-сервиса Cisco WebЕx. Эксперты Cisco провели серию лекций базового уровня для того, чтобы подготовить участ-ников форума к восприятию более сложной технической ин-формации непосредственно на конференции.

Для представителей средств массовой информации была ор-ганизована специальная пресс-конференция под названием «Широкополосный доступ – ка-тализатор роста экономики». В её работе приняли участие 36 представителей прессы из 8 го-родов Украины. Журналисты имели возможность поставить свои вопросы: Олегу Копылову (менеджеру по развитию бизне-

са Cisco в Украине), Владимиру Шпаку (техническому директо-ру компании "Билайн"), Светла-не Катковой (директору по мар-кетингу компании С), Игорю Та-расенко (директору филиала информационно-комуникационных систем компании "Укртеле-ком"), а также Олегу Боднару и Эду Бейкеру.

Открыл пресс-конференцию Олег Копылов, который в своей презентации представил иссле-дование качества ШПД в мире, а также рассказал о требованиях, которые предъявляют к нему со-временные реалии. По данным исследователей, сегодня мини-мальными параметрами широ-кополосного подключения яв-ляются: скорость входящего ка-нала 3,75 Мб/с, скорость исхо-дящего канала 1 Мб/с и латент-ность 95 мс. Таким образом, по-давляющее большинство укра-инских ШПД-провайдеров пол-ностью соответствуют перечис-ленным требованиям, однако в ближайшее время пропуск-ную способность каналов по-требуется увеличить для дости-жения параметров «второй вол-ны» распространения Интерне-та – 11,25 Мб/с, 5 Мб/с и 60 мс соответственно. Владимир Шпак в своём выступлении заявил, что

События

Page 18: RootUA 4/2009

18

www.root.ua

| RootUA №4 / 2009

«Билайн» полностью готов к данным изменениям, их ком-пания предоставляет услуги на базе технологии Fiber-To-The-Building (FTTB), заводя в здания оптоволоконные кабели. Игорь Тарасенко рассказал присут-ствующим, что компания уже запустила пилотный проект по внедрению FTTB в Киеве, Харь-кове и Черновцах. Светлана Каткова в своём выступлении рассказало о том, что сегодня «Укртелеком» активно рабо-тает над улучшением качества

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

Пресс-конференция была деловой и продуктивной, все её участники высказали на-дежду, что ШПД-услуги в Укра-ине будут развиваться и что в ближайшие несколько лет наш рейтинг качеств ШПД среди стран мира подымется. На да-ный момент мы занимаем 39-е место.

Фотоотчет

События

Page 19: RootUA 4/2009

19

www.root.ua

RootUA №4 / 2009 |

События

Page 20: RootUA 4/2009

20

www.root.ua

| RootUA №4 / 2009

Вычислительные кластеры / Часть 1ИСтОрИя И АНАтОМИя Семен Есилевский, [email protected]

Начиная с момента изобретения компьютеров, всегда встречались задачи, для решения которых мощности отдельной машины не хва-тало. Поэтому идея объединения нескольких компьютеров в единую вычислительную систему для параллельной обработки данных воз-никла практически одновременно с появлением относительно ком-пактных и дешевых рабочих станций. Так появились кластеры. Кла-стером называют группу компьютеров («узлов») , объединенных вы-сокоскоростными каналами связи и представляющих единую маши-ну с точки зрения пользователя.

Официальной даты появления первого кластера не существует. Подобные системы стали появляться «стихийно» после разработки в начале 70-х гг. протокола TCP/IP. Одним из первых кластеров часто называют систему C.mpp, созданную в 1971 г. фирмой Xerox PARC. Первым коммерчески успешным кластером считается VAXcluster фирмы DEC, созданный в 1984 г.

Современные кластеры сформировались под сильным влиянием системы beowulf (http://www.beowulf.org/overview/history.html), соз-данной в 1995 г. на основе наработок NASA. Beowulf был собран из обычных дешевых персональных компьютеров, объединенных ло-кальной сетью передачи данных, но при этом демонстрировал вы-числительную мощность, сопоставимую с «большими» суперком-пьютерами, стоившими в десятки раз больше. В качестве системы использовалась бесплатная Linux. Такой подход в последние годы стал доминирующим. Если раньше под суперкомпьютером понима-ли очень дорогую специально спроектированную многопроцессор-ную машину с архитектурой принципиально отличной от «персона-лок» (например, Cray), то сейчас суперкомпьютер стал практически синонимом кластера типа beowulf.

Существует несколько основных типов кластеров: a. Кластеры высокой доступности. По-сути это системы «безотказ-

ных» серверов для предоставления критичных сервисов (например,

Высокопроизводительные системы и кластеры

Page 21: RootUA 4/2009

21

www.root.ua

RootUA №4 / 2009 |

Высокопроизводительные системы и кластеры

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

b. Кластеры распределения нагрузки (серверные фермы). Цель такого кластера — равномерно распределить входящие запросы между узлами для получения максимальной производительности. В таких кластерах один или несколько управляющих узлов распреде-ляют задачи между рабочими узлами. По этому принципу работают и вычислительные кластеры, и системы параллельного рендеринга в киноиндустрии, и высоконагруженные веб-серверы.

c. Вычислительные кластеры. Цель этих кластеров — обеспечить максимальную вычислительную мощность (как правило для научных задач). Этот показатель измеряется в количестве операций с числами с плавающей точкой в секунду (flop). Для таких кластеров характер-ны максимально быстрые процессоры и минимальная латентность сети, тогда как скорость внешних каналов и операций ввода/вывода не столь важна.

d. Системы распределенных вычислений (grid). По-сути это «кла-стеры кластеров». В отличии от собственно кластера узлом в grid-системе является как правило целый кластер или суперкомпьютер. При этом узлы могут находиться, на разных континентах и «общать-ся» по глобальной сети. Grid-системы — это, по-сути, глобальные банки вычислительных мощностей, в которых отдельные узлы не обязательно доступны все время. Задачи распределяются среди до-ступных в данный момент узлов, но пользователь не знает, где и ког-да они будут выполняться.

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

Page 22: RootUA 4/2009

22

www.root.ua

| RootUA №4 / 2009

гии и лингвистики. Что же представляет собой типичный современный вычисли-

тельный кластер? Если оставить в стороне сверхмощные систе-мы, претендующие на мировое первенство в рейтинге суперком-пьютеров (http://www.top500.org/), то конфигурация вычислитель-ного кластера достаточно однотипна. Физически кластер — это одна или несколько серверных стоек, в которых находятся отдель-ные компьютеры-узлы. Там же находится коммутатор сети и дру-гое оборудование. Иногда можно встретить кластеры в виде «бата-реи» обычных офисных системных блоков, но это скорее экзотика. Кластер может дополняться RAID-массивом для хранения данных, хотя каждый узел имеет собственный жесткий диск. Видеокарты для узлов как правило не нужны (некоторые программы могут исполь-зовать их для расчетов, но таких пока очень мало). Оптимальным вариантом по соотношению цена/производительность считаются вычислительные узлы на базе двухпроцессорных материнских плат (платы с большим числом процессоров непропорционально доро-же). По той же причине как правило не используют специальные «экстремальные» и серверные процессоры (выгоднее иметь два узла с обычными «домашними» процессорами, чем один с экстре-мальными). Типичная современная конфигурация — два четырехя-дерных процессора на узел. Вопрос о типе используемых процессо-ров (Intel или AMD) решить не так просто. С выходом каждого нового поколения процессоров перевес получает то один то другой произ-водитель. В целом на сегодняшний день процессоры Intel использу-ются чаще, но разница в конечной производительности редко пре-вышает 10-15% и сильно зависит от прикладных программ. Объем памяти узла и размер винчестера узлов лимитируются только бюд-жетом — здесь чем больше, тем лучше (при наличии RAID-массива на винчестерах узлов можно сэкономить).

Важный момент — тип используемой сети. Чем выше скорость сети, тем выше общая производительность кластера, однако сто-имость сети резко растет с ростом скорости передачи данных. Са-мый распространенный вариант сети — это Gigabit Ethernet со ско-ростью 1 Гбит/с (меньшие скорости по-сути превращают кластер в набор разрозненных машин и сейчас не используются). Несколько

Высокопроизводительные системы и кластеры

Page 23: RootUA 4/2009

23

www.root.ua

RootUA №4 / 2009 |

более дорогой вариант — Myrinet со скоростью до 1250 Мб/сек. Са-мый дорогой, но и самый лучший вариант — сеть InfiniBand со ско-ростью до 120 Гбит/с. InfiniBand поддерживает протоколы прямого удаленного доступа к памяти (RDMA), в которых данные пересыла-ются из памяти одного узла на другой без участия процессора и опе-рационной системы. Это практически превращает память кластера в единую систему и дает в некоторых случаях огромный прирост про-изводительности.

Кроме однотипных вычислительных узлов устанавливают один управляющий узел. Им может быть достаточно мощный «офисный» однопроцессорный компьютер. Управляющий узел не выполняет вычислительных задач. Он обеспечивает загрузку системы, распре-деление задач и «общение» кластера с внешним миром, играя роль сервера удаленного доступа.

Программная «начинка» кластера не менее важна, чем аппарат-ная, т.к. именно она определяет, насколько эффективно будут ис-пользоваться имеющиеся мощности. В качестве системы использу-ется Linux или (реже) *BSD. Чаще всего используются дистрибути-вы, производные от Red Hat — Centos, Scientific Linux, ROCK Linux, но есть и отечественные разработки, например ALT Linux SKIF. Базово-вый набор ПО для кластера включает:

систему распределения нагрузки или «систему очередей» (чаще всего PBS, http://www.pbsgridworks.com/ с планировщиком Maui, http://www.nsc.liu.se/systems/retiredsystems/grendel/maui.html);

систему мониторинга (обычно Ganglia, http://ganglia.sourceforge.net/); a. Компиляторы gcc. Для Intel-систем также желательны компиля-

торы Intel для C, C++, Fortran и библиотеки Intel MKL. b. Библиотеки MPI (обычно Open MPI) и OpenMP. Остальное ПО сильно зависит от специфики задач, которые выпол-

няются на кластере, его размера и конфигурации (так в кластерах на основе InfiniBand используются специальные версии MPI и других библиотек).

В следующих статьях будет рассмотрена работа с кластером с точ-ки зрения пользователя и приемы параллельного программирова-ния для кластеров.

Высокопроизводительные системы и кластеры

Page 24: RootUA 4/2009

24

www.root.ua

| RootUA №4 / 2009

Подпишись на журнал RootUA,поддержи развитие проекта!

Подписку можно оформить на сайтеwww.root.ua

FOSS FestFOSS Fest - это ежемесячные “неформальные” собрания пользовате-

лей и разработчиков свободного/открытого ПО (СОПО) в Одессе. Один раз в год, летом, на день системного администратора (последняя пят-ница июля), будет проходить отчётный фестиваль на берегу Чёрного моря.

Цели FOSS Fest - обеспечить эффективное общение и обмен опы-том пользователей и разработчиков СОПО на юге Украины; познако-мить всех желающих с миром СОПО; поддерживать и развивать СОПО на юге Украины, в частности, в образовании и науке, в гос. секторе и бизнес секторе.

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

• семинары;

• круглые столы;

• просмотр видео материалов;

• отчёты о посещении различных мероприятий;

• дружеские встречи для обмена опытом;

• прочее...

Ближайшие собрания состоятся: 30 января 2010 и 27 февраля 2010.

Все подробности на сайте: www.foss-fest.com

Page 25: RootUA 4/2009

25

www.root.ua

RootUA №4 / 2009 |

Поява на початку 80-х років минулого сторіччя IBM PC з відкритою архітектурою при-звела до широкого поширення IBM-подібних ПЕОМ у вищих на-вчальних закладах СРСР. При-чиною такого широкого розпов-сюдження були не технічні ха-рактеристики ПЕОМ, а їх ціна — ПЕОМ фірми Apple та робочі

станції були значно потужніші, але і дорожчі від IBM-подібних ПЕОМ. Внаслідок цього в на-вчальних закладах запанува-ла операційна система MS DOS і програмне забезпечення для неї — скромні характеристи-ки процесорів I8088 — I80286 та ПЕОМ на їх основі не давали змоги використовувати на IBM-подібних ПЕОМ інші операційні системи. Лише після появи у 1985 р. 32-бітного процесо-ра I80386 стало можливим ви-користання на IBM-подібних ПЕОМ інших операційних си-стем, у першу чергу Unix-подібних. Однак поширен-ня цих ОС на платній основі не сприяло їх появі в українських вищих закладах освіти, особли-во якщо врахувати широко роз-повсюджену практику вико-ристання неліцензійних копій операційних систем і приклад-ного програмного забезпечен-

До питання про використання вільного програмного забезпечення в навчальному процесі вищої школи.Григорій Злобін, ЛНУ ім.І.Франка, Україна/Львів[email protected]мhttp://root.ua/materialy/video/r-podcast/browse/2/article/foss-sea-2009-do-pitannja-pro-vikoristannja-vilnogo-program/505.html

Профи

Page 26: RootUA 4/2009

26

www.root.ua

| RootUA №4 / 2009

ня. Ситуація змінилась у 1993 р. після появи ОС Linux, яка дає змогу використовувати великий обсяг програмного забезпечення під ліцензією GNU. Проте більшість вищих закладів освіти і сьогодні використовують ОС Microsoft

таблиці випливає, що наявного на сьогодні вільного програм-ного забезпечення цілком до-статньо для забезпечення на-вчального процесу за більшістю спеціальностей вищої школи.

Призначення програмного забезпечення Назва програми

Рівень українізації програми

У яких курсах можна використовувати

Операційна система GNU/Linux високий У всіх навчальних курсах

Офісний пакетOpenOffice.org високий У всіх навчальних курсах

Koffice високий У всіх навчальних курсах

Мови програмування

Gcc (Ada, C/C++, Fortran, Java, Pascal,

Modula, Mercury, PL/1), окремі

комплятори та графічні оболонки

- Програмування, числові методи, матмоделювання

Математичні пакетиOctave - матмоделюванняScilab - матмоделюванняEuler - матмоделювання

Системи аналітичних обчислень

Maxima - спецкурсиAxiom - спецкурси

Gadabra - спецкурсиEuler - спецкурси

Графічні редактори Gimp високий спецкурсиInkscape високий спецкурси

Cистеми автоматизовано-го машинобудівного про-

ектуванняQcad, FreeCAD курси по спеціальності

Моделювання житлових помешкань Sweet Home 3d курси по спеціальності

Cистеми автоматизовано-го проектування елек-

тронних схемGeda спецкурси

Профи

Розглянемо наступну таблицю.Перелік програмного забез-

печення, який поданий у цій таблиці, містить всього кілька відсотків від загального обся-гу вільного програмного за-безпечення. Разом з тим з цієї

Windows як основну (і доволі ча-сто як єдину) платформу. Зумов-лено це хибними стереотипами, які сформувались у більшості викладачів вищих закладів освіти України.

Page 27: RootUA 4/2009

27

www.root.ua

RootUA №4 / 2009 |

Проблемы и решения в учетных системах Андрей Белых, компания iceB, Украина/Винница[email protected]

http://root.ua/materialy/video/r-podcast/browse/1/article/foss-sea-2009-problemy-i-reshenija-v-uchetnykh-sistemakh-andrei/505.html

Якщо врахувати, що для вико-нання MS-Windows програм в ОС Linux створена система Wine, то можна твердити про можливість стовідсоткового забезпечення потреб навчального процесу за допомогою вільного програмно-го забезпечення. Слід наголосити ще й на тому, що окрім економії значних коштів, які у випадку ви-користання пропрієтарного про-грамного забезпечення скеро-

вувались на придбання ліцензій (від кількох сотень у.о. на одну ПЕОМ до багатьох десятків ти-сяч у.о.), використання вільного програмного забезпечення дає змогу українським фахівцям до-лучитися до розробки вільного програмного забезпечення (у тім числі і його українізації), що у випадку використання пропрієтарного програмного за-безпечення просто неможливо.

Преимущества использова-ния OpenSource в ERP: гибкость – программа открыта и изме-нить можно все, что угодно. Не-зависимость – код открыт и те-перь клиент сервиса не зависит от поставщика ПО. Все доработ-ки он может сделать сам. С точ-ки зрения защищенности возни-кает небольшой конфликт инте-ресов – с одной стороны в от-крытом коде вы можете увидеть все слабые места и устранить их, с другой – этими слабыми ме-стами могут воспользоваться не-

приятели.К тому же существует мно-

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

Открытая бухгалтерия iceB – представляет собой комплекс программ для решения задач расчета, учета, отчетности и хра-нения информации для сегмен-та малого и среднего бизнеса, решая описанные выше пробле-

Профи

Page 28: RootUA 4/2009

28

www.root.ua

| RootUA №4 / 2009

мы.1. ГибкостьВ системе отсутствует жест-

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

2. ФункциональностьЗаложенные технические

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

3. Простота и удобство использованияМаксимально простой интер-

фейс при сложной логике про-граммы.

4. ЦенаУстановка, сопровождение и

поддержка являются самым де-шевым предложением на рын-ке.

5. УниверсальностьСистема универсальна и не

нуждается в доработках, гото-ва к эксплуатации для любого предприятия с любой сферой деятельности.

6. Быстродействие системы в сетиС терминальным клиентом

можно удалённо работать даже на очень медленных линиях и в любой операционной систе-ме – скорость 19 Кбит/c явля-ется комфортной для работы с алфавитно-цифровым интер-фейсом бухгалтерии.

7. СовместимостьФормат отчетности сходен с

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

Дополнительно Для разработки ПО исполь-

зовался язык “С++”. В качестве базы данных используется MySQL. Система может рабо-тать на компьютерах с любой POSIX-совместимой операци-онной системой, будь-то Linux, Unix, FreeBSD и др., и также на платформе Windows.

Профи

Page 29: RootUA 4/2009

29

www.root.ua

RootUA №4 / 2009 |

Автоматизация деятельности предприятия на базе портала TeamingВиталий Сайфуллин, ООО MOSQIT, Россия/Москва[email protected]

Доклад описывает возможности портала Teaming для по-строения внутренних социальных сетей предприятия и ав-томатизации бизнес-процессов. Построенный на базе серве-ра приложений Tomcat, портал очень гибко настраивается и расширяется. А использование базовых веб-технологий, зна-комых практически любому пользователю Интернет, облег-чает первое знакомство.

Kablink - это открытый проект разработки Открытой Платфор-мы Взаимодействия, спонсиру-емый компанией Novell. Основ-ная идея проекта состоит в том, что средства коллективной ра-боты можно и нужно разраба-тывать на открытом коде, что даёт компаниям возможность улучшать и изменять исходный продукт согласно своих поже-ланий. В 2009 году Teaming был признан лидером средств кол-лективной работы наравне с продуктами корпораций IBM и Microsoft.

Технологическая база порта-ла основана на сервере прило-жений Tomcat с использовани-ем языка Java. Это даёт возмож-ность строить портал на любой

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

Kablink Teaming объединяет в себе технологии WEB2.0: бло-ги, вики, дискуссионные фору-мы, обмен файлами и другие. Kablink Teaming усиливает эф-фективность каждого сотруд-ника в отдельности и всего кол-лектива, собирая людей вме-сте для создания, обмена, об-суждения и управления инфор-мацией. Каждый тип записей можно настроить, например, изменить вид, добавить полей.

Профи

Page 30: RootUA 4/2009

30

www.root.ua

| RootUA №4 / 2009

Можно создать свой собствен-ный тип записей для ведения, например, учёта входящих до-кументов.

Для управления команда-ми в портал встроены гибкие средства создания рабочих об-ластей, что позволяет легко ор-ганизовать выделенные группы по областям экспертизы или задачам. Каждая рабочая об-ласть может быть настроена под нужды конкретной коман-ды и иметь в составе только не-обходимые инструменты. Част-ным случаем рабочей области команды предложен вариант

рабочей области управления проектами, где сведены инстру-менты управления задачами, этапами проектов и всем про-ектом в целом.

Организация времени со-трудников реализована штат-ными средствами папок задач и календарей, доступных также через протокол iCal.

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

Профи

Page 31: RootUA 4/2009

31

www.root.ua

RootUA №4 / 2009 |

чты извне, например, для реги-страции запросов в отделы под-держки или продаж.

Самое важно, что есть в пор-тале, это встроенные средства создания бизнес-процессов, что позволяет автоматизиро-

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

Профи

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

новка сервера приложений и ра-бота с внешней базой данных.

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

Page 32: RootUA 4/2009

32

www.root.ua

| RootUA №4 / 2009

Почтовый сервер любого масштаба на базе Axigen Mail ServerВиталий Сайфуллин, ООО MOSQIT, Россия/Москва[email protected]

Почтовый сервер Axigen является коммерческим почтовым ре-шением, идеально подходящим для открытых платформ. При разработке решения были полностью учтены все RFC, касающи-еся почтового сообщения, а само решение является тесно ин-тегрированным почтовым ядром. Для каждой поддерживаемой платформы (BSD, Linux, Solaris, Windows) существует собствен-ная бинарная сборка решения.

Компания Gecad Technologies была основана в 2001 году в Бу-харесте, Румыния. Сейчас в шта-те компании состоит порядка 150 профессионалов информа-ционных технологий. Изначаль-но компания занималась разра-боткой антивирусных решений. С 2003 года компания развивает направление почтовой платфор-мы под торговой маркой Axigen.

При разработке решения ком-пания сразу взяла курс на под-держку максимального спек-тра платформ. Компанией офи-

циально изначально поддер-живаются свыше десятка основ-ных дистрибутивов Linux (Novell Suse Linux, RedHat, Gentoo, Debian, etc) и большинство UNIX-подобных систем (xBSD, Solaris). Версия под ОС Windows была выпущена только два года на-зад по требованию заказчиков. Решение совместимо с аппарат-ными платформами x86, SPARC, PowerPC. Для каждой платфор-мы и типа ОС решение суще-ствует в виде родного двоично-го кода без использования крос-

Профи

Page 33: RootUA 4/2009

33

www.root.ua

RootUA №4 / 2009 |

сплатформенных языков типа Java.

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

функционалом и хорошей гиб-костью настройки и расшире-ния.

С точки зрения администратора почтовой системы продукт весьма удобен. Первоначальная установка и настройка занимает не более 10 минут. В Linux/BSD установка про-изводится из консоли в диалого-вом режиме. Сразу после установ-ки для администратора доступны несколько средств управления си-стемой: мощный веб-интерфейс, командная строка, конфигураци-онный файл. Любые действия по настройке можно выполнить как из графического интерфейса, так и через скрипты командной строки или веб-приложения. Несмотря на монолитность решения любой сер-вис может быть запущен или оста-новлен независимо от других, а на-стройки применяются “на лету”.

Профи

Page 34: RootUA 4/2009

34

www.root.ua

| RootUA №4 / 2009

Для пользователя решение предлагает различные протоко-лы доступа (POP3/IMAP4/SMTP)

в том числе и с поддержкой TLS/SSL. А также доступен полно-ценный веб-интерфейс доступа.

Корпоративным заказчикам, мечтающим уйти от Exchange, предлагается полный спектр средств групповой рабо-ты, включая задачи, календа-ри, общие папки, поддержку Outlook и ActiveSync.

Как для крупных корпоратив-ных заказчиков, так и для по-ставщиков услуг решение пред-лагает полную поддержку се-тевых каталогов LDAP, средств

Профи

кластеризации, назначение ро-лей серверам (Front-End/Back-End), ролевое администрирова-

ние, гибкую систему прав.На текущий момент в мире

существует множество внедре-ний на сотни тысяч учётных за-писей, одно из крупнейших на-считывает 4 млн. ящиков. В РФ произведено множество вне-дрений в масштабах от со-тен до нескольких тысяч ящи-ков. Один из примеров - это портал интернет-магазинов shop2you.ru, где Axigen внедрён на платформе FreeBSD для обе-спечения заказчиков сервисом электронной почты.

Page 35: RootUA 4/2009

35

www.root.ua

RootUA №4 / 2009 |

Asterisk IP АТС — телекоммуникационная платформа для бизнесаМаксим Литницкий, Москва/Россия [email protected]

Что такое Asterisk?Традиционные многофункци-

ональные телефонные системы очень дорого стоят и использу-ются только в крупных компани-ях, так как их цена не является приемлемой для малого бизне-са. Поэтому такие функции, как интерактивное голосовое меню и постановка звонка в очередь, недоступны малым компаниям. Хотя именно для малого биз-неса каждый клиент жизненно важен, и отсутствие «занято» — дополнительный шанс не упу-стить очередную продажу. Если для крупных компаний расши-ренный телефонный функци-онал являются способом орга-низовать коммуникации и со-

владать с хаосом, то для мало-го бизнеса это способ удержать редкого клиента и создать ощу-щение «серьезности».

Существует открытое ПО — Asterisk IP-PBX, работающее на Linux и FreeBSD и предназначен-ное для создания решений ком-пьютерной телефонии. Asterisk обладает всеми возможностями классической АТС, хорошо под-держивает три VoIP-протокола (SIP/H323/IAX), предоставля-ет функции голосовой почты (VoiceMail), конференций, ин-терактивного голосового меню (IVR), центра обработки вызовов (постановка звонков в очередь и распределение их по агентам с использованием различных ал-горитмов), а также имеет гибкий и универсальный интерфейс для интеграции с внешними систе-мами обработки данных (AGI). Все это делает Asterisk мощной платформой для организации телекоммуникационного серви-са любого масштаба.

Благодаря открытой лицензии

Профи

Page 36: RootUA 4/2009

36

www.root.ua

| RootUA №4 / 2009

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

История развития Asterisk.В 1999 году Марк Спенсер,

будучи студентом факультета Computer Engineering в Auburn University, создал компанию Linux Support Services. Столкнув-шись с дороговизной систем АТС, Марк, обладая хорошими знаниями языка программиро-вания C и личным компьюте-ром, работающим под операци-онной системой Linux, написал собственную мини АТС.

Это и стало началом широко известного феномена по име-ни Астериск, который заставил Марка сдвинуть фокус бизнеса с поддержки Linux на поддерж-ку своего детища. Сегодня ком-пания Linux Support Services из-вестна как Digium и занимается доставкой технологий Open Source на рынок телекомму-никаций, становясь тем самым одним из столпов телекомму-никационной индустрии.

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

Из чего состоит IP АТС?IP АТС — это телефонная стан-

ция, в основе которой лежат протоколы передачи голоса по-верх IP-сети (VoIP — Voice over IP). Это значит, что основным типом абонентских устройств являются IP-телефоны, а спо-собом подключения внешних линий — регистрация на SIP-сервере провайдера. Одна-ко, Asterisk также способен работать с обычными теле-фонными линиями. При помо-щи различных моделей плат Digium Asterisk превращается в гибридную АТС, обеспечивая прозрачное взаимодействие между разными поколениями телефонии.

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

Профи

Page 37: RootUA 4/2009

37

www.root.ua

RootUA №4 / 2009 |

тщательный контроль над або-нентами, используется полно-ценная биллинговая система.

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

Asterisk обладает развитыми возможностями по интеграции с внешними системами. При по-мощи скрипта, созданного по спецификации Asterisk Gateway Interface (AGI), обработку звон-ка можно передать программе, написанной практически на любом языке программирова-ния. Это позволяет задейство-вать в телефонии всю мощь вы-сокоуровневых языков. Точно также, как CGI оживил веб, AGI встраивает телефонию в лю-бые бизнес-приложения. Бо-лее того, уже существуют го-товые компоненты для попу-лярных продуктов. Например, можно свободно скачать и ис-пользовать модуль интеграции Asterisk и открытой системы SugarCRM.

Будущее телекоммуникацийПередача голоса по IP-сети ни-

чем не отличается от переда-чи данных. Не существует прин-ципиальной разницы между от-правкой e-mail сообщения по SMTP и исходящим звонком по протоколу SIP. Поэтому можно ожидать, что в самом ближай-шем будущем все международ-ные и междугородние, да вооб-ще все переговоры будут бес-платными, а связь между ком-паниями будет устанавливаться напрямую. Тарификация за вре-мя соединения уйдет в прошлое, а компании будут решать, по ка-кому пути им пойти. Кто-то пред-почтет установить и администри-ровать свою собственную IP АТС, а кто-то воспользуется услуга-ми виртуальной АТС, по анало-гии с хостингом почты. Можно также предположить, что круп-ные социальные сети, такие как facebook, превратятся в провай-деров услуг связи и станут кон-курировать со Skype и Google Voice. А традиционные провай-деры связи превратятся в ISP, обеспечивая только услуги «по-следней мили». Таким образом открытое ПО, такое как Asterisk, способствует трансформации общества и ускорению научно-технического прогресса.

Профи

Page 38: RootUA 4/2009

38

www.root.ua

| RootUA №4 / 2009

Системы виртуализации: открытые VS бесплатныеСергей Егоров, ООО «АКТИНТЕЛ», Украина/Днепропетровск[email protected]://root.ua/materialy/video/r-podcast/browse/1/article/foss-sea-2009-sistemy-virtualizacii-besplatnye-vs-svobodny/505.html

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

Бесспорными лидерами в дан-

ной отрасли являются компании VMware и Citrix. Обе эти компа-нии предоставляют в бесплат-ное пользование ограниченные версии своих решений. VMware предоставляет «упрощённую» версию ESX под именованием ESXi, Citrix предлагает восполь-зоваться версией XenServer. Оба решения предоставляют исклю-чительно возможность виртуа-лизации без каких-либо средств резервного копирования, обе-спечения отказоустойчивости, и прочих весьма нужных функций. Всё это предлагается приобре-сти за деньги либо использовать недокументированные возмож-ности, которые могут быть от-ключены в очередном обновле-нии.

Относительным плюсом бес-платных коммерческих реше-ний является удобный админи-стративный интерфейс, но пол-нофункциональная клиентская часть существует только под MS Windows ®. Citrix XenServer име-ет ещё одно преимущество —

Профи

Page 39: RootUA 4/2009

39

www.root.ua

RootUA №4 / 2009 |

настроить резервное копиро-вание виртуальных машин под XenServer много проще, чем сделать то же самое с VMware ESXi.

Ещё одним, относительно ма-лозаметным, игроком на рынке решений виртуализации явля-ется Oracle со своей Oracle VM, построеной на базе opensource версии Xen. Данное решение на практике применяется редко, потому используется только как один из примеров.

Альтернативой коммерче-ским решениям вполне могут стать решения открытые, та-кие как OpenSource версия Xen и QEMU/KVM. Наиболее удоб-ной основой для Xen, и един-ственной для KVM, является ядро Linux со стандартным GNU окружением. Собственно, ком-мерческие решения также ба-зируются на «облегчённой» версии ядра и busybox.

Первым недостатком, в срав-нении с коммерческими реше-ниями, является отстутствие удобного интерфейса управле-ния. Этот недостаток с лёгко-стью устраняется при помощи libvirt. В свою очередь, преиму-ществом является возможность использовать для обеспечения отказоустойчивости уже давно

проверенные решения: Linux HA project, Red Hat Cluster Suite.

Кроме того, возможности по созданию резервных копий виртуальных машин намного выше, чем у продуктов Citrix и VMware, т.к. основой является стандартный Linux-дистрибутив со всеми его возможностями.

Основным недостатком от-крытых решений является не-которое отставание в произво-дительности от коммерческих конкурентов, но этот недоста-ток почти полностью нивели-руется при использовании про-цессоров с аппаратными рас-ширениями виртуализации (AMD-V, Intel VT-x).

Для сравнительных испыта-ний названных решений при-менялась следующая структура аппаратного комплекса:

Аппаратная часть: HP ProLiant BL685c G1 blade 2 шт.

Хранилище данных: Thecus N8800 NAS via Ethernet 1 Gbit/s (iSCSI \& NFS) 2 шт.

Хранилище данных: 3PAR SAN via Fiber Channel 4 Gbit/s 1 раздел.

Сетевой коммутатор:Cisco 3550 1 шт. Оптический коммутатор:

Brocade 5100 SAN switch 1 шт.На сервера в разное время

Профи

Page 40: RootUA 4/2009

40

www.root.ua

| RootUA №4 / 2009

были установлены:- VMware ESXi 3.5 - Citrix XenServer 5.5- CentOS 5.2 + KVM + libvirt- CentOS 5.2 + Xen- Oracle VM 2.1Для хранения образов вирту-

альных машин были задейство-ваны iSCSI NAS и FC SAN. NAS че-рез NFS задействован в качестве хранилища резервных копий.

При тестировании хуже все-го показало себя решение от Oracle. При установке Oracle Unbreakable Linux не из пред-ставленного производителем шаблона происходил сбой, при-водивший к зависанию Dom0, что абсолютно недопустимо для подобного решения.

Решение от VMware имеет су-щественный недостаток в виде невозможности прочитать фай-ловую систему, применяемую для хранения образов. Для ре-шения проблем с резервным ко-пированием изначально приме-нялся Perl Remote CLI, но в по-следнем обновлении этот функ-ционал был отключен, в резуль-тате был написан скрипт, выпол-няющий те же действия через SSH (данная функция официаль-но не поддерживается).

Решение от Citrix несколько «опоздало» с выходом, пото-

му его тестирование носило чи-сто «академический» интерес, хотя и является более удобным для администрирования Linux-специалистами. Тем не менее, перевод уже существующей ин-фраструктуры с VMware ESXi на Citrix XenServer не давал ника-ких преимуществ, потому от ис-пользования этого решения от-казались.

Решение на основе CentOS + Xen показало своё удобство и функциональность, но требо-вало большей квалификации от обслуживающего персона-ла. Т.к. действия по управлению виртуальными машинам долж-ны были выполнять не толь-ко системные администраторы, но и сотрудники службы техни-ческой поддержки, имеющие только базовые навыки в адми-нистрировании UNIX-подобных систем, данная система оказа-лась трудно применимой. Кро-ме того, Xen накладывал серьёз-ные ограничения на виртуали-зируемые ОС.

Связка из CentOS, KVM и libvirt показала себя как идеальное ре-шение для быстрого и простого создания виртуальных окруже-ний, имеющее при этом доста-точную гибкость и почти полную свободу в выборе виртуализиру-

Профи

Page 41: RootUA 4/2009

41

www.root.ua

RootUA №4 / 2009 |

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

Итог: открытые решения могут успешно заменять собой ком-мерческие решения по виртуа-лизации, зачастую предоставляя даже более удобные инструмен-

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

Навчальна оболонка Kuzya для вивчення мов програмуванняОлександр Чмихало, ЛНУ імені Івана Франка, Україна/Львів[email protected]

http://root.ua/materialy/video/r-podcast/browse/1/article/foss-sea-2009-navchalna-obolonka-kuzya-dlja-vivchennja-mov-progr/505.html

Оболонка програмування Kuzya створювалась як альтернатива іншим оболонкам програмуван-ня. В її завдання входило спро-стити процес навчання програму-ванню, зосередити увагу студента на процесі написання програмно-го коду, вивчення особливостей мови програмування, створенню необхідних навичок у розробці алгоритму, що розв’язує конкрет-ну задачу. Професійні засоби роз-робки часто не розраховані на це та потребують значних зусиль на освоєння самого засобу. До

Профи

Page 42: RootUA 4/2009

42

www.root.ua

| RootUA №4 / 2009

того ж багато з них розраховані тільки на роботу з одним кон-кретним компілятором або мо-вою програмування і, хоча це і дає можливість максималь-но ефективно використовува-ти ці засоби розробки програм, позбавляє гнучкості. Тому обо-лонка має бути універсальною, що дасть змогу використовувати, по можливості, ті засоби розроб-ки та компілятори, що необхідні або доступні за даних умов.

Оболонка програмування Kuzya не прив’язана до однієї конкретної мови програмування чи до конкретного компілятора. Користувач має можливість оби-рати одну з підтримуваних мов програмування для роботи, за умови, що її компілятор вста-новлений у системі. Крім того, є

можливість вибору компілятора, який буде використовуватись, якщо їх декілька. Це дозволяє пра-цювати з різними компіляторами різних мов програмування, вста-новленими у системі. Розгляне-мо детально, як реалізовані ці можливості.

Взаємодія користувача та засобів розробки відбувається че-рез інтерфейс середовища Kuzya. Kuzya забезпечує можливість компіляції та запуску програми, а також зворотній зв’язок (вивід результатів, повідомлень, по-милок, тощо). Для цього Kuzya запускає компілятор як окре-мий процес з необхідними па-раметрами та налаштуваннями, здійснює зчитування результатів його роботи та виводить ці ре-зультати.

Рис.1. Процес компіляції та запуску написаної програми.

Профи

Page 43: RootUA 4/2009

43

www.root.ua

RootUA №4 / 2009 |

Оскільки правила роботи з окремими компіляторами різняться, то необхідно для кожного з них використову-вати відповідні параметри командного рядка та при-тримуватися визначено-го порядку їх чергування. Тому для підтримки певно-го компілятора потрібно зада-ти правила роботи з ним, тоб-то вигляд та порядок передачі параметрів.

Для розв’язання цієї про-блеми використовуються спеціальні конфігураційні фай-ли, у яких зберігаються усі на-лаштування та параметри ко-мандного рядка, призначені для роботи з конкретним компілятором. Кожний з цих конфігураційних файлів є INI-файлом. Налаштування всередині них зберігаються у зручному та зрозумілому вигляді і, при бажанні, можуть бути замінені або скореговані.

Кожне поле у конфігураційному файлі має вигляд:

назва_параметру = значен-ня_параметру,

де назва_параметру - на-зва деякої опції, а значен-ня_параметру — текстовий рядок з параметрами або де-яка інформація, яка необхідна

для роботи середовища.Очевидно,що такі налаш-

тування можна доволі легко змінювати. Тому за потреби їх можна відредагувати у звичай-ному текстовому редакторі. Та-кий підхід було обрано для по-легшення супроводу та обслу-говування Kuzya.

Щоб додати підтримку ново-го компілятора, достатньо ство-рити новий конфігураційний файл, який відображатиме особливості роботи з ним та помістити його у теку з іншими конфігураційними файлами для даної мови програмуван-ня. Оболонка автоматично знайде, розпізнає та під’єднає цей конфігураційний файл. Це дає змогу уникнути зміни вихідних текстів програми та повторної їх компіляції, як було би у випадку, коли вони були би орієнтовані для роботи з конкретним компілятором.

Усі ці можливості реалізовані у класі Compiler, який завантажує налаштування для компіляції з конфігураційних файлів та, за потреби, змінює їх під час виконання. Він сканує наявні конфігураційні файли, під’єднує їх та на цій основі створює списки підтримуваних мов та компіляторів. Також у ньому реалізований механізм взаємодії з програмою-

Профи

Page 44: RootUA 4/2009

44

www.root.ua

| RootUA №4 / 2009

компілятором. Такий зворотній зв’язок дає можливість відслідковувати хід процесу та виводити результати на екран.

Для роботи з конкретним компілятором за допомогою класу Compiler запускається новий процес з необхідними параметрами (параметри у конфігураційному файлі, які відповідним чином оброб-

ляються та передаються) та організовується інтерфейс з ним через потоки вводу/виво-ду.

Крім того клас Compiler дає змогу не тільки виконува-ти процес компіляції програ-ми, а й запуск її на виконання, та підтримує можливість чи-тання результатів проведеної компіляції та передачі їх у середовище Kuzya. Це дає можливість відслідковувати помилки компіляції та виводи-ти результати до відома кори-стувача.

Профи

Розглянемо детальніше механізм компіляції. Для компіляціі необхідно мати конфігураційний файл з опціями, які специфічні для ви-користовуваного компілятора. Нижче наведено простий при-клад профілю компілятора, що демонструє приклад ро-боти з компілятором GNU C++ Compiler:

Як бачимо, конфігураційний файл розбитий на декілька секцій:

Секція [info]compiler=g++ - задає ім’я

компілятора, який буде запу-скатися в процесі компіляції - g++ (власне, ім’я виконуваного файлу програми-компілятора);

language=c,c++ - інформація про мову програмуван-ня (використовується для інформування користувача про призначення компілятора);

comment=GNU project C and C++ compiler - інформація про

[info] compiler=g++ language=c,c++ comment=GNU project C and C++ compiler

[compile] default=-O2 -o $output$ $options$ $source$

[errors] error_messages_1=1:3:(\\d+):\\s(.*)error:\\s(.*)

Page 45: RootUA 4/2009

45

www.root.ua

RootUA №4 / 2009 |

Змінна Що означає

$source$ Повний шлях + ім’я файлу, що компілюється

$output$ Повний шлях + ім’я файлу, що компілюється без розширення

$options$ Додаткові параметри

$compilerdir$ Місцезнаходження програми-компілятора

ного аналізу повідомлень компілятора про помил-ки. Шаблонів може бути не-обмежена кількість, імена довільні. Вони використову-ються для попередньої об-робки повідомлень про по-милки перед виводом результатів компіляції. Та-кож можна додати додаткові секції [warnings] та [msgs]

компілятор (використовується для інформування користува-ча про даний компілятор).

Секція [compile]default=-O2 -o $output$

$options$ $source$ - пара-метри командного рядка для компілятора у режимі за замовчуванням. Також є підтримка ще кількох режимів компіляції, що можуть бути обрані користувачем залежно від потреби та кінцевої мети компіляції (наприклад, режи-ми для компіляції бібліотек або створення об’єктних файлів).

Секція [errors]Шаблони для синтаксич-

Профи

для обробки попереджень та інформаційних повідомлень.

Перші дві секції є обов’язковими. Вони забезпе-чують програму інформацією, яка необхідна для підтримки того чи іншого компілятора. Спеціальні змінні, що виділяються символами “$”, замінюються на відповідні текстові рядки в процесі аналізу конфігураційного файлу. Вони роблять синтак-сис конфігураційних файлів гнучким та дають можливість користувачу вказувати додаткові опції, не змінюючи конфігураційний файл.

Їх значення вказано нижче:

Для роботи необхідно заван-тажити конфігураційний файл, вказавши мову програмуван-ня та назву компілятора. На основі інформації про наявні конфігураційні файли буде знайдено та під’єднано до обо-лонки потрібний компілятор. Якщо все зроблено правильно (конфігураційний файл існує,

Page 46: RootUA 4/2009

46

www.root.ua

| RootUA №4 / 2009

його формат коректний), то Kuzya виконує компіляцію та виводить її результати.

Всі необхідні для робо-ти конфігураційні файли зберігаються у теці /profiles. Для забезпечення їх автоматично-го під’єднаня та правильної ро-боти оболонки вони повинні бути розміщені спеціальним чи-ном. Для кожної з мов програму-вання передбачена окрема тека з відповідною назвою чином. У ній зберігаються конфігураційні файли для підтримки оболонкою мови програмування. У цій теці

розміщені конфігураційні фай-ли для підтримки різноманітних компіляторів, які мають розши-рення .prf . Також там розміщений спеціальний конфігураційний файл підтримки мови програ-мування. Він також має кілька секцій. Обов’язкова секція [info] містить назву мови програмуван-ня та список розширень, які ма-ють файли з програмним кодом на цій мові.

Також там знаходиться секція [templates], яка містить шаблони. В ній спеціальним чином описані шаблони мовних конструкцій даної мови програмування, що

Профи

Рис. 2. Налаштування опцій компіляції.

Page 47: RootUA 4/2009

47

www.root.ua

RootUA №4 / 2009 |

потім використовуються для швидкої вставки у текст програ-ми. На основі цієї секції будується меню Templates.

Задати необхідні для роботи на-лаштування, такі як місце знаход-ження програми компілятора та додаткові параметри компіляції, можна за допомогою діалогу з меню Settings - > Common... на закладці Compiler.

На цій закладці розташовані випадаючі списки Programming language та Compiler, за допомо-гою яких можна вибрати компі-лятор для налаштування. Ці на-лаштування є окремими для кожного з компіляторів та збері-гаються у загальному файлі з ко-ристувацькими опціями середо-вища програмування. Поле вво-ду Compiler location дозволяє вказати місцезнаходження даної програми компілятора. Це мож-на зробити, вписавши повний шлях до теки з компілятором вручну або ж скориставшись діа-логовим вікном вибору теки, на-тиснувши кнопку біля поля вво-ду. Поле Compiler options містить додаткові параметри, які будуть передані компілятору.

Також передбачена можли-вість повернутися до налашту-вань за замовчуванням, скорис-тавшись кнопкою Reset settings. Скидаються налаштування тіль-

ки вибраного компілятора. Це дає можливість зберегти нала-штування для інших та уникнути повторного їх введення.

В процесі роботи використо-вується лише один конкретний компілятор, хоча і підтримуються додатково інші. Для вибору ком-пілятора, з яким буде працювати користувач, тобто того, що буде використовуватись за замовчу-ванням при компіляції, слугує кнопка Use by default. Для цього треба лише вибрати його зі спис-ку та натиснути цю кнопку.

Процес роботи оболонки Kuzya проходить таким чином. Під часи відкриття існуючого або створенні нового файлу за його розширенням визначаєть-ся мова програмування, вико-ристана для написання програм-ного коду всередині цього фай-лу. Далі визначається компіля-тор за замовчуванням, що буде використаний при компіляції (на основі налаштувань користувача у розділі Compiler settings). На основі назви мови програмуван-ня та використовуваного компі-лятора під’єднується відповід-ний конфігураційний файл.

При компіляції з нього зчиту-ється рядок параметрами, спе-ціальні змінні, визначення яких було наведено вище, заміню-

Профи

Page 48: RootUA 4/2009

48

www.root.ua

| RootUA №4 / 2009

ються відповідними значеннями (на основі налаштувань користу-вача у розділі Compiler settings) або шляхами до файлів. Далі за-пускається програма-компілятор

з цими параметрами та встанов-люється зв’язок з нею через по-токи вводу/виводу, для взаємодії та отримання повідомлень в про-цесі компіляції. При успішному завершенні цього процесу про-грама може бути запущена на ви-конання.

Якщо в процесі компіляції ви-никли помилки або були виведе-ні інформаційні повідомлення, то вони будуть повернені головній програмі та показані після відпо-відної обробки користувачу.

Для виводу цих повідомлень слугує спеціальний список, де ві-дображаються результати вико-наних середовищем Kuzya опера-

Профи

Рис. 3. Вивід помилок компіляції.

цій та інформаційні повідомлен-ня. Також там відображаються помилки та попередження (з вка-занням рядка програми, де вони виникли) та інформаційні пові-

домлення компілятора. Підтри-мується зручна навігація по спис-ку. Рядки програмного коду з по-милками та попередженнями позначаються маркерами. Якщо натиснути мишею на маркер, то одразу ж виділиться повідомлен-ня у списку, що стосується цього рядка. Вибір повідомлення при-зводить до вказання рядка, до якого воно стосується з можли-вістю миттєвого переходу до ньо-го та редагування. Це додає ко-ристувачу зручності у виправле-ні помилок та надає можливість швидко переміщуватись по про-грамі.

Для навчання студентів, осо-

Page 49: RootUA 4/2009

49

www.root.ua

RootUA №4 / 2009 |

бливо, коли вони тільки знайом-лятся з найпростішими метода-ми побудови комп’ютерних про-грам та алгоритмів, є корисною можливість використання рід-ної мови для опису операторів та синтаксичних конструкцій. Це значно спрощує процес написан-ня простих невеликих програм, робить їх зрозумілішими для сту-дентів, дає змогу сконцентрува-тися на процесі алгоритмізації.

На відміну від деяких серед-овищ, що мають схожі можли-вості, середовище програмуван-ня Kuzya володіє більшою універ-сальністю, адже дозволяє під-тримувати довільну мову пере-

кладу для програм, а також до-зволяє застосувати ці можливос-ті для будь-якої з підтримуваних мов.

Для цього передбачені спеці-

Профи

Рис. 4. Функція перекладу програми.

альні файли перекладу, у яких зберігається список ключових слів, операторів та їх переклад. Для кожної з мов перекладу пе-редбачений окремий файл та для кожної з мов програмування передбачений свій окремий на-бір файлів перекладу. Файли пе-рекладу мають розширення .tr та розташовуются разом з конфігу-раційними файлами компіляції у теці /profiles. Вони автоматично розпізнаються та під’єднуються.

Під час відкриття існуючого або створення нового файлу, якщо іс-нують переклади для даної мови програмування, середовище Kuzya автоматично визначає, чи

були застосовані переклади до цього файлу.

Поточний переклад відобра-жається у випадаючому спис-ку на панелі інструментів. Також

Page 50: RootUA 4/2009

50

www.root.ua

| RootUA №4 / 2009

він дає можливість миттєво пе-рекладати програму або переми-катися між існуючими її перекла-дами. Для цього необхідно лише вибрати потрібний переклад зі списку і він миттєво відкриєть-ся у вікні оболонки. Перекладе-ні програми також можна компі-лювати та запускати на виконан-ня. Процеси перекладу залиша-ються прозорими для кінцево-го користувача, компіляція про-грами нічим не відрізняється від звичайної.

Для того, щоб реалізувати ці можливості у програмі, було створено клас Translator. Він від-повідає за роботу з файлами пе-рекладів, за переклад програ-ми та управління перекладами на різних мовах. При компіляції він обробляє текст програми, за-

мінюючи перекладені конструк-ції оригінальними, та створює ще один файл зі звичайним текстом програми. Саме цей файл пере-дається компілятору і компілю-ється, тому весь процес вигля-дає для користувача так, ніби він скомпілював перекладену про-граму.

Середовище програмуван-ня Kuzya суміщує в собі функці-ональну простоту та універсаль-ність. Безоплатність, відкритість програмного коду, кросплат-формність та вільний вибір мови програмування і програмних за-собів дають користувачам необ-хідну свободу. Тому Kuzya стає незамінним в навчальних цілях та у випадках, коли потрібне про-сте та надійне середовище для написання невеликих програм.

Про розробку графічного ядра оболонки Kuzya для вивчення програмування мовами C/C++ та PascalВолодимир Шевчик, ЛНУ імені Івана Франка, Україна/Львів[email protected]://root.ua/materialy/video/r-podcast/browse/1/article/foss-sea-2009- navchalna-obolonka-kuzya-dlja-vivchennja-mov-progr/505.html

На початку проекту було пе-реглянуто і відсіяно багато різ-них варіантів програм, які б мо-гли виводити потрібну нам гра-фіку на екран, одним із них була

Профи

Page 51: RootUA 4/2009

51

www.root.ua

RootUA №4 / 2009 |

графічна бібліотека qwtPlot. Але велика функціональність цих програм та нові залежності при встановленні Kuzya лише шкоди-ли простоті нашого проекту. Тож впродовж довгих дискусій було вирішено створити власний мо-

дуль без використання додатко-вих бібліотек.

Для того, щоб наш модуль міг без проблем працювати із різ-ними мовами, було вирішено зробити його окремою програ-мою та спілкуватись із ним че-рез стандартний вивід stdout, що зробить його універсальним (так як із текстовими рядками вміють працювати усі мови про-грамування). Модуль було на-звано kuzyagrpaph. Таким чином запустивши kuzyagrpaph в кон-солі, з’явиться пусте вікно гра-фічного юніта та рядок запиту на ввід команди у консолі. Ввів-ши відповідну команду і натис-нувши клавішу enter, ми відра-зу ж отримаємо відповідний ма-люнок у вікні виводу. Дані бу-дуть прийматися до того момен-ту, поки модуль не отримає ко-

Профи

манду, яка припиняє прийом да-них, але не закриває вікно виво-ду. Щоб закрити дане вікно по-трібно натиснути клавішу enter.

Графічно роботу нашого моду-ля можна представити наступ-ним чином:

Для роботи із kuzyagraph в мо-вах C/C++ та Pascal було ство-рено файл оголошення функ-цій graphics.h та юніт graph.ppu відповідно, в яких розмі-щено набір функцій для робо-ти із графічним модулем. Вико-ристання даних функцій мож-ливе лише в проміжку між дво-ма обов’яковими функціями: initgraph() та closegraph().

• initgraph() - ініціалізує графі-ку, тобто запускає графічний модуль на виконання та на-правляє туди стандартний вивід даних блоку відправ-ки даних;

• сlosegraph() - перериває зв’язок між двома блока-ми та зупиняє графічний мо-дуль, не виключаючи його.

Загалом було зреалізовано 20, на наш погляд, найбільш необ-

Page 52: RootUA 4/2009

52

www.root.ua

| RootUA №4 / 2009

хідних функцій. Цей список по можливості розширюється. Усі назви ми запозичили у Turbo C та Turbo Pascal. Це було зроблено для того, щоб можна було без проблем переносити програми, розроблені у цих оболонках. У школі та на перших курсах університету досить час-то студентів навчають саме на цих програмах, отже повна відповід-ність дозволить безболісно перейти до використання нашої оболон-ки.

Приклад програми мовою C, яка виводить на екран Qt розміром 30 пікселів, горизонтальний напис, шрифт Arial:

#include <graphics.h>

int main() { initgraph(); settextstyle(“Arial”, 0, 30); setcolor(BLUE); outtextxy(getmaxx() / 2, getmaxy() / 2, “Qt”); closegraph(); return 0; }

Основою блока отримання та виводу даних є клас низькорівневої графіки QPainter. Він включає максимально оптимізовані функції, які виконують основну роботу у створенні GUI програми. Для цього він

Профи

Ось результат виконання:

Page 53: RootUA 4/2009

53

www.root.ua

RootUA №4 / 2009 |

може використовувати як прості лінії, так і складні форми як сектори і хорди. Як правило, він спирається на “природні” системи координат, але може також робити певні перетворення. QPainter може малюва-ти на будь-якому об’єкті, який унаслідуваний від класу QPaintDevice. Спільне використання QPainter можливе лише всередині віртуаль-ного метода paintEvent: ініціалізація, надання певних налаштувань (наприклад, встановлення пера або кисті) об’єкта класу QPainter та виведення на форму. Даний клас має усі необхідні інструменти для того, щоб реалізувати повноцінну графіку.

В якості пристрою для малювання було використано клас QPixmap. Цей клас було вибрано через великий набір функцій, які допоможуть в майбутньому зберігати, друкувати та проводити безліч операцій із рисунками.

Графіку в Kuzya ми реалізували наступним чином: за допомогою функції initgraph() ми запускаємо наш графічний модуль:

void initgraph() { static char *command= “./kuzyagraph”; file = popen(command, “w”); }

За допомогою функції popen ми запускаємо kuzyagraph на вико-нання. Перший параметр - це шлях до файлу, а другий - ключ роботи із файлом, в нашому випадку це w шо означає write (запис), тобто ми записуємо в наш модуль, а не читаємо з нього.

Пізніше відповідні функції, через stdout відправляють текст з пара-метрами, наприклад:

line(100,200,100,400);

Реалізація даної функції в хедері graphics.h відбувається наступ-ним чином:

void line(int x, int y, int x1, int y1){ printf(command, “line(%i,%i,%i,%i);\n”,x , y,x1,y1); fprintf(file, command);}

Профи

Page 54: RootUA 4/2009

54

www.root.ua

| RootUA №4 / 2009

Записуємо текстовий рядок в змінну command і пізніше відправля-ємо значення цієї змінної в файл file(наш графічний двигун).

Вже запущений двигун приймає цей рядок і запускає відповідний метод, в якому перевіряє назву функції і виконує задані дії.

void stdintest::processCommand(QString command){ QPainter p(&pix); int indexOfSimbol, numberOf; ...де параметр command і є прийнятий рядок, а pix об’єкт класу

QPixmap.

if(getMethodName(command) == “line”) {

За допомогою методу getMethodName(command) ми дістаємо на-зву функції, в нашому випадку це line, і перевіряємо на відповід-ність.

Далі ми починаємо зчитувати параметри, передані із функцією line:

index = command.indexOf(“(“,0); indexOfSimbol = command.indexOf(“,”, index); numberOf = indexOfSimbol - index; x = command.mid(index+1, numberOf-1).toInt(0,10);

Читаємо перший параметр і присвоюємо його змінній x : index = indexOfSimbol; indexOfSimbol = command.indexOf(“,”, index+1); numberOf = indexOfSimbol - index; y=command.mid(index+1, numberOf-1).toInt(0,10); Читаємо другий параметр і присвоюємо його змінній y:

index = indexOfSimbol; indexOfSimbol = command.indexOf(“,”, index+1); numberOf = indexOfSimbol - index;

Профи

Page 55: RootUA 4/2009

55

www.root.ua

RootUA №4 / 2009 |

x1=command.mid(index+1, numberOf-1).toInt(0,10); Читаємо третій параметр і присвоюємо його змінній x1:

index = indexOfSimbol; indexOfSimbol = command.indexOf(“)”, index+1); numberOf = indexOfSimbol - index; y1=command.mid(index+1, numberOf-1).toInt(0,10);

Читаємо четвертий параметр і присвоюємо його змінній y1:

p.drawLine(x, y, x1,y1); update();

Малюємо на Pixmax лінію i за допомогою update() викликаємо ме-тод paintEvent:

void stdintest::paintEvent(QPaintEvent * /* event */){ QPainter painter(this ); painter.drawPixmap( 0 , 0 , pix ) ;} Тут ми вже наш Pixmap із лінією виводимо на наше вікно:

Виведення лінії на екран

Профи

Page 56: RootUA 4/2009

56

www.root.ua

| RootUA №4 / 2009

Open Storage - простота и эффективность хранения данныхПавел Шатерник, Sun Microsystems, Украина/Киев[email protected]://root.ua/materialy/video/r-podcast/browse/1/article/foss-sea-2009-open-storage-prostota-i-ehffektivnost-khranenija-d/505.html

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

В этой связи Sun Microsystems в 2008 году объявила о стратегии Open Storage. В ее основе лежат полностью открытые системы хранения - Open Storage, состо-ящие только из стандартных компонентов и использующие ПО с открытым исходным ко-дом - Open Source. Применение открытого ПО в системах Open Storage не только существен-но снизит стоимость решений, но также позволит их разработ-чикам свободно модифициро-вать программные компоненты системы, чтобы реализовать до-полнительную функциональ-ность. Помимо множества ин-новаций, используемых при по-строении СХД Sun Microsystems, открытые технологии позволя-ют другим компаниям строить и продавать собственные системы, на основе готовых наработок.

Применение передовых аппаратно-программных реше-ний, таких как файловая система ZFS или Dtrace (средство анализа

Профи

Page 57: RootUA 4/2009

57

www.root.ua

RootUA №4 / 2009 |

и диагностики системы в реаль-ном времени, имеющая более

30 000 точек мониторин-га) выводит такого рода СХД на передовые позиции по показате-лям надежности, стабильности, производительности и удобства администрирования.

В конце 2008 года Sun Microsystems объявила о выпуске новых унифицированных сис-тем хранения данных семей-ства Sun Storage 7000. Семейство Sun Storage 7000 — это первые продукты, произведенные в рам-ках стратегии открытых систем хранения данных. Sun Storage 7000 включает четыре модели: Sun Storage 7110, 7210, 7310 и 7410. Эти системы построены на

базе компонентов, соответству-ющих отраслевым стандартам и программного обеспечения Sun.

Среди особенностей серии 7000 можно отметить следую-щие: уникальные инструменты диагностики и устранения не-исправностей, широкий набор функций и протоколов доступа, использование многоуровнево-го хранилища (RAM/SSD/HDD) по-зволяет достичь высокой произ-водительности. Кроме того, та-кие системы потребляют мень-ше энергии, устанавливаются и настраиваются за считанные минуты. При этом все возмож-ности этих систем доступны сразу, без дополнительных лицензионных затрат.

Организация Open Source командыВячеслав Подмурный, GSG, Украина/Киев[email protected]://root.ua/materialy/video/r-podcast/browse/1/article/foss-sea-2009-organizacija-open-source-komandy-vjacheslav-podmurn/505.html

В своем докладе попытаюсь раскрыть проблему организа-ции группи людей для быстрой и успешной разработки Open Source приложений. Будут раскрыты такие вопросы: моти-вация колектива, организия трудовых ресурсов, поиск свежих идей, расширение комманды, офис или удаленная работа.

Профи

Page 58: RootUA 4/2009

58

www.root.ua

| RootUA №4 / 2009

Введение. OpenSource в наше время очень популярный вид создания программного обес-печения. Свою популярность он зарабатывает открытостью, доступностью и, несомненно, безопасностью.

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

Люди. Тот, кто уже пытался собрать команду людей, на-верняка сталкивался с такими проблемами, как: нехватка ка-дров, неквалифицированные сотрудники и главное - отсут-ствие мотивации у людей.

Нехватка кадров. Самая не-значительная проблема, найти людей со схожими идеями, в наше время очень просто: бла-го, для этого есть интернет.

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

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

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

Профи

Page 59: RootUA 4/2009

59

www.root.ua

RootUA №4 / 2009 |

XUL как средство разработки ГИП неттопов и нетбуковКонстантин Лепихов, Mozilla.Россия, Россия/Москва[email protected]

Еще несколько лет назад сло-во EEE PC не вызвало бы у вас никаких ассоциаций, но сейчас это не только популярный бренд компании ASUS, но и нарица-тельное имя «недокомьюте-ров» (как их называют крупные компании-разработчики ком-мерческих десктопных ОС) или «ультрамобильных» устройств. На сегодняшний день рынок

этих устройств уже достаточно сформирован и имеет посто-янную тенденцию к росту. На-пример, по оценкам компании intel, к 2011 году кол-во заказов на неттопы и нетбуки прибли-зится к кол-ву 80 млн. единиц. И каждое такое устройство бу-дет выходить в Интернет, пред-ставлять доступ к сервисам чте-ния почты, мгновенных сооб-щений, новостей и других воз-можностей, без которых не мо-жет прожить современный че-ловек.

В первых нетбуках (а все на-чалось с них) не использова-лось каких-либо специальных средств для облегчения ра-боты на уровне ГИП — ну раз-ве что иконки были побольше, да набор приложений был по-добран таким образом, чтобы можно было работать с ограни-ченным количеством оператив-ной и дисковой памяти. Особ-няком стоит интерфейс Sugar, который применялся в OLPC, но эти устройства по-сути и не яв-лялись нетбуками в современ-

Профи

Page 60: RootUA 4/2009

60

www.root.ua

| RootUA №4 / 2009

ном понимании. Затем, с ро-стом популярности нетбуков (и затем неттопов), появилось не-сколько подходов к созданию ОС для таких систем:

• «Урезанные» версии «боль-ших» дистрибутивов — Kubuntu Lite, Edubuntu, PClinuxOS и др.

• Специализированные версии, использующие в качестве «до-норов» «большие» дистрибути-вы — Xandros, gOS, Linpus, MEPIS, Ubuntu EEE и др.

• Дистрибутивы, созданные специально для нетбуков и мо-бильных устройств — Moblin, Android, Mer и др.

И если с первыми все понятно и просто — поскольку сейчас на любой неттоп или нетбук можно поставить обычный Linux дис-трибутив, то остальные решения являются «игровой площадкой» для современных тенденций в развитии пользовательских ин-терфейсов, разработки прило-жений и библиотек, и, конечно, интеграции возможностей Web 2.0. Все эти решения обладают единым интерфейсом, из кото-рого можно получить доступ к часто используемым приложе-ниям, контактам или почте. Как правило, интерфейс имеет воз-можности рендеринга страниц и

отображения мультимедиа кон-тента, причем качество обработ-ки страниц должно соответство-вать требованиям W3C. Без спе-циализированных «движков» для рендеринга тут не обойтись, и особенно без тех, которые до-ступны, опробованы в «боевых» условиях и обладают развитым функционалом. На сегодняшний день, для ОС на базе ядра Linux имеется 2 популярных «движка» - это WebKit, разрабатываемый Google, Apple и Nokia, и Gecko от Mozilla Foundation. Оба этих ре-шения имеют массу достоинств и недостатков, отметим самые важные для нашей задачи:

Webkit + плюсы:• очень малое потребление ре-сурсов (при оптимальной на-стройке)

• гибкость в выборе функциона-ла за счет модульности «движ-ка»

• совместимость с современны-ми стандартами W3C

• интеграция со многими попу-лярными библиотеками ГИП

- минусы:• отсутствие встроенных воз-можностей разработки ГИП

• сложность поддержки (из-за большого количества «ответвле-ний», сделанного вендорами)

Профи

Page 61: RootUA 4/2009

61

www.root.ua

RootUA №4 / 2009 |

• необходимость пересборки в случае изменения библиотеки ГИП

• является специализированным «движком».

Gecko + плюсы:• малое потребление ресурсов (доказано на примере Fennec и Firefox 3.5)

• поддержка средств для крос-сплатформенной разработки (XPCOM,XUL)

• полнофункциональный «дви-жок» с поддержкой видео и современных стандартов W3C

• является платформой для построения решений «под ключ» в случае использования XULRunner/libxul

• интеграция со многими попу-лярными библиотеками ГИП.

- минусы:• монолитное решение — нельзя исключить функциональные ком-поненты

• плохая поддержка мобильных платформ

• невысокая скорость рендерин-га посравнению с WebKit.

Далее в презентации будет рассказано (и показано), какие ГИП можно сделать с примене-нием этих «движков» и сдела-ны соответствующие выводы. Также будет дана оценка трудо-затрат по разработке того или иного решения, тесты произво-дительности решений на разных аппаратных платформах и не-большой обзор мобильных си-стем будущего.

Расширение UbiquityАлексей Гладков, Yandex, Россия/Москва[email protected]

Расширение Ubiquity - это экспериментальное расширение Mozilla Labs. Попытка реализовать другой подход к организа-ции интерфейса браузера.

Браузер на сегодняшний день - это сложная программа, взаи-модействующая с сайтами, по-

лучающая контент разного типа (текстовые данные, видео, ау-дио, flash и т.д.).

Профи

Page 62: RootUA 4/2009

62

www.root.ua

| RootUA №4 / 2009

Как сделать так, чтобы все эти возможности были под рукой и пользователь мог легко получить к ним доступ ?

Каким должен быть интер-фейс?

Расширение Ubiquity - это по-пытка переосмыслить, взглянуть на интерфейс браузера с другой стороны.

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

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

Именно эту проблему и пы-таются решить разработчики Ubiquity. Ключевой идеей тут яв-ляется лингвистический парсер. Он реализует разбор правил или принципов[1], присущих каждо-му человеческому языку[2].

Когда вы вводите в окне при-глашения текст на вашем (чело-веческом) языке, ubiquity налету разбирает этот текст и предлагает вам варианты действий или ре-зультаты той или иной команды.

Профи

[1] http://en.wikipedia.org/wiki/Principles_and_parameters[2] http://en.wikipedia.org/wiki/Universal_grammar[3] https://wiki.mozilla.org/Labs/Ubiquity[4] http://labs.mozilla.com/ubiquity/

• Приймали в програмерську кон-тору програмера... В анкеті у графі про наявність у нього дітей він на-писав 6/9.Довго гадали, що то мало б значи-ти... Чого тільки не вигадували: і що в нього 6 хлопців і 9 дівчаток, і що у нього 6 жінок і 9 дітей, і що його ді-тям від 6 до 9 років...Потім запитали, що ж означає 6/9. Відповідь була просто вражаючою:— У мене жінка на шостому міся-ці...• Гуцульські програмісти довели, що 8 трембіт = 1 трембайту• Помер програміст. Потрапив на Страшний суд.- Куди хочеш: у пекло чи в рай?- А подивитись можна?

Привели його в величезний сер-верний центр. Навкруги машин усі-ляких, мереж!..- От це - рай, будеш тут юзером.- А пекло?- А пекло тут же - тільки будеш си-садміном...• - Скільки часу знадобиться про-грамісту, щоб зробити на торті на-пис “З Днем народження”?- 1 годину і 5 секунд. 5 секунд – щоб виконати напис, і 1 годину – щоб промити принтер. • СМС від дівчини:“Вибач, не можу зараз відповісти на дзвінок, я за кермом”.• Вітас переозвучив для Лаборато-рії Касперського крик виявленого вірусу.

Юмор