рабочее окружение

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

Операционная система

ubuntu

В первую очередь начнем, конечно же, с операционной системы. У меня на ноутбуке, используемом для разработки установлен дистрибутив Linux – Ubuntu 18.04. Особых изменений дефолтных настроек нет, поэтому я перейду дальше.

Редактор кода

visual studio code

В качестве редактора кода я буду использовать – Visual Studio Code. Редактор разработан компанией Microsoft, отлично расширяем и является абсолютно бесплатным. Для написания кода потребуется два основных расширения. Вот их список со ссылками:

  • x86 and x86_64 Assembly – расширение предназначено для подсветки синтаксиса кода на ассемблере и автодополнения.
  • C/C++ — как понятно по наименованию, расширение используется для си и си++ — подсветка синтаксиса и автодополнение кода включено.

Компиляция и сборка

рабочее окружение: схема компиляции и сборки

Чтобы преобразовать текст программы в машинный код, процесс также называется компиляцией, необходимо несколько утилит. Я буду использовать ассемблер NASM. Необходимо его скачать со страницы продукта. После недолгого использования ассемблера планируется вырваться из бездны низкоуровневого программирования чуть повыше – начнется эра языка Си. Для компиляции отлично подойдет – GNU Compiler Collection или по-простому gcc. В моем дистрибутиве Ubuntu коллекция компиляторов присутствует по умолчанию. Ну и наконец, чтобы связать все файлы воедино используется такая утилита как линкер (компоновщик), который является частью пакета binutils.

Автоматизация

рабочее окружение: автоматизация сборки

В процессе работы потребуется автоматизировать некоторые действия как компиляцию, компоновку и создание iso-диска. Я для этого использую утилиту make. Утилита на основании файла настроек, со специальным названием Makefile, соберет программу как положено. Если создать правильную конфигурацию в makefile, конечно.

Эмулятор

qemu - эмулятор

Ну и последнее в данной статье. Для того, чтобы быстро опробовать результаты работы, одним из вариантов, является qemu — пакет для эмуляции запуска созданного бинарника на чистой виртуальной машине. Управлять этим пакетом не просто, а очень просто. В коллекции есть готовая конфигурация эмулятора — qemu-system-i386.

Возможно в процессе я добавлю что-нибудь в свое рабочее окружение. Если такое произойдет, то я обязательно напишу. А пока все, спасибо что дочитали до конца и до свидания!

Канал в Яндекс.Дзен

Картинки найдены на просторах интернета.