System operacyjny

0

Witam. Co prawda mam małą wiedzę (tzw. niewystarczającą do napisania windowsa) lecz chcę spróbować napisać prosty OS. Wiem, że może się mi nie udać. Prosiłbym tutaj bez komentarzy typu: a po co ci to? A jak się nazywa?
Napisałem proste jądro w C. I teraz bym prosił o parę kodów:

  1. Bootloader lub/i dodatkowy programik (ASM) który przechodzi w tryb chroniony oraz uruchamia moje jądro w C.
  2. Kompilacja jądra. Jakim poleceniem to wykonać?
  3. Łączenie i kompilacja wszystkiego. Jak to wykonać?
  4. Jak w C uruchomić inny program i zakończyć obecny (aby np. plik kernel uruchomił program system i program kernel by się zam zamknął po uruchomieniu tego programu).
  5. Czy da się na tym poziomie (tryb chroniony, wywołanie z programu w C) uruchomić kod w C++?
    Bardzo bym prosił o odpowiedzi na moje pytania lub chociaż linki - inne niż google.pl
0

zgłoś się do manfreda. On ci zapewne pomoże.

0

Może to Ci pomoże http://wiki.osdev.org/Main_Page

0

A może byłby ktoś w stanie dać mi tutaj linki/kody bootloadera oraz ładowania kernela w C i funkcji _start_kernel (w kernelu).
Przydało by mi się również info jak kompilować takie pliki nasmem oraz gcc (linux) oraz jak pod linuksem łączyć pliki w plik bin/img.

0

Mój brzydki, pisany z palca bootloader czytający kernel w formacie PE (FileAlignment MUSI == SectionAlignment i ImageBase MUSI == 0x00100000; czyli albo skompilowany pod Windows, albo z crosskompilatorem generującym PE pod inną platformą. Hint: gcc i target i686-pc-cygwin) zapisany na dyskietce sformatowanej w FAT12: http://berenza.googlecode.com/svn/trunk/ folder stage2. Łączenie w img jest w berenza.asm. Resztę znajdziesz na osdev wiki.

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