что такое встраиваемые системы

Embedded systems: что это? Коротко про встраиваемые системы

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

Embedded программист — это уникальный специалист по работе со встраиваемыми системами управления приложениями в реальном времени. Данные системы (Embedded systems) состоят из 3-х основных вещей:

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

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

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

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

Embedded system — что это?

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

Где используются Embedded System?

Embedded System применяются во многих областях человеческой жизни. Так как IT-сфера постоянно развивается, то и применение встроенных систем также расширяет свою сферу деятельности. На данный момент Embedded System можно найти в:

бортовом компьютере автомобиля;

системах безопасности и сигнализации;

Как работают Embedded System?

ASIC — интегральные схемы;

FPGA — программируемые логические матрицы;

прочие компоненты, предназначенные для наладки взаимодействия с интерфейсом пользователя.

Как программируют Embedded System?

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

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

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

Заключение

технологий дополненной и виртуальной реальности;

Поэтому стоит рассмотреть Embedded-программирование как род своей будущей деятельности.

Мы будем очень благодарны

если под понравившемся материалом Вы нажмёте одну из кнопок социальных сетей и поделитесь с друзьями.

Источник

Что такое встроенные системы, где они применяются и как разрабатываются

В этой статье представлена ​​информация о различных аспектах современных встроенных систем.

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

Что такое встроенная система?

Сегодня сложно представить современное мультимедийное электронное оборудование без возможности свободно выбирать параметры музыки, которую вы слушаете, или изображения, которое вы смотрите. Это возможно благодаря использованию микропроцессоров, управляющих работой этих устройств и размещенных внутри них (отсюда и название: Embedded System).

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

Каждая встроенная система основана на микропроцессоре (или микроконтроллере), запрограммированном на выполнение ограниченного числа задач или даже только одной задачи.

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

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

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

Где применяются встроенные системы?

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

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

История встроенных систем

Первой современной встроенной вычислительной системой реального времени был компьютер Apollo Guidance Computer, разработанный в 1960-х годах доктором Чарльзом Старком Дрейпером из Массачусетского технологического института для программы Apollo. Управляющий компьютер Apollo был разработан для автоматического сбора данных и выполнения критически важных расчетов для командного модуля Apollo и лунного модуля.

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

Apollo Guidance Computer

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

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

Как работает встроенная система?

Встроенные системы управляются микроконтроллерами или процессорами цифровых сигналов (DSP), специализированными интегральными схемами (ASIC), программируемыми логическими матрицами (FPGA). Эти системы обработки интегрированы с компонентами, предназначенными для работы с электрическими и / или механическими интерфейсами.

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

Как разрабатываются встроенные системы?

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

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

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

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

Популярный онлайн видео курс:

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

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

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

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

Будущие тенденции встраиваемых систем

Ожидается, что индустрия встраиваемых систем будет продолжать быстро расти благодаря постоянному развитию искусственного интеллекта (AI), виртуальной реальности (VR) и дополненной реальности (AR), машинного обучения, глубокого обучения и Интернета вещей (IoT).

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

Любите умные гаджеты и DIY? Станьте специалистом в сфере Internet of Things и создайте сеть умных гаджетов!

Записывайтесь в онлайн-университет от GeekBrains:

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

Изучить C, механизмы отладки и программирования микроконтроллеров;

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

Получить удостоверение и сертификат, подтверждающие полученные знания.

Starter box для первых экспериментов в подарок!

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

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

Источник

Разработка встраиваемых систем: что вам нужно знать

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

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

Что такое встроенная система?

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

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

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

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

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

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

Маленький размер

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

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

Лёгкость управления

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

Рентабельность

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

Практическое использование

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

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

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

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

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

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

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

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

Аэрокосмическая и военная промышленность: высокопроизводительные датчики, системы связи и навигации имеют решающее значение для аэрокосмической и военной деятельности. Фактически, именно Интернет вещей и встроенные системы отвечают за посадку и взлёт самолётов, а также за спутники, вращающиеся вокруг Земли, отправляя и получая сигналы.

Лучшие языки программирования для встраиваемых систем

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

Список языков можно продолжить с помощью JavaScript, Objective C, Qt,.NET и многих других языков.

Заключение

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

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

Источник

Встраиваемая система

Встра́иваемая систе́ма (встро́енная систе́ма, англ. embedded system ) — специализированная микропроцессорная система управления, концепция разработки которой заключается в том, что такая система будет работать, будучи встроенной непосредственно в устройство, которым она управляет.

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

Содержание

