Написание низкоуровневой программы типа PartitionManager - PullRequest
2 голосов
/ 02 февраля 2012

Я хотел бы научиться писать программы, которые могут запускаться без загрузки операционной системы, например, программы Norton Ghost или Paragon.Я хотел бы иметь возможность запустить программу с компакт-диска или USB-накопителя.

Не могли бы вы дать мне несколько советов, пожалуйста?

Ответы [ 2 ]

3 голосов
/ 02 февраля 2012

В основном - если вы не используете существующую - вы должны написать свою собственную операционную систему - она ​​может быть маленькой, но это ОС.

Написание немного отличается от написания приложений, потому что выдолжны взаимодействовать с оборудованием напрямую (или через BIOS).Это требует хорошего знания низкоуровневого программирования, спецификаций аппаратных устройств и архитектуры процессора, особенно если вам нужна память и вам нужно переключить процессор x86 в защищенный режим (хотя можно использовать «нереальный режим»), который использует довольно сложный механизм,Некоторые части могут потребоваться записать на ассемблере для доступа к специальным «привилегированным» инструкциям, используемым «ядрами», работающими на самом привилегированном уровне («кольцо 0») в защищенном режиме, и для обработки прерываний.можно начать здесь http://wiki.osdev.org/Main_Page.

2 голосов
/ 02 февраля 2012

Delphine - это попытка написать примитивную ОС с использованием freepascal. Это больше не активный проект, но вы можете попробовать код.

ClassiOS - операционная система, написанная на Delphi.

Более профессиональное решение - выбрать совместимую с Win32 ОС, такую ​​как On Time RTOS-32 , купить лицензию и создать загрузочную программу на флешке / CD в Delphi. Обратите внимание, что это дорогое решение, но оно используется во многих критических системах реального времени. Мы реализовали более или менее клон DOS, используемый для загрузки любой системы X86 с USB-накопителя.

...