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

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

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

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

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

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

Мифы...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Резюме

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

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

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

SWD Software Ltd.

Скорее всего, на вашем компьютере установлена Windows. Эта операционная система может казаться бесплатной, но это не так. Изготовители должны заплатить Microsoft за лицензию на поставку компьютеров с Windows, и вам нужно купить копию, если вы хотите установить Windows самостоятельно.

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

1. FreeBSD

Если вы используете свободную операционную систему, которая не является Linux, то, вероятно, она основана на BSD. FreeBSD является лишь одной из нескольких UNIX-подобных операционных систем. Другие включают NetBSD, OpenBSD и PC-BSD. Какую бы вы ни использовали, большая часть опыта аналогична тому, что вы найдете в Linux. Свободное и открытое программное обеспечение, доступное для одного, как правило, может работать на другом.

Даже если вы не любитель свободного программного обеспечения, вы можете использовать части FreeBSD, не осознавая этого. Из-за разрешительной лицензии проекта, часть кода пробилась в Apple macOS, Sony PlayStation 4 и маршрутизаторы Juniper.


2. ReactOS

Большинство бесплатных операционных систем являются альтернативой Windows. ReactOS, в некотором смысле, стремится быть Windows. Целью является предоставление пользователям средств для запуска программного обеспечения для Windows, без необходимости покупать операционную систему у Microsoft.

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


3. FreeDOS

Вы использовали компьютеры, когда DOS был единственным вариантом? У вас хорошие воспоминания о MS-DOS?

FreeDOS позволяет вам пережить эту ушедшую эпоху. OS barebones дает вам средство для запуска старых программ DOS на более современном оборудовании или внутри виртуальной машины. Или вы можете просто использовать его для запуска старых игр.


4. Haiku (Хайку или Хокку)

Haiku черпает вдохновение в BeOS. BeOS была графической операционной системой, разработанной Be Inc для работы на BeBox еще в 1995 году. Операционная система застряла в течение пяти лет, прежде чем последнее обновление вышло в 2000 году.

BeOS, возможно, не было именем нарицательным, но оно привлекло некоторых пользователей, и некоторые хотели, чтобы операционная система жила достаточно, чтобы создать свою собственную версию с открытым исходным кодом. Цель состоит в том, чтобы программное обеспечение, написанное для BeOS, работало на Haiku, вроде того, что ReactOS хочет делать с Windows. Учитывая все обстоятельства, команда хайку, возможно, справляется легче.

5. Illumos

Oracle используется для поддержки операционной системы под названием Solaris. Первоначально он был закрытым, но проект был открыт в 2008 году. Oracle прекратил выпуск OpenSolaris в 2010 году и вернулся к собственной модели с Solaris 11 в 2011 году.


6. Syllable

Syllable основан на AtheOS, клоне AmigaOS, который был оставлен на рубеже веков. Что касается AmigaOS, он все еще жив, несмотря на то, что родился в 80-е годы для линейки компьютеров, давно считавшихся древними.

Syllable предназначается для домашних пользователей офиса с удобным интерфейсом и родными приложениями, включая веб-браузер на базе Webkit и почтовый клиент. Дело в том, что он может делать это на компьютере только с 32 МБ ОЗУ (хотя для просмотра рекомендуется не менее 64 МБ). Полная установка должна занимать около 250 Мбайт пространства на жестком диске.


7. Исследовательская операционная система AROS

Хотя Syllable основан на клоне AmigaOS, AROS использует другой подход. Он на самом деле ставит своей бинарной совместимостью с AmigaOS на уровне API. Это похоже на то, как ReactOS ориентирована на Windows, а Haiku нацелен на BeOS.

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


8. MenuetOS

Вот что такое MenuetOS - оно достаточно маленькое, чтобы вместить его на одну гибкую дискету. Это были флеш-накопители 90-х годов, и они предлагали только до 1,44 МБ памяти. Учитывая, что многие дистрибутивы Linux испытывают трудности с компакт-диском объемом 700 МБ, загрузка с дискеты в наши дни затруднительна.

MenuetOS полностью написан на 32-битном языке ассемблера и предназначен для работы с минимальными издержками, хотя он поддерживает до 32 ГБ оперативной памяти.


9. DexOS

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

Запуск приложений в DexOS смутно напоминает вставку диска в старую Dreamcast. Опыт кажется более аутентичным, если вы на самом деле играете в игру. И еще одна классная вещь? Эта бесплатная ОС также достаточно мала, чтобы поместиться на дискету.


10. Visopsys

Подобно DexOS, Visopsys - это хобби-проект одного разработчика. Установите ее, если хотите посмотреть на то что может создать всего один человек.

