Pisanie OS w C++ (pytam poważnie)

0

Tak jak w temacie, chcę się dowiedzieć czy da się napisać system w czystym cpp bez asm. Na necie nic nie znalazłem, bo są tylko tysiące tematów założonych przez dzieci "jak napisać swój system"... A jeżeli bez asm się nie da, to jest wiele tutoriali jak napisać w asm, a co potem? Przecież nie da się całego systemu napisać w samym asm. Z góry dziękuję za odpowiedź. Jeżeli by komuś się chciało rozpisać, a wie nieco o tym, prosiłbym o wytłumaczenie takiego procesu tworzenia OS'a - nie jakiegoś zaawansowanego, ale takiego ala mini DOS, np. miałby wbudowany program - kalkulator.

0

Bez żadnych wstawek asma byłoby ciężko.

0

Całego systemu w C/C++ nie napiszesz, w ASM też nie (tj. możesz, ale nie chcesz ;)), ale kto mówi, że nie możesz zrobić podstawowej części w ASM, a później używać wyłącznie C++ (z nielicznymi wstawkami tego pierwszego)?

0

No dobra czyli początek asm, a jak zacząć potem z cpp?

0

Zależy jak to rozwiążesz. Chcesz pisać własny bootloader czy użyć gotowego?

0

Raczej gotowego ;p

0

Jeżeli chcesz użyć GRUBa to linkujesz ten krótki kod asma:

[BITS 32]
[SECTION .text]
mboot:
   dd 0x1BADB002            ; Header magic
   dd 0x00001               ; Flags (PAGE_ALIGN)
   dd -(0x1BADB002+0x00001) ; Checksum

z kodem napisanym w C++ i to w zasadzie tyle.

Więcej info tutaj: http://wiki.osdev.org/C%2B%2B_Bare_Bones

0

I wtedy co, kod w cpp wykonuje się normalnie?

0

Tak, tylko musisz ustawić entry point na kod w C++ i wywołać statyczne konstruktory (jeżeli takie w kodzie masz)

0

K, dzięki za odpowiedź.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0