Wie entwickeln Leute an einem Betriebssystem?

Hallo Community,

mich würde einmal interessieren wie Leute beispielsweise an einem Betriebssystem programmieren. Was machen die Leute wenn sie ihren Code mal testen wollen? Müssen die dann das ganze Betriebssystem kompilieren und auf einem Rechner installieren? Oder gibt es da so Emulatoren wie beispielsweise für die Android App Entwicklung?

Ich hab da überhaupt keine Vorstellung von wie das ganze von statten gehen soll - ist ja nicht gerade wenig Code den man kompilieren müsste...

Grüße,
Sperber
 
Müssen die dann das ganze Betriebssystem kompilieren und auf einem Rechner installieren? Oder gibt es da so Emulatoren wie beispielsweise für die Android App Entwicklung?

Ich vermute, dass sowas in VMs von statten geht. Also kompilieren müssen sie es auf jeden Fall und installiert bzw ausprobiert wird dann vermutlich in VMs.
 
Ich vermute, dass sowas in VMs von statten geht. Also kompilieren müssen sie es auf jeden Fall und installiert bzw ausprobiert wird dann vermutlich in VMs.

Eher nicht. Entwickler von PC/Serversystemen arbeiten auf den nativen Systemen weil man sonst zu sehr von den (unterm schnitt) eher beschissenen Implementierung (abgesehen von Sun) von VMs, die auch die Eigenheiten von Hardware nicht komplett "durchreichen".

Abgesehen davon sind Betriebssysteme und deren Entwicklung wesentlich älter als VMs.
 
Es kommt darauf an, an welchen Komponenten des Systems man arbeitet. Bei Treibern ist es natürlich notwendig ohne VMs u.ä. zu arbeiten. Allerdings lassen sich Treiber bei allen modernen Systemen unabhängig vom System kompilieren. Weiterhin sind die meisten Betriebssysteme modular aufgebaut, so dass es reicht nur die entsprechenden Module, die man geändert hat zu Kompilieren. Tools wie 'make' erkennen ausserdem, welche Source-Dateien sich geändert haben und kompilieren und linken nur die notwendigen Teile des Systems. Daher ist es, wie Chromatin schon richtig sagte, eher ungewöhnlich Betriebssysteme in VMs zu entwickeln, da die meisten VMs einfach scheisse implementiert sind. In VMs entwickelt man nur die Teile, die zur Virtualisierung relevant sind.
 
Zurück
Oben