Для моего последнего проекта года в коллаже я разработал небольшую ОС x86 с диспетчером виртуальной памяти, виртуальной файловой системой и полностью упреждающей многозадачностью. Я сделал это с открытым исходным кодом и код прокомментирован, проверить свою страницу кузнечного источника по адресу:
https://github.com/stephenfewer/NoNameOS
Из моего опыта я могу рекомендовать следующее:
Вам будет потребность x86 ассемблер для различных частей, это неизбежно, но может быть сведено к минимуму. Довольно быстро вы получите код C, который является проверенным выбором для разработки ОС. Если у вас есть какой-то менеджер памяти, вы можете перейти на C++, если хотите (вам нужен какой-то менеджер памяти для таких вещей, как новый и удалить).
Независимо от того, какой язык вы выберете, вам все равно понадобится сборка & C, чтобы принести систему с загрузки, где BIOS оставляет вас в любой пригодной для использования форме.
В конечном счете, основной язык, который вы выберете, будет зависеть от типа ОС, который вы хотите разработать.
Моей средой разработки был порт Windows средств разработки GNU DJGPP вместе с ассемблером NASM. Для моего IDE я использовал Eclipse IBM с плагином CDT, который обеспечивает среду разработки C/C++ в Eclipse.
Для тестирования я рекомендую BOCHS, эмулятор ПК с открытым кодом x86 с открытым кодом. Это позволяет быстро загружать вашу ОС, что отлично подходит для тестирования и может быть интегрировано в eclipse, чтобы вы могли создавать и запускать свою ОС одним нажатием кнопки. Я также рекомендовал бы использовать как VMWare, так и физический ПК, так как вы можете подобрать некоторые тонкие ошибки.
P.S. Разработка ОС действительно забавная, но очень интенсивная, моя занимает большую часть 12 месяцев. Мой совет - хорошо спланировать, и ваш дизайн является ключом! enjoy :)
Что бы лучший язык для использования? в архитектуре X86 лучше всего выбрать язык ассемблера x86 и C! – AminM 2013-04-26 13:03:03
Голосование закрывается слишком широко. См. Также: http://stackoverflow.com/questions/254149/how-do-you-write-a-basic-operating-system?rq=1u – 2015-08-15 20:23:53