Читаем Внутреннее устройство Linux полностью

17.4. Распределенные вычисления и вычисления по запросу

Чтобы облегчить управление локальными ресурсами, можно поместить замысловатые инструменты управления поверх технологии виртуальной машины. Термин «облачные вычисления» настолько всеобъемлющ, что часто используется для обозначения этой сферы. Более точно, инфраструктурой в качестве службы (IaaS, Infrastructure as a Service), называют системы, которые позволяют вам обеспечивать и контролировать основные вычислительные ресурсы, такие как процессор, память, хранилище данных и сеть, на удаленном сервере. Проект OpenStack является одним из таких интерфейсов прикладного программирования и платформой, которая содержит си­стему IaaS.

Переместившись за «сырую» инфраструктуру, можно также выполнить обеспечение платформы ресурсами, такими как операционная система, серверы баз данных и веб-серверы. Систему, которая предоставляет ресурсы на таком уровне, часто называют платформой в качестве службы (PaaS, Platform as a Service).

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

17.5. Встроенные системы

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

Можно представлять встроенные системы как почти полную противоположность распределенным вычислениям: вместо расширения масштаба операционной системы встроенная система обычно (но не всегда) сужает его, часто до небольшого устройства. Система Android является сегодня, наверное, самой распространенной встроенной версией Linux.

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

Интерес к встроенным системам возрастает по мере того, как появляются более вместительные небольшие аппаратные средства, в частности однокристальные системы (SoC, System-on-a-chip), которые могут уместить на небольшом пространстве процессор, память и периферийные интерфейсы. Например, одноплатные компьютеры Raspberry Pi и BeagleBone основаны на такой схеме, и для них в качестве операционной системы можно выбрать один из вариантов Linux. Такие устройства обладают легкодоступным выводом и сенсорным вводом, который подключается к языковым интерфейсам вроде Python, делая их популярными для макетирования и небольших гаджетов.

Встроенные версии Linux различаются тем, как осуществляются многие функции из серверной/настольной версии. В небольших, очень ограниченных устройствах следует урезать все, кроме необходимого минимума, вследствие недостатка свободного пространства. Это часто означает, что даже утилиты оболочки и ядра существуют в виде единственного исполняемого файла BusyBox. Такие системы обычно демонстрируют наибольшее отличие от полнофункциональной версии Linux, и вы часто встретите в них более старые программы, вроде System V init.

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

Однако, несмотря на различия, встроенные системы все так же наследуют «гены» Linux, о которых рассказано в этой книге: вы обнаружите ядро, ряд устройств, сетевые интерфейсы и систему init, а также несколько пользовательских процессов. Встроенные ядра, как правило, близки (или идентичны) обычным, просто в них отключены многие функции. Но когда вы доберетесь до пространства пользователя, различия станут выражены более ярко.

17.6. Заключительные замечания

Перейти на страницу:

Похожие книги

1001 совет по обустройству компьютера
1001 совет по обустройству компьютера

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

Юрий Всеволодович Ревич

Программирование, программы, базы данных / Интернет / Компьютерное «железо» / ОС и Сети / Программное обеспечение / Книги по IT
Основы программирования в Linux
Основы программирования в Linux

В четвертом издании популярного руководства даны основы программирования в операционной системе Linux. Рассмотрены: использование библиотек C/C++ и стан­дартных средств разработки, организация системных вызовов, файловый ввод/вывод, взаимодействие процессов, программирование средствами командной оболочки, создание графических пользовательских интерфейсов с помощью инструментальных средств GTK+ или Qt, применение сокетов и др. Описана компиляция программ, их компоновка c библиотеками и работа с терминальным вводом/выводом. Даны приемы написания приложений в средах GNOME® и KDE®, хранения данных с использованием СУБД MySQL® и отладки программ. Книга хорошо структурирована, что делает обучение легким и быстрым. Для начинающих Linux-программистов

Нейл Мэтью , Ричард Стоунс , Татьяна Коротяева

ОС и Сети / Программирование / Книги по IT
Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT