Сайт о телевидении

Сайт о телевидении

» » Открытые операционные системы для интернета вещей. По с открытым исходным кодом

Открытые операционные системы для интернета вещей. По с открытым исходным кодом

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

Например, ОС Linux выпускаются с открытым исходным кодом. Аналогом знакомой всем Microsoft Office в открытом формате выступает OpenOffice. Всем известные Google Chrome и Mozilla Firefox тоже являются таким открытым софтом.

История появления программ с открытым кодом.

В терминологию, понятие Open Source ввели Эрик Реймонд и Брюс Перенс в 1998 г. Они стали основателями организации под названием Open Source Initiative, деятельность которой посвятили продвижению открытого софта. И хотя термин этот отнюдь не торговая марка компании, существует правило: для желающих иметь на своем ПО логотип организации и сам термин, необходимо одобрение OSI.

Какое ПО может быть открытым?

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

Подобный софт не ограничен сроками по использованию и может применяться в любой сфере (бизнесе, науке, обучении и т.д.). Лицензия Open Source тоже свободна и никоим образом не ограничивает использование программы с совместимым лицензионным программным обеспечением.

Операционные системы на базе Open Source.

Операционные системы с открытым кодом можно поделить на две группы:

  • Подобные Unix-ОС – это ОС, образованная под влиянием Unix.
  • И не- Unix-подобные.

Наиболее популярной и распространенной ОС, относящейся к первому критерию, является Linux. Ее ядро разрабатывается и создается в соответствии с моделью разработки свободного и открытого ПО. В связи с этим, общее название Linux не подразумевает наличия одной «официальной» сборки.

Виртуальный хостинг сайтов для популярных CMS:

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

ReactOS - международный проект по разработке свободной и бесплатной операционной системы Open Source. ReactOS полностью совместима с драйверами и приложениями Windows, хотя и не является ее клоном. Проект стартовал в 1996 г., но из-за ряда дискуссий был приостановлен до 1998 года. К сожалению, из-за недостаточного финансирования проект до сих пор не закончен.

Вот неполный список бесплатных операционных систем с открытым исходным кодом по версии Википедии:

Программное обеспечение на базе Open Source.

Самым распространенным и востребованным Open Source ПО является аналог MS Office – пакет программ OpenOffice. Софт поддерживается платформами Microsoft Windows и Linux. Разработана программа с использованием кода Star Office.

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

Интерфейс OpenOffice Calc - замена Excel.

Система управления содержимым сайта, блога, сообщества с открытым исходным кодом.

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

CMS выполняет следующие функции:

Наиболее распространенные и известные системы управления сайтами, форумами, сообществами с открытым исходным кодом:

  • WordPress;
  • Joomla!;
  • Drupal;
  • PhpBB;
  • Opencart;
  • Prestashop.

Список написанных на PHP системуправления контентом:

Преимущества решения использовать ОС и программы Open Source.

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

Вторым плюсом использования является возможность модернизации этих программ.

Еще одним несомненным преимуществом софта Open Source выступает защищенность этого продукта от вредоносных программ. Большинство вирусных программ ведь пишутся именно под приложения Windows, а не на приложения свободных ОС. Это значит, что шанс схлопотать вирус при использовании свободной операционной системы низко вероятен.

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

Но у этих программ существуют и недостатки.

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

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

Плюсы и минусы использования Open Source CMS.

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

Плюсы использования Open Source CMS:

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

Минусы Open Source движков:

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

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

  • Разработка для интернета вещей
  • За последнее десятилетие большое количество проектов ОС с открытым исходным кодом перешли от рынка мобильной связи к «интернету вещей». В этой статье мы рассмотрим какие из открытых проектов нацелены на IoT (Internet of Things).

    Имейте в виду, что почти все современные открытые ОС в той или иной степени заявляют о своей пригодности для использования в IoT. Но мы рассмотрим только тех, которые действительно уделяют внимание таким вещам как: низкое потребление памяти, высокая энергетическая эффективность, модульный и настраиваемый коммуникационный стек и сильная поддержка беспроводных и сенсорных технологий. Также некоторые проекты подчеркивают свои наработки в области безопасности IoT и реалтаймовости. Реалтайм может быть действительно важен в промышленном IoT, хотя и почти бесполезен в бытовом.

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

    Также мы не будем смотреть в сторону Windows 10 for IoT Core. Этот проект хоть и способен выполнять свойственные для IoT задачи, но к опенсорсу не имеет никакого отношения.

    Итак, начнём.

    ОС, основанных на Linux

    Brillo - разработка Google, представляющая собой облегчённый Android и которая за год своего существования завоевала некоторую популярность.Так, например, она используется на Intel Edison и Dragonboard 410c. Однако эта ОС завязана на протокол Weave, который является разработкой Google и нигде больше не используется. Система способна работать на оборудовании с 32MiB RAM и 128MiB flash.

    Huawei LiteOS - LiteOS компании Huawei основана на Linux, но от Linux там осталось не так уж и много. О системе заговорили где-то год назад и утверждается, что ядро может быть размеров от 10KB. LiteOS может использоваться на широком спектре оборудования от MCU-устройств до Android-совместимых. Основные фишки: тривиальная настройка, автоматическое обнаружение всего и вся, широкая поддержка разнообразных сетей (LTE и mesh-сети в том числе), быстрая загрузка.

    OpenWrt /LEDE/Linino/DD-Wrt - всем известный проект, наиболее востребованный на маршрутизаторах и другом MIPS сетевом оборудовании. Учитывая изначальную сетевую заточенность он не мог пройти мимо IoT. Эти форки не имеют принципиальных отличий друг от друга и родились из-за NIH-синдрома или организационных склок.

    Ostro Linux - основан на Yocto Project (будет рассмотрен отдельно) и стал известен после того, как Intel выбрала его для Intel Joule, базирующемся на Atom SoC T5700. Ostro Linux совместим с IoTivity, поддерживает множество беспроводных технологий, а также предоставляет фреймворк для работы с разнообразными датчиками. Особое внимание уделяется безопасности, включая криптографию.

    Raspbian - Debian, заточенный для работы на Raspberry Pi. И хотя для «малины» существуют и другие дистрибутивы, которые более целенаправленно занимаются нюансами IoT, но именно Raspbian стал стандартом de facto для DIY-проектов на базе Raspberry Pi.

    Snappy Ubuntu Core --версия Ubuntu Core со Snap-пакетами. Canonical утверждает, что эта система способна работать на «any Linux desktop, server, cloud or device». В принципе способна работать на Raspberry Pi, но вообще требует 600MHz CPU, 128MiB RAM, 4GiB flash. Довольно широко используется. Например: Erle-Copter drones, Dell Edge Gateways, Nextcloud Box, and LimeSDR.

    Tizen - развивается при поддержке Samsung. Изначально планировался как ОС для смартфонов, но что-то пошло не так и сейчас можно встретить лишь в телевизорах и т.н. смарт-часах. Проект умирать не собирается, но и будущее его не ясно. Способен запуститься на «малине».

    uClinux - единственная более или менее вменяемая и распространённая версия Linux, способная работать на микроконтроллерах. Но пока лишь на некоторых: Cortex-M3, M4, и M7. Да и там для работы требуется подключение внешней RAM.

    Yocto Project - это не дистрибутив, а набор поддерживаемых и развиваемых Linux Foundation утилит, шаблонов и методов для разработки embedded-дистрибутивов. Весьма успешный проект, который является базисом для большинства успешных коммерческих дистрибутивов, заточенных под IoT.

    Некоторые известные не-Linux дистрибутивы

    Apache Mynewt - разработан компанией Runtime для 32-bit микроконтроллеров при поддержке Apache Software Foundation. Выделяется хорошей поддержкой беспроводных соединений, широкими возможностями для отладки и тонкой настройкой энергопотребления. Предполагается, что скоро будет доступен для Arduino.

    ARM Mbed - нацелен на маломощные, работающие от батареек, платы на базе Cortex-M микроконтроллеров. Для работы достаточно 8KiB of RAM. Впервые появился на BBC Micro:bit SBC. Изначально представлял из себя однопоточный полупроприетарный кусок блоба, но теперь это открытый под Apache 2.0 лицензией проект с поддержкой многопоточности и реалтайма.

    Contiki - не может соревноваться с Tiny OS или RIOT OS, однако для работы требует всего лишь 10KiB RAM and 30KiB flash, отлично работает с беспроводной связью и дружит с IPv6. ОС сопровождается внушительным набором утилит для разработки и тестирования, в том числе и Cooja Network Simulator для отладки беспроводных сетей. Основная «фишка» - малое потребление памяти.

    FreeRTOS - основной конкурент Linux среди встраиваемых платформ. И хотя испытывает проблемы с драйверами, учётными записями пользователей и прочими приятными вещами из мира полноценных ОС, но зато способен работать на 1KiB памяти и 5-10 KiBROM. Хотя для полноценного сетевого взаимодействия с нормальным TCP/IP требуется 24KiB RAM and 60KiB flash.

    Fuchsia - ещё одна разработка от Google. Данных мало, но компания утверждает, что их ОС может конкурировать с FreeRTOS. Вёдра для лапши приносить свои. Грабли для снятия лапши с ушей тоже не выдают. Ждём когда замолчат маркетологи и заговорят технари.

    Minoca - код открыт под лицензией GPLv3. Сборки подготовлены для архитектур x86, ARMv6 и ARMv7, в том числе сформированы загрузочные образы для плат Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard и Galileo, а также эмулятор на основе QEMU. Система модульная - подсистемы ядра отделены друг от друга, а взаимодействие с оборудованием абстрагировано. Драйверы устройств не привязаны к ядру и оформляются в виде универсальных исполняемых файлов, не зависящих от версии ядра. Для запуска достаточно 5 MiB RAM.

    NuttX - широко используется среди разработчиков квадрокоптеров и прочих дронов. BSD лицензия. Работает на х86, Cortex-A5, -A8 и Cortex-M MCU. Позиционируется разработчиками как «выглядит почти как Linux только с урезанными возможностями».

    RIOT OS - вот уже 8 лет как эта ОС известна своей энергоэффективностью и широчайшей поддержкой беспроводных сетей. Для работы достаточно 1.5KiB RAM and 5KiB flash, что почти так же, как и у Tiny OS. При этом система предлагает многопоточность, управление памятью, частичную POSIX-совместимость и прочие вещи, которые более типичны для Linux, нежели для лёгких RTOS. Кстати, разрабатывать под эту ОС можно и из-под Linux или OS X.

    TinyOS - эта ОС разрабатывается под BSD лицензией и требует наименьшее количество ресурсов из всех вменяемых систем. Система написана на диалекте Си, называемом nesC. Основное применение: малопроизводительные микроконтроллеры, хотя в настоящее время проводится работа над поддержкой Cortex-M3.

    Zephyr - разрабатывается Linux Foundation и потребляет 2-8KiB RAM. Работает на x86, ARM, ARC, но основное внимание уделяется микроконтроллерам с Bluetooth/BLE и 802.15.4 радиостанциям вроде 6LoWPAN. Zephyr базируется на River’s Rocket OS, которая в свою очередь базируется на Viper, который не что иное как урезанная версия VxWorks.

    Теги:

    • IoT
    • embedded
    Добавить метки

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

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

    Такое программное обеспечение предоставляется пользователям бесплатно, причем не только программы, но и операционные системы. Оно создается и разрабатывается самими пользователями, которые выкладывают свои создания в Интернет. Наиболее популярные программы регулярно обновляются, так как их использует множество людей. В качестве примера можно привести Mozilla Firefox или Thunderbird. Если программа не обновляется регулярно, возможно, для этого не хватает необходимых технических ресурсов – весь вопрос в том, сколько у программы пользователей. Высокая частота обновлений является определенным гарантом безопасности использования программы. Хотя, если после установки обновления выясняется, что программа не работает (например, в новой версии операционной системы не поддерживается Skype), есть два пути решения проблемы: попытаться найти помощь на форумах в Интернете или устранить проблему самостоятельно, что относительно трудно.

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

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

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

    За последнее десятилетие большое количество проектов ОС с открытым исходным кодом перешли от рынка мобильной связи к «интернету вещей». В этой статье мы рассмотрим какие из открытых проектов нацелены на IoT (Internet of Things).

    Имейте в виду, что почти все современные открытые ОС в той или иной степени заявляют о своей пригодности для использования в IoT. Но мы рассмотрим только тех, которые действительно уделяют внимание таким вещам как: низкое потребление памяти, высокая энергетическая эффективность, модульный и настраиваемый коммуникационный стек и сильная поддержка беспроводных и сенсорных технологий. Также некоторые проекты подчеркивают свои наработки в области безопасности IoT и реалтаймовости. Реалтайм может быть действительно важен в промышленном IoT, хотя и почти бесполезен в бытовом.

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

    Также мы не будем смотреть в сторону Windows 10 for IoT Core. Этот проект хоть и способен выполнять свойственные для IoT задачи, но к опенсорсу не имеет никакого отношения.

    Итак, начнём.

    ОС, основанных на Linux

    Brillo - разработка Google, представляющая собой облегчённый Android и которая за год своего существования завоевала некоторую популярность.Так, например, она используется на Intel Edison и Dragonboard 410c. Однако эта ОС завязана на протокол Weave, который является разработкой Google и нигде больше не используется. Система способна работать на оборудовании с 32MiB RAM и 128MiB flash.

    Huawei LiteOS - LiteOS компании Huawei основана на Linux, но от Linux там осталось не так уж и много. О системе заговорили где-то год назад и утверждается, что ядро может быть размеров от 10KB. LiteOS может использоваться на широком спектре оборудования от MCU-устройств до Android-совместимых. Основные фишки: тривиальная настройка, автоматическое обнаружение всего и вся, широкая поддержка разнообразных сетей (LTE и mesh-сети в том числе), быстрая загрузка.

    OpenWrt /LEDE/Linino/DD-Wrt - всем известный проект, наиболее востребованный на маршрутизаторах и другом MIPS сетевом оборудовании. Учитывая изначальную сетевую заточенность он не мог пройти мимо IoT. Эти форки не имеют принципиальных отличий друг от друга и родились из-за NIH-синдрома или организационных склок.

    Ostro Linux - основан на Yocto Project (будет рассмотрен отдельно) и стал известен после того, как Intel выбрала его для Intel Joule, базирующемся на Atom SoC T5700. Ostro Linux совместим с IoTivity, поддерживает множество беспроводных технологий, а также предоставляет фреймворк для работы с разнообразными датчиками. Особое внимание уделяется безопасности, включая криптографию.

    Raspbian - Debian, заточенный для работы на Raspberry Pi. И хотя для «малины» существуют и другие дистрибутивы, которые более целенаправленно занимаются нюансами IoT, но именно Raspbian стал стандартом de facto для DIY-проектов на базе Raspberry Pi.

    Snappy Ubuntu Core --версия Ubuntu Core со Snap-пакетами. Canonical утверждает, что эта система способна работать на «any Linux desktop, server, cloud or device». В принципе способна работать на Raspberry Pi, но вообще требует 600MHz CPU, 128MiB RAM, 4GiB flash. Довольно широко используется. Например: Erle-Copter drones, Dell Edge Gateways, Nextcloud Box, and LimeSDR.

    Tizen - развивается при поддержке Samsung. Изначально планировался как ОС для смартфонов, но что-то пошло не так и сейчас можно встретить лишь в телевизорах и т.н. смарт-часах. Проект умирать не собирается, но и будущее его не ясно. Способен запуститься на «малине».

    uClinux - единственная более или менее вменяемая и распространённая версия Linux, способная работать на микроконтроллерах. Но пока лишь на некоторых: Cortex-M3, M4, и M7. Да и там для работы требуется подключение внешней RAM.

    Yocto Project - это не дистрибутив, а набор поддерживаемых и развиваемых Linux Foundation утилит, шаблонов и методов для разработки embedded-дистрибутивов. Весьма успешный проект, который является базисом для большинства успешных коммерческих дистрибутивов, заточенных под IoT.

    Некоторые известные не-Linux дистрибутивы

    Apache Mynewt - разработан компанией Runtime для 32-bit микроконтроллеров при поддержке Apache Software Foundation. Выделяется хорошей поддержкой беспроводных соединений, широкими возможностями для отладки и тонкой настройкой энергопотребления. Предполагается, что скоро будет доступен для Arduino.

    ARM Mbed - нацелен на маломощные, работающие от батареек, платы на базе Cortex-M микроконтроллеров. Для работы достаточно 8KiB of RAM. Впервые появился на BBC Micro:bit SBC. Изначально представлял из себя однопоточный полупроприетарный кусок блоба, но теперь это открытый под Apache 2.0 лицензией проект с поддержкой многопоточности и реалтайма.

    Contiki - не может соревноваться с Tiny OS или RIOT OS, однако для работы требует всего лишь 10KiB RAM and 30KiB flash, отлично работает с беспроводной связью и дружит с IPv6. ОС сопровождается внушительным набором утилит для разработки и тестирования, в том числе и Cooja Network Simulator для отладки беспроводных сетей. Основная «фишка» - малое потребление памяти.

    FreeRTOS - основной конкурент Linux среди встраиваемых платформ. И хотя испытывает проблемы с драйверами, учётными записями пользователей и прочими приятными вещами из мира полноценных ОС, но зато способен работать на 1KiB памяти и 5-10 KiBROM. Хотя для полноценного сетевого взаимодействия с нормальным TCP/IP требуется 24KiB RAM and 60KiB flash.

    Fuchsia - ещё одна разработка от Google. Данных мало, но компания утверждает, что их ОС может конкурировать с FreeRTOS. Вёдра для лапши приносить свои. Грабли для снятия лапши с ушей тоже не выдают. Ждём когда замолчат маркетологи и заговорят технари.

    Minoca - код открыт под лицензией GPLv3. Сборки подготовлены для архитектур x86, ARMv6 и ARMv7, в том числе сформированы загрузочные образы для плат Raspberry Pi 2, Raspberry Pi, BeagleBone Black, Asus C201, PandaBoard и Galileo, а также эмулятор на основе QEMU. Система модульная - подсистемы ядра отделены друг от друга, а взаимодействие с оборудованием абстрагировано. Драйверы устройств не привязаны к ядру и оформляются в виде универсальных исполняемых файлов, не зависящих от версии ядра. Для запуска достаточно 5 MiB RAM.

    NuttX - широко используется среди разработчиков квадрокоптеров и прочих дронов. BSD лицензия. Работает на х86, Cortex-A5, -A8 и Cortex-M MCU. Позиционируется разработчиками как «выглядит почти как Linux только с урезанными возможностями».

    RIOT OS - вот уже 8 лет как эта ОС известна своей энергоэффективностью и широчайшей поддержкой беспроводных сетей. Для работы достаточно 1.5KiB RAM and 5KiB flash, что почти так же, как и у Tiny OS. При этом система предлагает многопоточность, управление памятью, частичную POSIX-совместимость и прочие вещи, которые более типичны для Linux, нежели для лёгких RTOS. Кстати, разрабатывать под эту ОС можно и из-под Linux или OS X.

    TinyOS - эта ОС разрабатывается под BSD лицензией и требует наименьшее количество ресурсов из всех вменяемых систем. Система написана на диалекте Си, называемом nesC. Основное применение: малопроизводительные микроконтроллеры, хотя в настоящее время проводится работа над поддержкой Cortex-M3.

    Zephyr - разрабатывается Linux Foundation и потребляет 2-8KiB RAM. Работает на x86, ARM, ARC, но основное внимание уделяется микроконтроллерам с Bluetooth/BLE и 802.15.4 радиостанциям вроде 6LoWPAN. Zephyr базируется на River’s Rocket OS, которая в свою очередь базируется на Viper, который не что иное как урезанная версия VxWorks.

    Теги: Добавить метки

    - 31.68 Кб

    «Современные операционные системы с открытым кодом»

    Создание операционной системы. 4

    Определение операционной системы 4

    Основные функции ОС 4

    Дополнительные функции ОС. 4

    ОС с открытым кодом 6

    Различие Ос с открытым и закрытым кодом. 6

    ГЛАВА 1

    Создание операционной системы.

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

    1) Разделение времени, многозадачность

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

    2) Разделение полномочий

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

    3) Реальный масштаб времени

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

    4) Файловые системы и структуры

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

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

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

    Основные функции ОС

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

    3) Доступ к устройствам ввода и вывода.

    4) Распределение оперативной памяти между процессами, организация виртуальной памяти.

    5) Управление доступом к данным жесткого диска

    6) Обеспечение пользовательского интерфейса

    7) Хранение информации об ошибках системы

    Дополнительные функции ОС.

    Дополнительные функции это:

    1) Многозадачность

    2) Распределение нужных ресурсов вычислительной системы между процессами

    3) Ограничение доступа к ресурсам

    4) Обмен данными, взаимная синхронизация

    5) Защита системы, данных, программ от действий разных пользователей

    6) Разграничение прав доступа и многопользовательская система.

    Разобрав функции ОС, стоит упомянуть о ее компонентах:

    1) загрузчик-представляет собой системное программное обеспечение, которое обеспечивает загрузку ОС после включения компьютера.

    2) Ядро-самая центральная часть ОС, которая обеспечивает приложениям доступ к ресурсам компьютера.

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

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

    5) Интерфейс – граница раздела двух устройств,систем или программ, которая определена их характеристиками.

    Определяют 2 группы ОС. К первой относятся системы, набор программ которых управляет оборудованием. Ко второй же группе относятся системы, набор программ которых управляют другими программами.

    Многие устройства нашего мира могут и вовсе обойтись без ОС. Так для чего же они нужны?

    1. Очень многие программы нуждаются в выполнении одних и тех же рутинных действий.Например, ввод одного и того же слова и вывод на экран. Это может потребовать исполнения множества машинных команд. Чтобы не программировать их каждый раз ОС использует системные библиотеки.
    2. Необходимо распределять полномочия между пользователями и программами системы,для того что бы пользователи могли защитить свои данные, а ошибка в программе не вызвала бы больших неприятностей.
    3. Сам же оператор должен иметь возможность управлять самими процессами выполнения отдельных программ. Для этого служит оболочка, наборы улит. Они сами могут являться частью ОС. Итак, ОС можно охарактеризовать как:

    а) ОС с универсальным механизмом доступа к данным.

    б) ОС с разделением полномочий

    в) ОС с разделением времени

    ОС с открытым кодом

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

    ОС с открытым исходным кодом-система, которую может редактировать любой пользователь,не нарушая лицензии и закона. Эта система очень удобна для смартфонов, так как позволяет пользователям «подстраивать телефон под себя»:добавлять различные функции, переписывать драйвера, вставлять поддержку сенсорности.Следует отметить, что такие условно открытые ОС как iPhone OS, Symbian не позволяют вмешиваться в саму систему,но позволяют писать собственные программы. Для компьютеров же ОС с открытым кодом является Linux.

    Различие Ос с открытым и закрытым кодом.

    Как было сказано выше, ОС с открытым кодом позволяют пользователю «создать свое устройство» . ОС с закрытым кодом не дают пользователю право на вмешательство в саму систему. Пользователям остается покупать программы, либо пользоваться бесплатными, а так же ставить сервис-папки. К закрытым ОС относятся Windows , Mac OS.

    Для закрытых операционных систем характерно лицензирование и платность, открытые ОС не требуют приобретения лицензии и распространяются бесплатно.

    ГЛАВА 2

    Linux

    Linux- ОС с открытым исходным кодом, разработка которой была начата в 1983 году. Ричард Столлиман – известный программист создал проект GNU. К началу 1990-х годов очень многие системные программы и библиотеки были уже готовы. В 1991 году Линус Торвальдс создал ядро этой системы. Таким образом из всех компонентов и другого программного обеспечения была создана работающая свободная ОС.

    Сначала Linux раздавался только добровольцам, но со временем компании стали носить свой вклад и эта ОС стала значительной силой. Сейчас же Linux занимает первое место на рынках смартфонов (64%).Рынке домашних компьютеров Linux занимает 3 место (12%)(самый популярный дистрибутив - Ubuntu, которым предпочитают пользоваться 20 миллионов пользователей).

    Самая популярная ОС для смартфонов и планшетных устройств является Android. Эта система основана на ядре Linux. Дистрибутивы Linux популярны у различных государственных структур. Например Федеральное правительство Бразилии активно пользуется этой ОС, а российские военные разрабатывают свой собственный дистрибутив Линукс.

    В Линукс-системах пользователи работают через интерфейс командной строки или как её еще называют CLI, графический интерфейс пользователя (GUI), через элементы управления соответствующих аппаратных средств.

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

    Программа графического эмулятора терминала часто используются для доступа к командной строке с рабочего стола Линукс.

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

    iPhone OS

    iPhone- мобильная операционная система, которая разработана и выпущена американской компанией Apple в 2007 году. Эта система первоначально была предназначена для iPhone и iPod touch, позже и для таких устройств, как iPad и Apple TV.

    В отличие от Windows Phone и Google Android, выпускается только для устройств, производимых фирмой Apple. iPhone разработана на основе Mac OS X и использует тот же POSIX-совместимый набор основных компонентов Darwin.

    По состоянию на 12 мая 2012 года магазин приложений App Store содержит более 750 тыс. приложений для iOS, которые все вместе были загружены более 30 миллиардов раз.

    Cosmos

    Cosmos - операционная система с открытым кодом, написанная на языке программирования C. Она содержит компилятор языка Microsoft Intermediate Language,который позволяет формировать законченные программные модули.

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

    Android

    Android-сетевая операционная система для коммуникаторов, планшетных компьютеров, электронных книжек, цифровых проигрывателей, основанная на ядре Linux. Изначально разрабатывалась компанией Android Inc., которую затем купила Google. Впоследствии Google инициировала создание альянса Open Handset Alliance или (OHA), который сейчас и занимается поддержкой и дальнейшим развитием платформы. Android позволяет создавать Java-приложения, управляющие устройством через разработанные Google библиотеки. Android Native Development Kit создаёт приложения, написанные на Си и других языках.

    В 75 % смартфонов, проданных в третьем квартале 2012 года, была установлена операционная система Android.

    Некоторые обозреватели отмечают, что Android проявляет себя лучше одной из своих конкуренток, Apple iOS, в ряде особенностей, таких как: веб-сёрфинг, интеграция с сервисами Google Inc. и прочих. Android, в отличие от iOS, является открытой платформой, что позволяет реализовать на ней больше функций.

    В отличие от iOS и Windows Phone 7, в Android полноценная реализация Bluetooth стека, позволяющая, в том числе передачу и приём файлов.

    В Android-аппаратах, как правило, присутствует MicroSD-кардридер, позволяющий быстрый перенос файлов с компьютера на телефон, минуя скоростные ограничения USB и других способов передачи без извлечения карты памяти; кроме того, в iOS и Windows Phone 7 невозможна прямая передача каких-либо файлов или из телефона, кроме как через программы синхронизации (iTunes и Zune), в то время как телефоны на Android экспортируют файловую систему карты памяти как USB mass storage device («флешка»).

    Несмотря на изначальный запрет на установку программ из «непроверенных источников» это ограничение отключается штатными средствами в настройках аппарата. Именно это позволяет устанавливать программы на телефоны и планшеты без интернет-подключения. Например, пользователям, не имеющим Wi-Fi-точки доступа и не желающим тратить деньги на мобильный интернет, который обычно стоит слишком дорого. А также позволяет всем желающим бесплатно писать приложения для Android и тестировать на своём аппарате.


    Описание работы

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