Визуальная операционная система (по общему признанию, это имя может быть применимо к любой ОС с рабочей средой) был в разработке с 1997 года. Она не основана ни на одной ранее существовавшей ОС. Это не означает, что проект не использует уже существующий код. Здесь вы найдете общие инструменты GNU, и значки которые могут быть знакомы пользователям KDE Plasma.

Будете ли вы использовать любую из этих бесплатных операционных систем?

Большинство из них - нет. Разработчики Haiku не работают на полную ставку. Разработчик Visopsys явно говорит, что их ОС не так функциональна, как Linux или, возможно, более справедливое сравнение, Syllable. DexOS - это больше эксперимент, чем что-либо другое.

Тем не менее, есть много людей, которые предпочитают FreeBSD вместо Linux. illumos может не быть известной, даже среди любителей FOSS, но она имеет свои применения. И разве я не упомянул использование FreeDOS для воспроизведения всех старых игр DOS?

Есть ли в этом списке системы, которые вы бы хотели использовать? Знаете ли вы о другой неизвестной бесплатной операционной системе, которой нет в этом списке? Дайте нам знать об этом в комментариях!


Проект 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



Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Подобные документы

    Основные моменты истории операционных систем, связывающих аппаратное обеспечение и прикладные программы. Характеристика операционной системы Microsoft Windows Seven, анализ операционной системы Linux. Преимущества и недостатки каждой операционной системы.

    курсовая работа , добавлен 07.05.2011

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

    реферат , добавлен 09.01.2011

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

    реферат , добавлен 09.10.2009

    Знакомство с графическим интерфейсом ASP Linux, его основные преимущества и недостатки, разработка навыков работы с сервисным и прикладным программным обеспечением этой системы. сравнительный анализ функциональных возможностях изученной среды и Windows.

    методичка , добавлен 12.09.2008

    История развития и отличительные признаки UNIX-системы. Основы информационной безопасности и особенности настройки исследуемой операционной системы, ее достоинства, недостатки и базовые права доступа. Общая характеристика безопасности ядра UNIX.

    реферат , добавлен 18.09.2013

    Описание файловой системы Unix. Работа основных команд ls, cmp, comm, их ключей. Разработка программного продукта, работающего в среде Windows и представляющего собой эмулятора командного процессора операционной системы Unix. Выбор средств реализации.

    курсовая работа , добавлен 29.04.2015

    Концепция операционных систем: главное назначение, основные функции и типы. Характеристика и оценка возможностей Microsoft Windows и Linux. Подбор операционной системы для рабочих персональных компьютеров и для сервера на предприятии ООО "Газ-сервес".

    дипломная работа , добавлен 16.06.2012

С.Кузнецов В докладе описывается текущее состояние бесплатно (свободно) распространяемого программного обеспечения. Эта тема является практически бесконечной, и любой рассказ о ней объективно носит абсолютно субъективный характер. С другой стороны, будучи очевидно важным для всего человечества, свободное программное обеспечение особенно важно для России и других государств, образовавшихся на осколках коммунизма. Слишком часто у нас не хватает денег, чтобы приобрести действительно нужное программное обеспечение. Нужно понять, что очень часто это не должно порождать неразрешимые проблемы. Да, мы не очень богаты (увы!), но мы и не слишком глупы, чтобы не справиться с освоением программных продуктов со статусом public domain.
Мы обсудим малую толику доступных сегодня свободно распространяемых программных продуктов, исходя главным образом из личных симпатий, имеющегося личного опыта, а также опираясь на отзывы друзей и знакомых. Доклад основывается на свободно распространяемых материалах и может быть целиком или частично перепечатан, скопирован или распространен любым другим способом.

1. Фонд свободного программного обеспечения и проект GNU

