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