Введение
Использование во встраиваемых системах
Computer operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (eg. set top boxes, smart TVs and personal video recorders (PVRs)), in vehicle infotainment (IVI), networking equipment (such as routers, switches, wireless access points (WAPs) or wireless routers), machine control, industrial automation, navigation equipment, spacecraft flight software, and medical instruments in general. Because of their versatility, operating systems based on the Linux kernel can be also found in mobile devices that are actually touchscreen based embedded devices, such as smartphones and tablets, together with personal digital assistants (PDAs) and portable media players that also include a touchscreen. This is a challenge for most learners because their computer experience is mainly based on GUI (Graphical user interface) based interaction with the machine and high level programming on the one hand and low level programming of small microcontrollers (MCU) on the other hand while the concept of command line interfaces is widely unknown.
Компьютерные операционные системы, основанные на ядре Linux, используются во встраиваемых системах, таких как потребительская электроника (например, приставки, смарт-телевизоры и персональные видеорегистраторы (PVR)), информационно-развлекательные системы в транспортных средствах (IVI), сетевое оборудование (такое как маршрутизаторы, коммутаторы, беспроводные точки доступа (WAP) или беспроводные маршрутизаторы), управление станками, промышленная автоматизация, навигационное оборудование, бортовое программное обеспечение космических аппаратов и медицинские приборы в целом. Благодаря своей универсальности операционные системы на основе ядра Linux также можно встретить в мобильных устройствах, которые фактически являются встраиваемыми устройствами с сенсорным экраном, такими как смартфоны и планшеты, а также персональные цифровые помощники (PDA) и портативные медиаплееры, также оснащенные сенсорным экраном. Это представляет собой сложность для многих изучающих, поскольку их опыт работы с компьютерами в основном основан на взаимодействии с машиной через графический пользовательский интерфейс (GUI) и программировании высокого уровня, с одной стороны, и на программировании низкого уровня для небольших микроконтроллеров (MCU) – с другой, в то время как понятие интерфейса командной строки им часто неизвестно.
Computer operating systems based on the Linux kernel are used in embedded systems such as consumer electronics (eg. set top boxes, smart TVs and personal video recorders (PVRs)), in vehicle infotainment (IVI), networking equipment (such as routers, switches, wireless access points (WAPs) or wireless routers), machine control, industrial automation, navigation equipment, spacecraft flight software, and medical instruments in general. Because of their versatility, operating systems based on the Linux kernel can be also found in mobile devices that are actually touchscreen based embedded devices, such as smartphones and tablets, together with personal digital assistants (PDAs) and portable media players that also include a touchscreen. This is a challenge for most learners because their computer experience is mainly based on GUI (Graphical user interface) based interaction with the machine and high level programming on the one hand and low level programming of small microcontrollers (MCU) on the other hand while the concept of command line interfaces is widely unknown.
История
Ядро Linux было портировано на множество процессоров, которые используются не только в настольных компьютерах и серверах, но и на процессоры ARC, ARM, AVR32, ETRAX CRIS, FR V, H8300, IP7000, m68k, MIPS, mn10300, PowerPC, SuperH и Xtensa. Linux также применяется как альтернатива проприетарным операционным системам и соответствующим инструментам разработки.
Варианты
Встраиваемый поднабор ядра Linux — это дистрибутив Linux, который помещается на дискете и предназначен для устаревшего или оборудования с ограниченными ресурсами.
Покрытие устройства
Из-за низкой стоимости (свободно доступный исходный код) и простоты настройки Linux поставлялся с множеством потребительских устройств. К ним относятся КПК (например, серия Sharp Zaurus), GPS-навигаторы TomTom, домашние шлюзы, такие как серия Linksys WRT54G, и смартфоны, такие как серия Motorola exz, телефоны Openmoko, устройства, работающие под управлением Sailfish OS, разработанной Jolla, такие как Jolla C и Intex Aqua Fish, а также Nokia N900 и Nokia N9. Android, операционная система на базе ядра Linux, приобретенная и расширенная Google и представленная в 2008 году, стала высококонкурентной платформой для смартфонов и планшетов. В июле 2012 года доля Android на рынке смартфонов в США составляла 52%, а во втором квартале 2015 года достигла 82% во всем мире. Starlink и SpaceX используют встроенную версию Linux в своих спутниковых группировках и ракетах.
Сообщества
С появлением потребительских встраиваемых устройств вокруг них сформировались сообщества пользователей и разработчиков. Замена или улучшение дистрибутива Linux, поставляемого с устройством, часто становилось возможным благодаря доступности исходного кода и активности этих сообществ. В связи с большим разнообразием устройств возникли стандартизированные системы сборки, такие как Yocto, OpenEmbedded, Buildroot, OpenWrt и LTIB.
Использование платформы
Преимущества встроенного Linux перед проприетарными встроенными операционными системами включают в себя наличие множества поставщиков программного обеспечения, средств разработки и поддержки; отсутствие лицензионных отчислений и сборов; стабильное ядро; возможность чтения, изменения и распространения исходного кода. К техническим недостаткам относятся сравнительно большой объем занимаемой памяти (ядро и корневая файловая система); сложности с доступом к памяти в пользовательском и ядровом режимах, а также сложная архитектура драйверов устройств. Это особенно важно для приложений и систем, критичных к безопасности. Проекты, направленные на разработку поддержки реального времени и обеспечения безопасности, включают Real Time Linux (PREEMPT RT) и ELISA (под эгидой Linux Foundation). Проект Real Time Linux стремится к включению версии PREEMPT RT в основную ветку разработки. Для полноценной работы электронной системы под управлением Linux и обеспечения многозадачности ей требуется достаточный объем оперативной памяти (или ее эквивалент) и блок управления памятью, реализующий виртуальную адресацию для обеспечения совместимости с программным обеспечением, предназначенным для Linux.