Фонд свободного программного обеспечения (FSF - Free Software Foundation) представляет собой очень интересное и во многих отношениях исключительное явление в современном мире программирования. Многим отечественным программистам приходилось иметь дело с программами из FSF (особенно хорошо известна система программирования GCC), однако недостаточное количество публикаций на русском языке затрудняет понимание идеологии и целей FSF, а также усложняет оценку имеющегося задела. Одной из целей доклада является хотя бы частичное устранение этого пробела.
FSF - это программистская организация, основанная и возглавляемая Ричардом Столлманом (Richard Stallman). В самой общей постановке задачей FSF является устранение ограничений по копированию, распространению, изучению и модификации программ для компьютеров. Для достижения этой общей задачи FSF стимулирует разработку и использование свободного программного обеспечения, ориентированного на широкий класс применений.
В своем "Манифесте GNU" , написанном еще в 1985 г., Р. Столлман в качестве основной идеи, приведшей к возникновению FSF и проекта GNU, выдвигает свое неприятие права собственности на программы. Особенности взаимоотношений в сообществе программистов часто ставят людей перед выбором следования естественному чувству дружбы и взаимопомощи или подчинения препятствующего этому закону о собственности. При использовании свободного программного обеспечения необходимость такого обременительного выбора исчезает.
Создание интегрированной свободной программной системы позволяет избежать дублирующей работы программистов (которая часто требуется только по причине наличия программ в чьей- либо собственности). Свободное распространение исходных текстов программ облегчает их сопровождение и приспособление к нуждам конкретного пользователя (не требуется прибегать к услугам только компаний - владельцев лицензий на исходные тексты). Появляется дополнительная и очень важная возможность использования хорошего программного обеспечения в учебных целях.
Как утверждает Р. Столлман, при переходе к свободному программному обеспечению программисты не вымрут от голода (хотя, видимо, будут зарабатывать несколько меньше). Ограничение на копирование программ - это не единственный способ зарабатывать деньги. Основная идея Столлмана состоит в том, что нужно продавать не программы, а труд программиста. В частности, источником дохода может быть сопровождение программных систем или их настройка для использования на новых компьютерах и/или в новых условиях, преподавание и т.д.
"Манифест" Столлмана написан очень эмоционально и местами слишком утопичен. Тем не менее, как кажется, идеи свободного программного обеспечения исторически близки традиционным (за исключением самых последних лет) отношениям в среде советских программистов. Возможно, именно линия FSF - наиболее естественный путь к глубокой интеграции отечественного и мирового сообществ программистов.
Более конкретно, FSF ведет разработку программ в рамках проекта GNU (аббревиатура GNU раскрывается рекурсивно - GNU"s Not Unix). Целью проекта GNU является создание полной интегрированной программной системы, средства которой совместимы с возможностями среды ОС Unix (как правило, возможности программ GNU шире возможностей аналогов среды Unix).
Программное обеспечение FSF является "свободным" в двух смыслах. Во-первых, любую программу можно свободно копировать и передавать кому угодно. Во-вторых, наличие исходных текстов программ обеспечивает возможность свободного изучения программ, их улучшения и распространения доработанных вариантов.
Подобно тому, как права обычных компаний, производящих программное обеспечение, охраняются их знаком авторских прав (copyright), "свобода" программных систем FSF защищается "copyleft" - комбинацией copyright и присутствующим во всех текстах FSF документом с заголовком "GNU General Public License" . В этом документе говорится о правах, которыми располагает любой текущий владелец данного текста, и о невозможности изъятия этих прав у любого другого субъекта.
Основная деятельность FSF состоит в разработке новых составляющих свободного программного обеспечения в рамках проекта GNU. Большей частью проект GNU развивается плановым образом, но FSF принимает для свободного распространения и программы, разработанные фирмами и частными лицами по собственной инициативе. Кроме того, FSF занимается производством и продажей лент со свободным программным обеспечением, подготовкой, публикацией и распространением руководств по различным компонентам программного обеспечения GNU, а также поддерживает и распространяет справочник услуг - список фирм и частных лиц, которые оказывают платные услуги пользователям программ и систем GNU.
Финансовой основой FSF является продажа магнитных лент и компактных дисков с текстами программ GNU, документации в электронной и бумажной форме, а также спонсорство коммерческих фирм и частных лиц.
В настоящее время готовы почти все компоненты программного обеспечения проекта GNU. FSF распространяет много программ, часть которых написана непосредственно программистами FSF, а часть передана в FSF для свободного распространения другими организациями и лицами. Коротко охарактеризуем наиболее интересные программные продукты, распространяемые FSF .
Emacs - расширяемый, настраиваемый на разные типы терминалов и потребности пользователей редактор. Расширяемость редактора основана на использовании встроенного в редактор интерпретатора языка Лисп (диалекта Common Lisp). Одновременно с исходными текстами редактора распространяются руководство по использованию Emacs и справочное руководство по программированию на языке Лисп в среде Emacs. Основной версией Emacs, поставляемой и поддерживаемой в настоящее время FSF, является Emacs V.19. Эта версия редактора сохраняет свойства всех предыдущих версий, включая возможность использования на самых простых алфавитно-цифровых терминалах. Однако Emacs V.19 очень хорошо работает на графических X- терминалах. На самом деле, только после перехода к использованию Emacs на X-терминалах можно по-настоящему оценить возможности этого редактора.
Некоторое время тому назад существовала непростая проблема локализации Emacs применительно к особенностям национального языка. Скорее всего, найдутся люди, которые помнят, сколько хлопот принесла работа по первой русификации Emacs. Несколько лет назад внезапно активизировавшиеся японцы создали собственную версию редактора Emacs под названием MULE (MULtilingual Enhancement to GNU Emacs - не подумайте чего плохого). В этой версии используется расширенная многобайтовая кодировка символов, позволяющая в одном сеансе редактирования употреблять символы разных алфавитов (в частности, японский, китайский, арабский, русский, греческий и т.д.). В настоящее время MULE интегрирован в Emacs, и серьезные проблемы локализации отсутствуют. Видимо, сегодня Emacs является лучшим текстовым процессором, работающим в среде Unix (в действительности, эта программа представляет собой гораздо большее, чем простой текстовый процессор).
Bison - замена стандартного генератора синтаксических анализаторов Yacc с некоторыми расширениями. Руководство также распространяется. Люди, которые использовали Bison при разработке компиляторов, очень хвалят программу. В последнее время FSF ослабил требования к использованию Bison, позволив легально его применять при разработке коммерческих продуктов.
Имеются две реализации упрощенного диалекта языка Лисп - Scheme: одна из MIT (написана на языке Си), вторая из университета г. Yale (написана на Scheme).
Поставляется набор утилит texiinfo, генерирующих печатные и гипертекстовые документы, в виде которых в основном поставляется документация проекта GNU.
GCC - переносимый оптимизирующий компилятор. Начиная со второй версии компилятор поддерживает языки Си (ANSI C, традиционный Си, расширенный диалект GNU C), Си++ и Objective C. Среди оптимизаций, выполняемых GCC, содержится автоматическое распределение регистров, выявление общих подвыражений, вынесение инвариантных выражений из тела цикла и т.д. Компилятор содержит средства полуавтоматического построения генераторов кода для новых компьютеров.
Доступен целый ряд библиотек функций для языка Си и библиотек классов для Си++ и Objective C.
Отладчик GDB может быть использован для отладки программ, написанных на языках Си, Си++ и Фортран.
Для работы с версиями программ в больших программных проектах поддерживаются системы RCS (Revision Control System) и CVS (Concurrent Version System).
Распространяется громадное количество программ X11, реализация MIT X-Windows (версия 11, релиз 6). Объем доклада не позволяет остановиться на этом более подробно.
В основном все программы, распространяемые FSF, рассчитаны на работу в среде Unix и используются с различными вариантами этой системы, но имеются версии некоторых программ для работы с ОС VMS, Windows NT и даже MS-DOS.
Одним из особенно важным, но еще незавершенным проектом FSF является проект Hurd. Это свободная реализация UNIX-совместимой операционной системы, основанная на свободно распространяемом варианте микроядра Mach, разработанного в университете Карнеги-Меллон. В соответствии с технологией Mach разработан ряд серверов, воспроизводящих базовые функции ядра ОС UNIX. Интерфейс системных вызовов UNIX воспроизводится с помощью специально разработанной библиотеки Си-функций. Серверы Hurd и библиотечные функции первоначально были разработаны на платформе PC 396, но легко переносятся на другие аппаратные платформы. Основной текущей проблемой является массовый перенос Mach на различные платформы.
Среди программ GNU находится большое число других продуктов, которые заслуживают внимания, но мы не будем обсуждать их в этом докладе.

2. Другие наиболее распространенные продукты Public Domain

Наверное, самым популярным на сегодня программным продуктом Public Domain является UNIX- совместимая ОС Linux, созданная молодым финским программистом Линусом Торвалдсом и поддерживаемая с помощью Internet тысячами энтузиастов. ОС Linux основана на традиционных принципах построения ядра ОС UNIX, что не помешало энтузиастам перенести ее на несколько популярных аппаратных платформ.
Linux является одной из наиболее подходящих операционных систем для домашнего компьютера, если человек не собирается использовать его только для написания текстов и лазания в Internet. По отзывам практиков, программа, аккуратно написанная в среде Linux безо всяких проблем переносится в среду любого другого варианта ОС UNIX (если, конечно, этот вариант соответствует стандартам). С другой стороны, известны примеры промышленного использования Linux, в частности, в телекоммуникационных системах.
Альтернативой Linux является ОС Free BSD, разработанная и распространяемая университетом Беркли. Это одна из ветвей BSD UNIX, проекта, в течение многих лет разрабатываемого в университете Беркли. Free BSD - это эффективная и экономичная операционная система, единственным недостатком которой можно считать ее абсолютную ориентацию на Intel- платформы. Я знаю многих людей, которые предпочитают использовать дома Free BSD, а не Linux.
В том же университете Беркли разработан замечательный пакет Tcl/Tk - средство для разработки графических пользовательских интерфейсов. Это свободно распространяемый продукт, прекрасно документированный и очень легко осваиваемый. Известны многие реальные проекты, выполненные с использованием Tcl/Tk, например, основанный на графическом интерфейсе пакет администрирования Linux.
Как говорилось в начале доклада, тема свободно распространяемого программного обеспечения поистине неисчерпаема. По этому поводу можно говорить бесконечно. Но лучше следить за новыми программами самостоятельно.

© 2024 nimfettamine.ru - Windows. Железо. Программы. Безопасность. Операционные системы