16.09.2023

Коммерческие, свободно-распространяемые и "доморощенные" ОС реального времени: мифология эффективности. Linux - свободная ОС Операционные системы и


«1 СОВМЕСТИМЫЕ С UNIX1, СВОБОДНО РАСПРОСТРАНЯЕМЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ И ВЫСШЕЕ ОБРАЗОВАНИЕ Лидовский В. Почему не Microsoft Windows? ...»

СОВМЕСТИМЫЕ С UNIX1,

СВОБОДНО РАСПРОСТРАНЯЕМЫЕ

ОПЕРАЦИОННЫЕ СИСТЕМЫ И

ВЫСШЕЕ ОБРАЗОВАНИЕ

Лидовский В.

Почему не Microsoft Windows?

Использование означенных в заголовке статьи ОС в учебном процессе высших учебных заведений автор

считает необходимым и даже безальтернативным по следующим причинам.

Первая из них - это условия их распространения. Обычно они соответствуют GNU2 GPL3, но есть и другие очень похожие на них. Эти условия существенным образом отличается от коммерческих лицензий на программное обеспечение, получаемых, например, от Microsoft, Inprise или Symantec. Первое отличие - это возможность бесплатного некоммерческого использования неограниченного количества копий программ. Коммерческие лицензии требуют оплаты за каждую используемую копию. Учебные учреждения, которые во все времена и во всем мире, существуют, как правило, за счет спонсоров, обычно не располагают средствами для оплаты каждой копии программы, устанавливаемой в компьютерном классе. Скидки для вузов и школ, предоставляемые некоторыми фирмами, существуют только для ограниченного класса программного обеспечения и не способны изменить ситуацию в целом. Использование же “пиратских”, не соответствующих лицензионным соглашениям копий программ в образовании, кроме нарушения соответствующего законодательства (с середины 90-х в Российской Федерации действуют законы об авторском праве, основанные на международных соглашениях в этой области4) приводит и к искажению прагматики всего учебного процесса. Второе отличие состоит в том, что GPL-программы должны распространяться вместе с их исходными текстами и документацией, что допускает Unix - зарегистрированная торговая марка X/Open Company.



GNU - рекурсивная аббревиатура для GNU’s Not Unix, означающая, что GNU-программы не связаны с торговой маркой Unix.

GPL - это аббревиатура слов General Public License.

№3523-1 от 23 сентября 1992 года “О правовой охране программ для ЭВМ и баз данных”, №24-Ф3 от 25 их всестороннее изучение и дальнейшую модификацию. В частности, для любого варианта Unix наряду с исходными текстами в свободном доступе имеется исчерпывающая документация по всем аспектам его структуры и функционирования. Документация доступна как в форме гипертекстов html и texinfo, так и в форме пригодной для распечатки в форматах tro, dvi, postscript и других. Документация к коммерческим программам носит фрагментарный характер - покупателю доступна только та ее часть, которая описывает большинство предоставляемых данной программой возможностей. Попытки же самостоятельного изучения кода купленной программы коммерческими лицензиями часто рассматриваются как преступные. Все коммерческие лицензии ни коим образом не допускают модификацию кода программы, полученного от фирмы-производителя.

Между программами, распространяемыми согласно GPL и коммерческим лицензионным соглашениям, находятся условно-бесплатные или Shareware программы. Однако, класс таких программ ограничен разного рода утилитами, привязанными к той или иной коммерческой ОС и не содержит в себе ни одной полноценной операционной системы. Это же относится и к безлицензионному или Public Domain (PD) программному обеспечению.

Соглашения подобные GPL и коммерческие лицензии имеют ряд общих черт - они касаются гарантии на программные продукты и сопровождения.

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

Возможность бесплатного получения высококачественных программ естественно настораживает. Возникает вопрос: “Кому это нужно?” Ответ на него не может быть исчерпывающим и однозначным. Прежде всего следует отметить, что согласно GNU GPL программы не запрещено продавать и существуют не один десяток фирм, специализирующихся именно на их продаже. Работа таких фирм заключается в поиске, категоризации февраля 1995 года “Об информации, информатизации и защите информации” и №110-Ф3 от 19 июля 1995 года “Об авторском праве и смежных правах”.

и краткой аннотации программ, создаваемых по всему миру, составлению из них удобных для инсталляции пакетов и помещению последних на дистрибутивный CD-ROM, который и предлагается купить тем, кто не хочет сам тратить время на длительные поиски в Internet и хочет иметь некоторые дополнительные гарантии, обеспечиваемые торговой маркой составителя такого компакт-диска. С другой стороны, вследствие того, что создание программного обеспечения во многом является процессом творческим, качество которого, как известно, нельзя повысить простым увеличением его финансирования, нельзя отрицать, что программы, создаваемые по свободному графику неформальными объединениями заинтересованных в этом людей (самообразование, самовыражение, самореклама - это некоторые из таких возможных интересов) могут быть не хуже коммерческих аналогов. Кроме того, есть среди сильных мира сего и те, кто прямо заинтересован в установлении новых правил распространения программ. Для одних это сиюминутная позиция в конкурентной борьбе, для других это позиция, основывающаяся на том, что программы вообще и операционные системы в особенности, в силу своей нематериальности, являются лишь идейным базисом для реальных производственных процессов и отношений.

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

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

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

