Как в написании операционной системы используют C? Здравствуйте, курю гайды на тему написания оси, исключительно для общего развития, узнал, что загрузчик/биос/дрова пишут на ассемблере (кстати какой синтаксис выбрать - intel или AT&T?), а остальную часть - на яп высокого уровня - си, си++. У меня всплыл закономерный вопрос - чем компилируется и выполняется код на си, если есть только голое железо да загрузчик с биосом? Или компилятор тоже пишется на асме? Поясните, спасибо

4 Авг 2020 в 19:47
173 +1
0
Ответы
1

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

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

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

18 Апр 2024 в 10:41
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир