Ответы:
Не думаю... Разве что мини пародию...
Да! Но качество будет зависеть от вас и от компилятора.
Операционную систему не пишут, ее создают.
нет операционая система пишется на языках низкого уровня
Ответ на ваш вопрос из заголовка — да, можно.
Ответ на вопрос из текста — скорее всего, таких операционых систем нету и не будет. Потому что, несмотря на формальное существование возможности — вышеуказанные среда разработки и язык программирования являются не самым подходящим инструментарием для реализации данной задачи.
Пожалуй, приведу аналогию:
— Можно ли развозить почту на тяжелом грузовике «БЕЛаЗ»? Какие почтовые компании используют грузовик «БЕЛаЗ» для развозки почты?
Паскаль позволяет делать ассемблерные вставки.
Хак. Но таки да, написать можно. Но никому не нужно :)
Паскаль - это язык высокого уровня. Его компиляторы собирают приложение под определенную ОС и никак иначе (точки входа, типы данных и их размерности, функции работы с памятью - все это под конкретную ОС, а то и вовсе использует ее API).
И несмотря на то, что Паскаль позволяет делать ассемблерные вставки, это не спасает, потому как формат получаемого исполняемого файла, а также типы данных и функции работы с памятью - все это в коде заточено под определенную ОС. И отдельно от нее запустить этот код попросту не получится.
Если вы хотите писать на Паскале и отвязаться от API операционки, то придется переписать львиную долю стандартных библиотек, причем переписать базовые механизмы придется все на том же ассемблере.
Очень распространенное заблуждение - чтобы написать операционную систему, нужен ассемблер. Да, ассемблер нужен на этапе реализации загрузчика операционной системы. Но загрузчик реализовывать не обязательно, можно взять готовый. Само ядро операционной системы (за редким исключением) пишется на языке высокого уровня. Ядро является такой же программой, как и другие программы. Т.е. набором инструкций и данных для конкретного процессора. У ядра есть некоторые отличия, из-за того, что ядро должно всё делать само. Чтобы упростить разработку разнообразных компиляторов и обеспечить возможность использования нескольких языков программирования при разработке программы, программы создаются в несколько этапов. Сначала исходный код программы на языке высокого уровня (С, Паскале, С++, D, ассемблере любом другом компилируемом языке) преобразуется в объектный файл. Далее линкер из набора объектных файлов делает выполнимый файл. Форматы объектных и выполнимых файлов могут быть разными. Чтобы разрабатывать ядро на паскале, нужно чтобы у вас был подходящий линкер, позволяющий использовать выходной формат вашего компилятора. Конечно есть тонкости, но технически все обстоит примерно так. Слегка подробнее можете посмотреть статью в ссылке. Примеров попыток создания разных операционных систем на разных языках сейчас множество. Опять же в вопросе отсутствует упоминание платформы и цели, для которой пишется операционная система. Учебная операционная система в Berkeley University в наши дни с применением Java:
http://academicearth.org/lectures/concurrency-processes-threads-and-address-spaces
На Дельфи невозможно, так как Дельфи опирается на WINAPI, т.е. ядро другой операционной системы
На Паскале теоретически можно, но трудно. Паскаль в составе языка имеет операции Ввода-вывода - а это уже часть операционной системы
Язык СИ не имеет в своем составе операций ввода-вывода (они располагаются в библиотеке) и следовательно его ничего не ограничивает для написания ОС с нуля.
FreePascal таке може, але прийдеться переписати модуль 'system.pas', а там багато чорної магії... (директив компілятора)
13 лет назад