Четвертая причина обусловлена серией международных соглашений по стандартизации POSIX, делающих совместимые с UNIX системы открытыми де-юре. Практика конкуренции открытых и закрытых компьютерных систем имеет хотя и не очень длинную, но содержащую характерные факты историю. Открытость архитектуры IBM PC совместимых компьютеров позволила им вытеснить практически все прочие модели ПЭВМ с широкого потребительского рынка, не взирая на отдельные аппаратные и программные преимущества компьютеровконкурентов. На Apple Macintosh после экспериментов с A/UX (совместимой с Unix) в начале 90-х, к середине 90-х перешли на MacOS X, основанной на кодах FreeBSD, отказавшись от очень закрытой собственной ОС. Открытость кроме своей привлекательности для производителей обеспечивает преемственность. На сегодняшний день, когда различные клоны Unix стали реальностью потребительского рынка программных услуг, темп роста числа пользователей открытых систем опережает подобный показатель для системы Microsoft Windows.

Пятая причина связана с психологией. Microsoft Windows, IBM OS/2 рассчитаны на пользователяпотребителя. Они создают максимально дружественную, доходящую иногда до навязчивости, среду использования готовых программных продуктов. Но от разработчика программ эти среды требует значительных финансовых затрат на покупку соответствующих фирменных документации и инструментальных средств.

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

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

Седьмая причина обусловлена требованиями к аппаратуре. С одной стороны современные системы, совместимые с Unix, вполне работоспособны и на компьютерах с процессором, совместимом с Intel 80486, с 16 мегабайтами памяти и полугигабайтом дискового пространства. Рабочие конфигурации Microsoft Windows 98, 2000 или NT требуют больших ресурсов. С другой стороны, варианты Unix-систем способны как использовать преимущества новейших процессоров Pentium или PowerPC, так и отлично работать на 64-разрядных вычислительных системах, например, на основе процессоров Alpha фирмы DEC.

Свободно распространяемые версии Unix Наибольшее распространение на сегодняшний день получили две подобные системы FreeBSD и Linux. Первая из них является развитием системы университета в Беркли (Калифорния, США), основанной на коде AT&T5, передаваемом ему с 70-х годов. Части FreeBSD - Free Berkeley Software Distribution - распространяются на условиях BSD, несколько отличных от GNU GPL. По историческим причинам в нашей стране среди провайдеров Internet чаще используется именно эта система. Но в мире в целом использование Linux гораздо шире.

Linux, как и первый свободно распространяемый Unix-клон Minix, изначально никак не связана с кодами фирмы AT&T. Главная цель разработчиков Linux - это соответствие созданной ОС международным стандартам. Слово Linux является соединением имени создателя первого ядра этой ОС, финского студента Линуса Торвальдса (Linus Torvalds) со словом Unix.

