• utworzenie prywatnego segmentu dla danych i BSS, zmapowanie go do procesu oraz wyzerowanie BSS
• utworzenie i zmapowanie segmentu dla stosu i umieszczenie argumentów wywołania programu na stosie
• ustawienie rejestrów i skok do początkowego adresu
ZMAGIC
• redukuje zbędne stronicowanie, kosztem przestrzeni dyskowej
• nagłówek ma tylko 32 bajty, a jest mu przydzielane aż 4kB
• dziura między danymi kodem a danymi wynosi średnio 2kB (połowa rozmiaru strony)
QMAGIC
• ZMAGIC z poprawionymi niedoskonałościami MS-DOSowe pliki EXE
Pliki typu EXE są poprzedzone specjalnym nagłówkiem. W nagłówku tym jest zapisany punkt startu programu, wielkość programu oraz inne (bardzo ważne) informacje. Poniżej w tabeli przedstawiony został typowy nagłówek pliku EXE:
onse, |
Nazwa |
Rozmiar |
Zawartość |
0 |
char signature[2] |
2 |
4DH i 5AH - symbol pliku typu EXE ('MZ' lub 'ZM') |
2 |
short lastsize |
2 |
Długość ostatniej strony (strona 512 bajtów) |
4 |
short nblocks |
2 |
Długość programu razem z nagłówkiem w stronach 512 bajtowych |
6 |
short nreloc |
2 |
Liczba elementów w tablicy przemieszczeń, czyli liczba 4-bajtowych rekordów, znajdujących się w niesformatowanej części nagłówka |
8 |
short hdrsize |
2 |
Rozmiar nagłówka w paragrafach 16 bajtowych |
AH |
short minalloc |
2 |
Minimalna pamięć potrzebna ponad program (w paragrafach) |
CH |
short maxalloc |
2 |
Maksymalna pamięć potrzebna ponad program (w paragrafach) |
EH |
2 |
Przesunięcie segmentu SS (do ustalania SS na początku programu) | |
10H |
void far *sp |
2 |
Wartość rejestru SP na początku procesu |
12H |
short checksum |
2 |
Suma kontrolna (zanegowana suma wszystkich bajtów w pliku), nie używana przez DOS |