Другие языки программирования и технологии

Как написать свою ОС ? (без линукс и смс). С нуля.

Дмитрий Котов
Дмитрий Котов
3 752
Сперва нужно написать bootloader - загрузчик, скомпилированный не в *.exe, а в особый бинарный формат, чтобы мог выполняться BIOSом, а не какой-либо уже имеющейся ОС.
Как я понимаю, такие файлы умеют создавать только разные компиляторы ассемблера (но могу и ошибаться).
Далее этот файл (расширение обычно *.bin) нужно упаковать в загрузочный ISO-образ например с помощью программы UltraISO.

Далее можно реализовать работу с графикой (рисование в режимах VGA (256 цветов), SVGA (полноценный режим)), с файлами, с потоками и т. д.
Это все вроде тоже можно реализовать на ассемблере, в том же bootloader, и не выводя в отдельную библиотеку (ядро) и т. д., а можно как-то сделать отдельно от bootloader'а.
В общем, вот ссылки по теме:
http://www.youtube.com/watch?v=Zz_pvOjR6Lc - на канале и другие видео по теме имеются
http://skelix.net/skelixos/index_en.html - вот здесь много всего, и местами даже код на Си где-то мелькает, видимо Си тоже кое на что способен )))
https://thiscouldbebetter.wordpress.com/2011/03/17/using-vga-graphics-in-assembly-language/ - графика VGA.
Можно и SVGA нагуглить и много что еще, если уметь гуглить.
Самое сложное - это, пожалуй, драйвера для Wi-Fi, принтеров, сканеров и т. д.
А вот клавиатура и видеопамять - поддерживаются BIOSом штатно, и есть исхондики, десяток строк кода на асме и вуаля. Насчет мышки - не знаю.
Aleksey Bezuglovih
Aleksey Bezuglovih
26 662
Лучший ответ
Дмитрий Котов А чо в devel studio никак ОС ни написать??
Как обычно: мозгами. Все, что Вам надо: чтоб BIOS загрузил и запустил какую то Вашу программу, любую. И всио!
Дмитрий Котов По-моему лучше использовать ассемблер
Дмитрий Котов биос не ос. он не запустит сони вегас.
при чем тут вообще линукс ?
ты же свою ОС хочешь написать.
пиши ядро. чтобы не заморачиваться сильно делай multiboot ядро и грузи его grub'ом.
один хрен в одиночку ничего толкового не напишешь
Пиши давай без всяких базаров и советов)))
Почитай на досуге http://habrahabr.ru/post/101810/