Горячая вакансия: PCB engineer 80000 КА Работа
Я ищу работу в IT сфере ✈ Я ищу резюме в IT сфере ✈

Быстрая публикация IT события здесь

Приступая к работе с Embedded Linux - Часть вторая

В первой части этого раздела я описал с чего начать изучение Embedded Linux для людей, имеющих опыт использования встроенных (не linux) систем. Начинать изучение linux в среде рабочего стола, работающего под окружение VMware или VirtualBox. Одно преимущество, что у Linux есть другие встроенные системы, которые используют одно и то же ядро во всех системах,
от самых больших до самых маленьких, и многие утилиты и библиотеки доступны как для встроенных систем так и для окружения рабочего стола.
Изучение Linux выходит за рамки коротких статей, но мы можем описать порядок ознакомления с Linux на рабочем столе и поговорить о том, как это связано со встроенным окружением Linux. Есть множество хороших книг, которые познакомят Вас с Linux. Важные базовые принципы самостоятельное ознакомление с командной строкой, файловой системой, структурой директорий и процессом организации.
Большинство конфигураций и управлений Linux систем осуществляется из командной строки. На рабочем столе это значит открытие окна терминала и использование оболочки Bash. Команды начинаются с командного имени и обычно принимают вариант (как правило перед этим ставится дефис), соответствующий имени файла. Много командных имен могут быть сокращенными (например, ls или cp) и принимать несколько вариантов, большинство из которых вы будете редко использовать. Если Вы поклонник оболочки Windows CMD (или оболочки MSDOS, которая в нее входит) ряд команд будет похож (например, cd), но они часто имеют некоторые отличия. Как минимум, Вам необходимо знать, как получить список файлов (cat, less, file), список директории, как передвигаться между директориями (ls, cd, pwd), и как получить помощь (man, info, apropos). Система Linux моего рабочего стола имеет тысячи команд. Вам надо знать только некоторые из них, но если есть что-то, что Вы хотите сделать, вероятно, существует команда, которая это выполняет. Команда apropos это хороший путь, чтобы найти команду, которая может выполнить то, что Вы хотите сделать. Попробуйте написать «man apropos» в командную строку. Вам также надо будет поближе познакомится с редактором, таким как vi, который можно использовать в оболочке командной строки.
В системе embedded Linux у Вас скорее всего не будет окон. Вместо этого Вы будете работать с BusyBox и оболочкой Ash, маленький интерпритатор командной строки. Пакет BusyBox содержит около 200 команд в одной исполняемой программе.
Одна из основных философий Unix и Linux систем это организация вокруг иерархической файловой системы. Основание этой файловой системы называется «/» и все в файловой системе может быть начато с этого. Естественно, файловая система содержит файлы с текстом или данными, как и программы. Кроме того, там есть различные специальные «файлы», которые представляют различные физические устройства (например, жесткие драйверы), интерфейсы, создаваемые драйверами (такие как виртуальные терминалы) сетевые соединения и др. Где другие ОС могут представить программный интерфейс для внутренней информации о процессах или памяти, linux предоставляет намного более простой интерфейс, представленный в виде информации текстовых файлов.
Например, директория /proc содержит поддерикторию для каждого текущего процесса, которая описывает почти все, что может быть Вы хотели бы знать об этом процессе.
Общие директории: /boot - содержит программы boot; /bin и /sbin - содержат программы, которые обычно используют системные администраторы, основа; /dev – содержат драйверы (реальные и виртуальные); /etc – содержит систему конфигурации файлов; /home – содержит пользовательские файлы; /proc и /sys – система файлов; /lib – библиотеки; /usr – содержит не пользовательские файлы, но программы, которые могут быть запущены пользователем; /tmp – содержит временные файлы; и наконец /var –содержит системный журнал. В embedded Linux у Вас будет та же самая организация, к тому же иногда некоторые директории могут быть скомбинированы. При этом у Вас будет значительно меньше файлов чем в системе рабочего стола.
Linux (и Unix) имеет иерархическую структуру процесса. Первый процесс, инициализация, имеет ID процесса (PID) и создается ядом Linux при запуске системы. Инициализация поочередно создает «подпроцессы», которые позволяют войти в систему. Это в свою очередь ведет к появлению окон или командных оболочек, которые в свою очередь порождают другие процессы. Если Вы напишите «ps» в командном окне, Вы увидите краткий список процессов верхнего уровня, протекающих в этом окне, обычно это сама команда «ps» и команда «bash» - интерпритатор командной строки. Написание «ps –l» даст Вам больше информации, включая процесс идентификации каждого родительского процесса (PPID), и идентификацию пользователя (UID), запускающего программу и др. информацию. Команда «ps l» также напечатает фоновые процессы. (Очень небольшое количество более старших команд унаследовано от Unix, таких как «ps» и «tar», необязательно пропускать дефис, который предшествует вариантам. К сожалению, так сложилось, что команда «ps» дает разные результаты в зависимости от того, поставили Вы тире или нет). Команда "ps alx" даст Вам длинный список всех процессов, происходящих в системе, больше чем Вы на самом деле хотели знать. (Возможно Вы захотите уменьшить его, чтобы посмотреть список: "ps alx | less".) Вы так же можете просмотреть директорию /proc, которая имеет другой вид процессов в Вашей системе.
Система Embedded Linux имеет точно такую же организацию процессов, как и система Вашего рабочего стола. Разница будет в том, что во встроенной системе протекает гораздо меньше процессов, чем в системе рабочего стола.
Походите по Вашей системе Linux, работающей на виртуальной машине. Постарайтесь составить список файлов и работающих команд. Не бойтесь, что это может что-то сломать; Linux очень крепкий. Но Вы можете сделать снимок системы, поэтому сможете вернуться к ней в случае необходимости. В следующей статье мы поговорим о программировании для Linux и Embedded Linux.
Перевод Карпухиной Т.Б.
Оригинал [(-)]


➥ ✈

Поиск IT персонала. Давайте решать задачи вместе! rabota@rabota-ka.ru



HotLog Rambler's Top100 Яндекс.Метрика
Отправить комментарий
Яндекс.Метрика Яндекс цитирования

Сообщения на Email