Linux как и прочие версии и клоны Unix распространяется в одном дистрибутиве с широким набором прикладных и инструментальных программ, обеспечивающих широкие функциональные возможности установленной системы. В дистрибутив обычно входят ряд разнообразных редакторов текстов, трансляторы с многих языков программирования, электронные таблицы, системы управления базами данных, программы настольной типографии и т. п., т. е. те программы, которые для коммерческих, отличных от Unix ОС нужно покупать отдельно. Состав дистрибутива зависит от его фирмы-составителя. До недавнего времени широко использовался дистрибутив Slackware (http://www.slackware.com), сегодня чаще всего используются дистрибутивы Red Hat (http://www.redhat.com) или система Open Linux (http://www.calderasystems.com). Физически дистрибутив Linux представляет собой CD-ROM, полностью заполненный упакованными программами и данными. Получить дистрибутив можно и по Internet, если подключение имеет способность перенести несколько сотен мегабайт за приемлемое время. Но лучше использовать Internet как дополнение, а не альтернативу компакт-диску, используя ресурсы сети только для обновления отдельных частей дистрибутива и дополнения его новыми программами.

AT&T - American Telephone and Telegraph - фирма-создатель Unix.

Установка и использование Linux Современную версию Linux лучше всего устанавливать на компьютер с процессором Pentium с тактовой частотой от 100 МГц, с 32 или более мегабайтами памяти, видеоадаптером и монитором Super VGA и с не менее чем гигабайтом свободного дискового пространства. Работоспособную систему можно сконфигурировать, имея и менее половины означенных ресурсов, но ценой усложнения процедуры инсталляции и некоторых неудобств при дальнейшей работе.

Первая проблема, которую нужно решать в связи с установкой Linux, - это как выделить для нее дисковое пространство. Для Linux на диске должно быть выделено два раздела: один размером от 600 мегабайт для самой системы и второй размером до 100 мегабайт для организации виртуальной памяти (размер виртуальной памяти должен быть несколько большим размера оперативной памяти компьютера). Если главное требование к системе - надежность, то для установки файлов Linux нужно выделять не один, а два раздела. Кроме того, файлы Linux можно устанавливать и в файловой системе MS-DOS (или в FAT-системе Microsoft Windows), но это будет наименее надежный и производительный случай.

Дальнейший процесс установки проходит в полуавтоматическом режиме, через систему меню.

В Linux каждый пользователь имеет имя и пароль. Только суперпользователь, он же администратор, имеет доступ ко всем компонентам системы и только он в состоянии разрушить ее своими действиями. В Linux предопределенное имя суперпользователя - root (корень). Обычные пользователи могут ограничить всем другим пользователям или только отдельным группам пользователей доступ к каждому из своих файлов или каталогов.

Установщик системы автоматически становится ее суперпользователем, но вследствие особенной уязвимости системы при работе с ним рекомендуется работать под именем суперпользователя только в случаях, когда это действительно необходимо. Команда adduser позволяет добавить нового пользователя в систему, а команда passwd установить для него пароль. Команда su позволяет, при знании пароля, временно сменить имя пользователя.

Следующая проблема, которую нужно решать уже после установки файлов системы, - это конфигурирование и запуск графического сервера X Windows. Она решается запуском соответствующей конфигурирующей программы (Xcongurator), через которую нужно выбрать рабочие режимы монитора. Пакет X Windows (X Window System6) предоставляет пользователю графический интерфейс, сходный с Microsoft Windows. Однако X Window System - торговая марка организации X Consortium, которой она была передана от разработчика X Windows поддерживает не один интерфейс, а много, и среди них два более завершенные, чем остальные, - GNOME (http://www.gnome.org) и KDE (http://www.kde.org). Система X Windows не имеет определенного внешнего вида. Внешний вид определяется диспетчерами окон (Window Managers), которых насчитывается более десятка; некоторые воспроизводят интерфейс Windows 95, один имитирует Macintosh, а есть и ни на что не похожие. И хотя различные графические интерфейсы X Windows имеют много отдельных различий, в целом они достаточно сходны - и друг с другом, и с Windows - для того, чтобы можно было переключаться с одного на другой, а также на Windows без глубокого расстройства. Запуск X Windows производится обычно командой startx.

Затем следует решить как загружать Linux после включения компьютера. Это можно сделать несколькими способами. Самый распространенный - это использование lilo, программы для установки начального участка жесткого диска, обеспечивающей загрузку Linux или альтернативной операционной системы. Другой способ - это загрузка Linux из среды MS-DOS или Windows, используя программу LOADLIN. И, наконец, Linux можно загружать с дискеты - этот вариант особенно полезен в случае краха жесткого диска, для спасения файлов.

После установки в распоряжении пользователя оказывается большой набор прикладных, системных и инструментальных программных средств. В любой вариации Unix традиционно сильной и надежной является поддержка работы в локальной и в глобальных сетях. Просматривать Web можно, используя Netscape Communicator или любой другой из более чем десятка браузеров, доступных для Linux. Имеются хорошие трансляторы со следующих универсальных языков программирования: Си++, Паскаль, Лисп, Пролог, Форт и Бэйсик. Кроме того, имеются отличные трансляторы с специализированных языков Perl, Java, Awk, Yacc, TEX7 и прочих. Среди редакторов текстов выделяется программа Emacs своей мощной универсальностью и сложностью для новичков.

Есть ряд простых текстовых редакторов с возможностями от блокнота до программы WordPad для Windows 95.

Мощные системы WYSIWYG представлены программами Word Perfect 8 фирмы Corel и редактором StarWriter из пакета Star Oce 2000 компании Stardivision (http://www.stardivision.com). Обе эти программы поставляются без исходников включаются только в некоторые дистрибутивы и условия их бесплатного распространения существенно отличаются от GNU GPL. Word Perfect для Linux поставляется без ряда стандартных средств, X Window - MIT - Массачусетского технологического института - Massachusets Institute of Technology.

TEX - это торговая марка Американского математического общества - American Mathematical Society.

что не позволяет, в частности, использовать шрифты, отличные от поставляемых вместе с ним. Word Perfect может работать с файлами Microsoft Word 97 и в формате RTF, но не на русском языке... Весь пакет Star Oce, включающий в себя помимо редактора текстов еще электронные таблицы, базу данных, редакторы графики и презентаций и другие программы невероятно медленен - требуется не менее Pentium 300 МГц для нормальной работы с ним. Внешне Star Oce - это функциональная копия пакета Microsoft Oce. Программы, входящие в Star Oce, могут с некоторыми ограничениями читать файлы форматов программ Microsoft Oce. Как и в практически любой Unix-подобной системе в Linux имеется система подготовки публикаций TEX, позволяющая верстать сколь угодно сложные документы. Среди электронных таблиц можно еще выделить GPL-программу Gnumeric, внешне очень похожую на Microsoft Excel. Программы для работы с графикой (объектной и растровой) представлены большим набором, в котором можно выделить GPL-программы XFig, Gnuplot и The GIMP.

Возможности последней сопоставимы с пакетом Adobe Photoshop. Поддержка работы с реляционными базами данных клиент-серверной архитектуры обеспечивается пакетом PostgreSQL, распространяемом на условиях BSD, в котором можно работать с SQL3 стандарта ISO/ANSI 1998 года. Существует для Linux также версия СУБД Oracle и множество других высококлассных небесплатных программ...

Проблемы эксплуатации Linux Главная проблема, связанная с эксплуатацией Unix-подобной системы, - это относительно высокие требования к пользователям. Если незнакомого с компьютерами человека средних способностей можно за несколько десятков часов занятий научить делать несложную работу в среде Microsoft Windows, то для Linux потребуется как в несколько раз большее количество времени, так и способности выше средних. Особенно высоки требования к администраторам системы. В идеале администратор должен знать язык Си, языки оболочек (шеллов), архитектуру Linux и локальных сетей, протоколы TCP/IP...

Еще одна проблема образуется вследствие отсутствия для Linux ряда программных средств. Нет, например, надежных интегрированных сред для разработки программ и развитых удобных средств для визуального программирования. Хотя фирма Inprise, бывшая Borland (http://www.borland.com), уже и выпустила или собирается выпустить для Linux варианты некоторого своего программного обеспечения, например, RAD8 для Java, RAD - Rapid Application Development - средство для быстрого создания приложений.

JBuilder, и пакета VisiBroker поддержки систем на базе CORBA.

Совместимость программ в мире Unix существует только на уровне текстов их исходников. Поэтому практически любую новую программу нужно перед использованием компилировать, более того перекомпиляция программ может потребоваться при переходе от одной версии Linux к другой, например, более новой. Последнее неудобство обычно связано не с ядром системы, а с динамически связываемыми библиотеками (DLL) и неспособностью программ Linux находить требуемые ресурсы в библиотеках более новых версий.

И в заключение, стоит отметить, что диспетчеры окон X Window System пока еще в целом уступают Microsoft Windows по уровню удобности пользовательского интерфейса и некоторые из них недостаточно надежны (крах графического сервера в Unix-совместимых системах приводит лишь к необходимости его перезапуска - компьютер перезагружать после такого сбоя не нужно).

Перспективы На сегодняшний день 85% провайдеров Internet в мире работают с различными вариантами Unix. Это же относится и к почти 50% корпоративных сетей. Фирмы IBM, Dell и Compaq объявили о своей поддержке Linux.

Linux сегодня установлена на более чем 10 млн. компьютеров. В состоянии ли вскоре современные клоны Unix вытеснить Microsoft Windows? Скорее всего нет, т. к. надо признать, что, несмотря на некоторые недостатки, Windows во многих отношениях - очень хорошая операционная система. Однако, замена Windows в российских некоммерческих вузах на Linux или FreeBSD - это давно созревшая необходимость...

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

1. Никита Кожекин Звездный путь пакета StarOce //Мир ПК, 2/99, с. 40–46.

2. Борис Тоботрас Linux здесь и сейчас //Мир ПК, 2/99, с. 47–51.

3. Скотт Спэнбауэр Добрая старая Linux перекраивается на манер Windows //Мир ПК, 8/99, с. 66–67.

4. Дэн Беркес Начинаем работать с Linux //Мир ПК, 9/99, с. 34–42.

–  –  –

Модель 3 Назначение средства измерений Теплос...»ОТЧЕТ № 2.21–2015 о результатах проверки законности и результативности использования бюджетных средств, направленных в 2014 году и I квартале 2015 года на обеспечение деятельности кадетских школ УТВЕРЖДЕН решением коллегии Контро...»

«ТЕМА НОМЕРА: ПОЛИТИЧЕСКОЕ ПОВЕДЕНИЕ РОССИЯН ОПЫТ ПАНЕЛЬНОГО ИССЛЕДОВАНИЯ УДК 323.22(470+571)’’2011/2012’’:316 Ю.М. Баскакова НЕДОВОЛЬНЫЕ И НЕСОГЛАСНЫЕ: СОЦИАЛЬНОЕ НЕДОВОЛЬСТВО И ЕГО МАСШТАБЫ (ЧАСТЬ I) БАСКАКОВА Юлия Михайловна кандидат политических наук, руководитель исследовательских проектов ВЦИОМ, старши...»

«ЕЖЕКВАРТАЛЬНЫЙ ОТЧЕТ Открытое акционерное общество Центральный телеграф Код эмитента: 00327-A за 2 квартал 2014 г. Место нахождения эмитента: 125375 Россия, г. Москва, Тверская 7 Информация, содержащаяся в настоящем ежеквартальном отчете, подлежит раскрытию в соот...»

«1B1 Перевод текстов для аудирования (Русский) ver. 20170308 Topic 1 Topic 1 Встреча с новыми людьми PART 1 Всем здравствуйте Ведущий Хорошо, а теперь, пожалуйста, представьтесь все по очереди. Ямасита Здравствуйте, меня зовут Ямасита-Гарсия Томок...»

2017 www.сайт - «Бесплатная электронная библиотека - электронные матриалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам , мы в течении 1-2 рабочих дней удалим его.


Проект UNIX В 1969 году команда разработчиков в лабораториях Bell Labs начала работу над решением проблемы программного обеспечения, направленной на решение проблем с совместимостью. Они разработали новую операционную систему, которая была Простой и элегантной, Написанной на языке программирования Си, а не на ассемблере, Допускала возможность модификации кода. Кен Томпсон и Деннис Ритчи - создатели UNIX


Проект UNIX С самого начала распространения UNIX в американских университетах начали появляться различные версии ОС. Для упорядочивания фирма AT&T в 1982 объединила несколько версий в одну назвала вариант ОС – System III. В 1983 году была выпущена коммерческая версия – System V. В 1993 году AT&T продала свои права на UNIX фирме Novell, которая далее консорциуму X/Open и Santa Cruz Operation (SCO). Другая линия ОС UNIX – BSD разрабатывается в Калифорнийском университете (Беркли). Существуют бесплатные версии FreeBSD, OpenBSD. К семейству OSF/1 – Open Software Foundation – относятся ОС консорциума IBM, DEC и Hewlett Packard. К числу ОС данного семейства относятся – HP-UX, AIX, Digital UNIX.


Проект UNIX В 1983 году Ричард Столлман объявил о создании проекта GNU попытки создания свободной UNIX- подобной операционной системы с нуля, без использования оригинального исходного кода. Однако, работы по созданию замены для ядра UNIX, необходимые для полного выполнения задач GNU, продвигались крайне медленно. В настоящее время GNU Hurd попытка создать современное ядро на основе микроядерной архитектуры Mach всё ещё далека от завершения.


UNIX и Linux К началу 90- х домашние ПК наконец стали достаточно мощными, чтобы на них можно было запустить полномасштабный UNIX. Линус Торвальдс, молодой человек, изучающий компьютерную науку в университете Хельсинки, подумал, что было бы неплохо иметь какую - нибудь свободно доступную академическую версию UNIX, и сразу начал писать программный код. Через два года после сообщения Линуса было уже пользователей Linux. Проект, популярный среди любителей, постоянно рос все это время. Все функции UNIX были добавлены в течение следующих нескольких лет, в результате чего на сегодняшний день Linux стала зрелой операционной системой. Linux является полным клоном UNIX, пригодным для использования на рабочих станциях, также как и на средних и высококлассных серверах.




Unix- подобные операционные системы Большинство производителей открытых UNIX- систем не добиваются сертификации UNIX для своего продукта: стоимость сертификации считается недопустимой. Для таких систем обычно используют термин Freenix. Примером являются: GNU, Linux, Minix, OpenSolaris, Plan 9 BSD со своими потомками, такими как FreeBSD, NetBSD и OpenBSD. Есть множество запатентованных UNIX- подобий, таких как AIX, HP-UX, IRIX, Mac OS X, LynxOS, QNX, SCO OpenServer, Solaris, Tru64 UNIX, UnixWare, Xenix и VxWorks.


GNU Разработка системы GNU началась 27 сентября 1983 года, когда Ричард Столлман опубликовал объявление о проекте в группах новостей net.unix- wizards и net.usoft. В течение почти 20 лет распространялась и набирала обороты идея создания ПО с открытым исходным кодом, увеличивалось число программ, число разработчиков. Необходима была бесплатная среда, позволяющая запуск этих программ.


Minix Minix свободная Unix- подобная микроядерная операционная система, распространяемая по лицензии BSD. Эндрю Таненбаум создал первую версию Minix в 1987 в качестве « иллюстрации » учебника « Операционные системы: Разработка и реализация ». Среди студентов, изучающих теорию операционных систем по исходникам Minix, наибольшей известности достиг Линус Торвальдс, разработчик Linux. Изначально, целью Minix являлось обучение студентов строению компьютеров и основ операционных систем. Исходные коды Minix совершенно отличны от кодов ОС Linux, но как и Linux, Minix является Unix- подобной операционной системой с аналогичным набором команд.


OpenSolaris OpenSolaris операционная система с открытым исходным кодом, созданная корпорацией Sun Microsystems на базе Solaris. Исходные тексты Solaris были открыты 14 июня 2005 года. На момент покупки Sun Microsystems компанией Oracle, Sun открыла исходные тексты ядра ОС, сетевых компонентов, системных библиотек и базовых программ для архитектур SPARC и x86. Эти компоненты можно взять за основу для построения дистрибутивов сторонними фирмами, что на данный момент и сделано как с участием Sun Microsystems, так и без. Со временем планируется раскрытие исходных текстов и других частей Solaris.


Plan 9 Plan 9 операционная система, разрабатываемая Bell Labs. В 2000 году система вышла с открытыми исходными кодами и в 2002 году под свободной лицензией (Lucent Public License), одобренной OSI. Plan 9 написана для x86, но таким образом, что с лёгкостью может быть портирована на любую процессорную архитектуру, поддерживающую аппаратный MMU. В настоящий момент с сайта Bell Labs можно загрузить четвёртую версию, которая поддерживает большинство современных процессорных архитектур.


Plan 9 Система построена на трёх основных принципах: 1. Все ресурсы представлены как файлы и доступны в иерархической файловой системе. 2. Локальные и удалённые ресурсы не различаются, для доступа к ним реализован стандартный протокол 9P. 3. Каждая группа процессов имеет собственное пространство имён, собранное из файловых иерархий, предоставленных различными ресурсами.


Современное применение UNIX- подобных операционных систем В настоящий момент GNU/Linux и представители семейства BSD быстро отвоёвывают рынок у коммерческих UNIX- систем и одновременно проникают как на настольные компьютеры конечных пользователей, так и на мобильные и встраиваемые системы. Одним из свидетельств данного успеха служит тот факт, что, когда фирма Apple искала основу для своей новой операционной системы, она выбрала NEXTSTEP операционную систему со свободно распространяемым ядром, разработанную фирмой NeXT и переименованную в Darwin после приобретения фирмой Apple. Данная система относится к семейству BSD и основана на ядре Mach. Применение Darwin BSD UNIX в Mac OS X делает его одной из наиболее широко используемых версий UNIX. Tux - Официальный Талисман Linux



Применять или не применять ОС реального времени (ОСРВ) во встраиваемом проекте - вопрос уже почти риторический. И у одного, и у другого подхода есть свои сторонники и противники, и у каждого из них свои, казалось бы, неоспоримые аргументы. В данной статье предпринимается попытка взглянуть на вопрос "сверху" и указать на некоторые наиболее распространенные мифы.

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

  • обойтись вообще без ОСРВ;
  • разработать ОСРВ самостоятельно;
  • приспособить под свои нужды свободно-распространяемую ОС общего назначения;
  • использовать готовую коммерческую ОСРВ.

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

Мифы...

"Не любому приложению нужна ОС." В разумных пределах (читай - для небольших одиночных проектов) эта мысль способна творить чудеса; однако, будучи доведенной до абсурда ("зачем мне молоток, мне и нужно-то всего один гвоздь вбить"), она может очень сильно навредить. Если проект со временем будет расти и развиваться (а для предприятия, которое на рынке всерьез и надолго, это естественный порядок вещей), количество кода, которое придется поддерживать и дорабатывать, очень скоро вырастет до таких объемов, что размер издержек поставит окупаемость проекта под серьезный вопрос. При этом затраты на перенос проекта на другую платформу - как прямые (стоимость самой платформы, стоимость обучения персонала, стоимость работ по переносу кода и т.п.), так и косвенные (например, потеря доли на рынке из-за отставания от конкурентов, вызванного временными затратами на перенос кода) - могут быть таковы, что перенос уже не сможет себя окупить, и хороший проект будет загублен навсегда.

"Разработать свою ОСРВ - вопрос пары месяцев." Это достаточно распространенное заблуждение берет свое начало из теории управления проектами: мол, оценку ресурсов, необходимых на разработку своей ОС, можно получить делением средней стоимости коммерческой ОС данного класса на стоимость человеко-часа среднего программиста. Здесь, однако, следует четко уяснить, что программирование - процесс итерационный. Помните шутку из старых времен: "ремонт нельзя закончить, его можно только прекратить." С программными проектами та же самая история. Ситуация на рынке постоянно меняется, и любой проект - всегда проект "живой". А значит, однажды взявшись за разработку, вы будете вынуждены заниматься ей все время, и отведенные на нее ресурсы не освободятся никогда.

"Коммерческая ОСРВ - сложный продукт, который придется долго осваивать." Этот аргумент встречается достаточно часто, и как раз по этой самой причине к коммерческим ОСРВ он, в отличие от ОС общего назначения, в большинстве случаев неприменим. Большинство коммерческих ОСРВ разрабатываются изначально с учетом этого момента, поскольку их основное стратегическое предназначение - сократить время выхода новых продуктов на рынок, в том числе за счет сокращения кривой обучения. Если же продукт будет сложен в освоении, его просто никто не купит.

"Коммерческая ОСРВ перегружена ненужной функциональностью." Любой универсальный продукт всегда содержит некоторую избыточность, которая может быть и не нужна в каждом конкретном случае. Однако, встраиваемые среды зачастую просто не оставляют ресурсов для избыточного ПО, и разработчики вынуждены приспосабливаться. Как следствие, все современные коммерческие ОСРВ являются масштабируемыми и позволяют исключать из целевой конфигурации ненужную функциональность.

"Своя ОСРВ хорошо знакома и поэтому может быть качественно документирована." Документирование проекта всегда имеет под собой одну цель - облегчить его изучение. Причем как для заказчиков, так и для новых участников проекта. Однако, если проект делается для внутреннего использования, всегда найдется тысяча более важных дел, чем документировать то, по чему всегда под рукой есть специалист. Разработчики также охотно принимают эту точку зрения, поскольку терпеть не могут писать документацию. Что бывает потом - об этом см. ниже.

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

"Использование собственной или свободно-распространяемой ОСРВ позволяет существенно сэкономить." Здесь следует помнить, что себестоимость проекта складывается не только из стоимости инструментария и комплектующих. В общем случае она включает в себя как минимум:

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

И здесь, как и везде, работает "золотое правило механики": выигрывая в одном, проигрываешь в другом. Продукт продуктом, но значимость пакета сопутствующих услуг (обучение, поддержка, консалтинг, заказные разработки) как средства сокращения выхода продукта на рынок отрицать нельзя. Здесь есть три варианта:

  • отказаться от услуг вообще;
  • заказать их у производителя продукта;
  • заказать их у сторонней консалтинговой компании.

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

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

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

"То, что у нас есть, - это тоже ОС реального времени." Трактовка термина "реальное время" сильно зависит от приложения, и недобросовестные производители этим часто пользуются. Здесь необходимо знать две вещи. Во-первых, ОСРВ делятся на два класса - ОС "жесткого" и "мягкого" реального времени. Первые гарантируют четко определенное время реакции на событие (это свойство обеспечивается специально спроектированной архитектурой ОС), вторые - как правило успевают обработать событие за указанный временной интервал. Соответственно, ОС "мягкого" реального времени для реализации детерминированной системы (скажем, контура управления) не подходит по определению.

Во-вторых, время, за которое ОСРВ обрабатывает событие, в определении ОСРВ не обговорено. Иными словами, если ОСРВ гарантированно обрабатывает событие, скажем, за 1 сутки, то формально ее вполне можно считать ОС жесткого реального времени. Вывод: перед выбором инструмента необходимо четко представлять себе требования поставленной задачи. Кстати, все ОС жесткого реального времени, обеспечивающие реакцию на событие в пределах единиц микросекунд, являются коммерческими. Что, впрочем, неудивительно: для серьезной задачи нужен серьезный инструмент.

"Свободно-распространяемая ОС исключает проблемы с авторскими правами." А вот это неправда. Любой код почти всегда подпадает под какую-либо лицензию; мало того, зачастую эти лицензии конфликтуют между собой, в результате чего физически совместимые между собой компоненты, например, по закону бывает нельзя включать в один и тот же дистрибутив. Здесь общее правило такое: любая лицензия накладывает определенные ограничения, и их надо четко себе представлять, иначе могут возникнуть проблемы с приемкой. Заказчику всегда нужен лицензионно чистый продукт - хотя бы потому что это явно укажет, кто будет отвечать, если что-то пойдет не так. А за продукт, никому не принадлежащий, не отвечает никто.

...и немного фактов

Кроме вышеперечисленных мифов, также существует ряд неопровержимых фактов, относящихся к коммерческим ОСРВ; однако, они часто либо остаются в тени, либо значение их недооценивается. Перечислим некоторые наиболее важные из них с небольшими комментариями.

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

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

Специализированный инструментарий. Приложения реального времени обладают определенной спецификой (например, механизмы планирования и синхронизации задач в ОСРВ отличаются от таковых в ОС общего назначения), и их отладка требует наличия специализированного инструментария. Обычным отладчиком в этом случае зачастую не обойтись, да и стандартных средств диагностики обычно бывает недостаточно. К тому же, все современные ОСРВ расчитаны на встраиваемые конфигурации, поэтому разработчику для эффективной работы нужны не просто компилятор и отладчик, а интегрированная линейка инструментов, способная провести его от написания кода до формирования и оптимизации образа ПЗУ. Таким инструментарием обладают только коммерческие ОСРВ.

Дополнительные компоненты. Сама по себе операционная система - это еще не все. Кроме базовой функциональности, предоставляемой операционной системой, вашему проекту могут быть нужны дополнительные программные компоненты - стеки протоколов, графика, средства работы с базами данных и т.п. Если вы разрабатываете ОСРВ самостоятельно, то будьте готовы, что вам придется разрабатывать самостоятельно и все остальное. Такой вариант как портирование готовых компонентов в вашу собственную ОСРВ можно исключить сразу, потому что для этого необходимо, чтобы ваша ОСРВ в полной мере поддерживала некий универсальный API (например, для большинства свободно-распространяемого ПО это POSIX), а это для "доморощенных" ОСРВ часто считается ненужным излишеством.

Профессиональные сервисы. И, пожалуй, последнее - как говорят, по счету, но не по значению. Даже самая качественная и подробная документация не решает всех проблем - хотя бы потому что учебник надо всегда читать полностью, а в справочнике надо уметь искать. И то, и другое для сложного продукта может занять очень много времени, потому что объем документации часто очень велик. Если же вы сталкиваетесь с проблемой, то вам, скорее всего, нужно решить ее быстро, а в этом вам может помочь только тот, кто знает систему "изнутри" - ее разработчик. В этом смысле свободно-распространяемые ОСРВ не дают никакой гарантии, потому что не ответив на вопрос в публичном форуме, никто своей репутацией не рискует, а значит, уверенности, что вы быстро получите ответ на любой вопрос, быть не может. Остается сравнить годовую стоимость содержания штата разработчиков со стоимостью годового плана технической поддержки коммерческой ОСРВ. В большинстве случаев выигрывает последний вариант. В дополнение к этому, как уже упоминалось, обычно пакеты профессиональных сервисов, предоставляемые производителями коммерческих ОСРВ, не ограничиваются технической поддержкой и включают в себя также обучение персонала, заказные разработки, сертификацию, проектный консалтинг и прочее - словом, все, что помогает сделать проект грамотно и вовремя.

Резюме

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

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

Николай Горбунов

SWD Software Ltd.

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

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

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

(Open source) противопоставляется проприетарному. Исходный код программы распространяется вместе с откомпилированной версией, что способствует модифицированию и усовершенствованию программы. Когда множество пользователей имеет доступ к исходному коду, в программе быстрее выявляются ошибки, она преобразовывается, появляются новые её версии, которые в свою очередь быстро и бесплатно распространяются. В общем-то проявляется, так сказать, пользовательская демократия, благодаря которой происходит быстрое развитие ПО.

Ещё одно важное значение исходного кода -- описание программы. По тексту программы можно восстановить логику её функционирования.

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

Gnu/Linux - это ОС с открытым исходным кодом, защищённым под авторством создателя - Линуса Торвальдса, лицензией “GNU General Public License” -- лицензия на свободное программное обеспечение, созданная в рамках проекта GNU в 1988 году, по инициативе Ричарда Столлмана. Эта лицензия -- предоставляет пользователю права копировать, модифицировать и распространять, гарантирует, что пользователи всех производных программ также получат вышеперечисленные права. Лицензируя работу на условиях GNU GPL, автор сохраняет за собой авторство, кроме того, производные программы могут распространяться коммерчески (здесь ярко выражено различие между открытым ПО (Open source) и бесплатным (Free source)). То есть эта лицензия позволяет всё то, что запрещает закон об авторском праве, сохраняя, однако, авторство за разработчиком.

Благодаря открытому исходному коду, ОС Linux стала тем, что она есть. Только 2% ядра Linux на настоящий момент составлено самим Линусом Торвальдсом. Именно открытость, дающая возможность совершенствовать эту ОС тысячам программистов, сделала Linux такой популярной движущей силой, обусловила её предельную экономическую эффективность с точки зрения конкуренции и спроса. Поэтому можно смело говорить о том, что Linux гораздо более гибкая ОС, чем Windows, поскольку тысячи компаний из сообщества Linux могут гораздо быстрее найти ошибки и несоответствия, нежели программисты из «лона» Microsoft. Кроме того, по этой же причине дистрибутивов Windows существует гораздо меньше, чем Linux, причём дистрибутивы Linux также взаимопреемственны, легко изменяемы, приспособляемы.

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


© 2024
exotop.ru - ExoTop - интернет и технологии