Особенности

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

что такое встраиваемые системы. Смотреть фото что такое встраиваемые системы. Смотреть картинку что такое встраиваемые системы. Картинка про что такое встраиваемые системы. Фото что такое встраиваемые системы

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

Основой построения простых встроенных систем часто служат одноплатные (однокристальные) ЭВМ (см.: микроконтроллер), специализированные или универсальные микропроцессоры, ПЛИС. Для построения некоторых видов встроенных систем широко используют микропроцессоры архитектуры ARM.

Широко распространено непосредственное использование или обеспечение значительной степени совместимости с морально устаревшими за долгое время выпуска (десятки лет) устройствами и интерфейсами (например, процессорами семейств Intel 8086, i386, i486, Pentium и их аналогами; шиной ISA и т. п.) из-за низкой стоимости разработки конкретного решения.

Область применения

Областью применения встроенных систем являются:

Безопасность встроенных систем

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

ЦПУ для встраиваемых систем

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

Ведущие фирмы-производители

Список ведущих фирм — производителей микропроцессоров:

Источник

Встраиваемые системы: Windows специального назначения

О могущественные хабрамэн и прекраснейшие хабравимен! Ничтожный заметил, что сура о блистательной Windows Embedded ещё не записана в книге мудрости хабра. Да будет дозволено мне, недостойному, поведать вам одну поучительную историю о том как был построен и внедрён особо пуленепробиваемый Windows ® ™ на объектах одной российской железнодорожной корпорации.

Как мы дошли до жизни такой

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

ПО представляет собой АРМ электромеханика СЦБ, написано на VC++ 6 + MFC + WINAPI.

Наш мудрейший халиф, узнав о таком непотребстве, созвал диван. И так говорили придворные мудрецы и звездочёты:

Антивирус не был установлен по причине отсутствия на станциях интернета (станции раскиданы по всей поверхности России и ездить с офлайн базой для обновления — как-то не вариант). На некоторых станциях есть выход в интранет, где есть корпоративный антивирус, но во-первых: не на всех, во-вторых: антивирус там — хтонический Symantec, старый и добрый.

Спустя некоторое количество служебок, было принято решение заменить десктопный Windows на что-то более прочное и надёжное, но при этом win32-совместимое. Из всей массы подходящих платформ был выбран Windows XP Embedded, т.к. по нему уже имелись наработки да и вообще, классная себе такая система.

Windows XP Embedded — это встраиваемая компонентная операционная система на базе Windows XP Professional Edition и предназначена для применения в различных встраиваемых системах: системах промышленной автоматизации, банкоматах, медицинских приборах, кассовых терминалах, игровых автоматах, VoIP-компонентах и т. п. Windows XP Embedded включает дополнительные функции по встраиванию, среди которых фильтр защиты от записи (EWF и FBWF), загрузка с флеш-памяти, CD-ROM, сети, использование собственной оболочки системы и т. п.

В настоящий момент известна как Windows Embedded Standard.

Windows on steroids

Но это всё скучно и просто. Начальство прониклось идеей модульного ПО™, которая заключается в разделении прикладного, системного ПО и конфигурации на «модули» — образы ФС, объединяющие ПО по функциональным признакам. Плюсы такого подхода:

Очевидных минусов вроде бы нет, казалось бы — внедряй и радуйся. Но то, что для QNX (изначально модульная система разрабатывалась для наших промышленных компьютеров) было просто и естественно в Windows стало адовой мигренью и выглядело как попытка скрестить морского ежа с подъёмным краном. В итоге реализовать таки получилось, но обо всём по порядку.

Усекновение Windows

Проблема отключения PnP-устройств может быть решена несколькимиспособами (а ещё есть devcon), но этот меня привлёк своей глобальностью, т.е. заодно с USB-накопителями будут отключены любые другие несанкционированные периферийные устройства, но, при этом сохранится возможность заменить USB-мышь\клавиатуру (т.к. драйвер имеется в системе и он содержит цифровую подпись — такие драйвера устанавливаются автоматически)

Монтирование образов

Поиски ПО для монтирования образов в Windows были долгими и мучительными. Попадались только реализации RAM-drive, что безусловно классно, но не то. Вспомнил, что в комплект Windows Virtual Server включена утилита для монтирования файлов vhd, но как добавить её в мою WinXP и легально ли это вообще, мне так и не открылось. Проект века уже почти накрылся медным тазом, я прикидывал как бы отделаться меньшей кровью и избежать разработки собственного драйвера, как вдруг в гугле всплыла ссылка на отличнейший filedisk. Подходит по всем статьям — может монтировать образы как логические диски (эмулировать носитель он не умеет, но это и не требовалось), выполнен в виде драйвера, что позволяет легко добавить в проект XP Embedded, из коробки содержит консольную утилиту для управления дисками — то что надо для использования в стартовых скриптах. В общем — стопроцентное попадание.

