1. Kann man das A20 Gate im Realmode nutzen wenn ja hat es einen Sinn?
Nein. Im Realmode kannst du nur 1MB adressieren.
2. Funktioniert Multitasking im Realmode gut oder überhaupt?
Es macht keinen Sinn.
3. Wie funktioniert das mit den Segmenten + Offsets in Assembler?
Das Segment wird in den Segmentregistern (cs, ds, es, fs, gs) gespeichert. Du gibst dann bei den Befehlen ein Segmentregister + ein Offset an. Aus dem Segment + Offset wird dann die physische Adresse errechnet, nämlich als (Segment * 16) + Offset. Ein kleines Beispiel:
mov ax, ds:[0xdead]
Das ds kann man in dem Fall auch weglassen, da standardmäßig ds als Segmentregister genommen wird, d.h.:
mov ax, [0xdead]
hat den gleichen Effekt. Hinzuzufügen ist auch noch, dass das Intel Syntax ist (im Gegensatz zur AT&T Syntax).
edit: Ich dachte jetzt an realmode Segment+Offset, falls du das im Bezug auf Protected-Mode meintest, sag was
btw. mit grub bist du direkt im protected-mode (nicht mehr im realmode) und das A20 Gate wurde auch bereits aktiviert.