Драйвер установлен, но где же взять сами образы? Берём dd for windows и создаём из её виртуального /dev/null образы требуемого размера. Подключаем их с помощью filedisk, видим логические диски без ФС, создаём на них NTFS, заполняем содержимым.

На одном из образов я разместил стартовые скрипты, которые запускаются после логона и производят некоторые настройки(установка IP-адреса, разрешения экрана и т.п. из конфиг-файла). Ясно, что к моменту логона, образы уже должны быть примонтированы. И тут я перепробовал кучу вариантов — Schtasks, который позволяет выполнять задачу при логоне (но он срабатывал как-то далеко не всегда), загонял скрипт монтирующий диски в сервисы с помощью sc — при этом, содержимое образов было недоступно пользовательским аккаунтам от имени которых запускалось прикладное ПО (как вариант можно было бы перенести задачи из скриптов в службу, но скриптоложство мне почему-то милее этого бездушного C++). В итоге сколхозил — AutoExNt выполняет монтирование перед логоном, а задачи конфигурирования системы исполняются с помощью зашифрованных cpau-заданий от имени администратора (т.к. автологон происходит под аккаунтом обычного пользователя). Это был первый из стабильно работающих вариантов, а отладка к тому моменту так меня достала, что плюнул на уродство способа и оставил как есть.

Дополнительно, разработал небольшую простую утилитку автозапуска, т.к. из проекта был исключён Explorer Shell и ключи авторана в реестре никто не обрабатывал, а программы на старте запускать кому-то надо было.

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

Развёртывание

Windows XP Embedded не содержит в себе инструментов для разметки и форматирования диска, в отличие от обычной Windows XP. Т.е. установка XPe заключается в копировании структуры каталогов проекта в корень раздела, отформатированного в FAT32/NTFS и помеченного как активный (флаг boot установлен). Комплект поставки XPe включает в себя диск WinPE, который содержит необходимые для разметки утилиты, но сценарии применения этого диска довольно туманны(например, он не может быть использован как диск восстановления). Похвалив про себя такую заботу о пользователях, я решил вообще не связываться с продукцией Microsoft для развёртывания XPe (хотя есть вроде бы бесплатный Windows AIK, но по предыдущему опыту попыток разобраться в лицензионных ограничениях продуктов Microsoft было принято решение поискать чего-то на стороне).

Решил попытать счастья с GNU/Linux, т.к. драйвер ntfs-3g уже довольно давно был стабильным и вполне себе работал (и, кстати, в довольно странных местах — по блажи Realtek, в SDK для их мультимедиа-платформ используется как ФС по умолчанию для внешних накопителей). Взял Live-CD Ubuntu LTS, очистил его от логотипов и упоминания Ubuntu (ибо для глубокой модификации системы Canonical выдвигает такие требования) и начал кастомизировать. Выбор дистрибутива был обусловлен личными предпочтениями.

Первая версия среды развёртывания представляла из себя bash-скрипт, который общался с пользователем с помощью zenity. Простенько и со вкусом. Была забракована, как недостаточно божественная в плане UI.

Вторая версия была написана на Mono (C# — корпоративный стандарт) и содержала в себе чуть ли не все графические элементы GTK. Высокая комиссия отметила, что UI по-прежнему недостаточно божественен, но таки жизнеспособен.

Сама процедура установки состояла из вызова внешних утилит — parted для разметки, mkfs.ntfs из пакета ntfsprogs(ntfstools) для создания ФС и rsync для копирования данных с установочного носителя.

Дальше — ребут и переход непосредственно к развёртыванию Windows Embedded.

Заключение

Сейчас Windows XP Embedded (Windows Embedded Standard 2009) стремительно теряет актуальность (хотя поддержка будет продолжаться до 2015 года) — на смену ей пришла Windows Embedded 7, которая гораздо, гораздо, гораздо удобнее XPe, однако разработкой с её использованием занимается мой коллега, я же описал (как мог, хе-хе) собственный опыт. Надеюсь кто-то найдёт что-нибудь полезное в этом сборнике вредных советов.

В завершении приведу список полезных ресурсов по Windows Embedded:

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *