Teil 1 - Entwicklungsumgebung — Änderungen 6285 → 6287

Zeile 12: Zeile 12:
  
 
== Dein Betriebssystem ==
 
== Dein Betriebssystem ==
−
Eine Stufe weiter kommen wir zum Betriebssystem. Da Dein eigenes Betriebssystem noch nicht fertig ist, wirst Du vorerst mit einem bestehenden vorlieb nehmen müssen. Hast Du ein [[Linux]] installiert? Wunderbar, nimm das. Oder eine BSD-Variante. Man kann ebenso problemlos mit einem PC mit MS Windows entwickeln. Hierzu empfiehlt sich Cross-Compiler und msys, damit man in makefiles Linux-analoge Programme wie cp (anstelle copy) und rm (anstelle delete) verwenden kann.
+
Eine Stufe weiter kommen wir zum Betriebssystem. Da Dein eigenes Betriebssystem noch nicht fertig ist, wirst Du vorerst mit einem bestehenden vorlieb nehmen müssen. Hast Du ein [[Linux]] installiert? Wunderbar, nimm das. Oder eine BSD-Variante. Mit Windows kann man nicht ganz so problemlos arbeiten, aber auch das ist möglich. Hierzu empfehlen sich Cross-Compiler und msys, damit man in Makefiles UNIX-Befehle wie cp (anstelle copy) und rm (anstelle delete) verwenden kann.
  
−
Eine Linux-Live-CD, z.B. Knoppix, oder ein Linux-System auf einer virtuellen Maschine wie [[VMware|VMware Server]], [[VirtualBox]] oder [[Microsoft Virtual PC]] bietet eine Alternative zu einer vollständigen Linux-Installation.
+
Wenn du kein Linux installiert hast, kannst du auch eine Linux-Live-CD wie z.B. Knoppix verwenden. Es ist natürlich auch möglich, ein Linux-System auf einer virtuellen Maschine wie [[VMware|VMware Server]], [[VirtualBox]] oder [[Microsoft Virtual PC]] zu installieren.
  
 
== Dein Editor ==
 
== Dein Editor ==
Zeile 27: Zeile 27:
  
 
Außerdem brauchst Du einen Assembler. Wenn gcc läuft, hast Du schon einen: <i>as</i> ist der GNU-Assembler und ist in binutils enthalten.
 
Außerdem brauchst Du einen Assembler. Wenn gcc läuft, hast Du schon einen: <i>as</i> ist der GNU-Assembler und ist in binutils enthalten.
−
Ansonsten verwendet man den heute üblicherweise eingesetzten NASM.
+
Ansonsten werden bei der Betriebssystementwicklung häufig [[NASM]] oder [[FASM]] verwendet.
  
 
== Dein Emulator ==
 
== Dein Emulator ==
Zeile 54: Zeile 54:
 
Um ein größeres Stück Software zu entwickeln (erfahrenere Programmierer werden mir zustimmen, dass "größer" hier bei mehr als einem Hello-World-Programm anfängt), ist es unverzichtbar eine [[Versionsverwaltung]] zu benutzen. Das gilt vor allem bei der Entwicklung im Team, aber auch bei Ein-Mann-Projekten ist sie sinnvoll. Die Grundidee ist, dass jedesmal, wenn ein Stück Arbeit erfolgreich erledigt ist, der aktuelle Quellcode in der Versionsverwaltung mit einer passenden Beschreibung gesichert wird. Dadurch kann man später nachvollziehen, wer wann was warum geändert hat. Wenn etwas schiefläuft, kann man zu einer alten Version zurückkehren, entweder um die seither gemachten Änderungen rückgängig zu machen oder um die Änderung herauszufinden, die einen Fehler verursacht hat.
 
Um ein größeres Stück Software zu entwickeln (erfahrenere Programmierer werden mir zustimmen, dass "größer" hier bei mehr als einem Hello-World-Programm anfängt), ist es unverzichtbar eine [[Versionsverwaltung]] zu benutzen. Das gilt vor allem bei der Entwicklung im Team, aber auch bei Ein-Mann-Projekten ist sie sinnvoll. Die Grundidee ist, dass jedesmal, wenn ein Stück Arbeit erfolgreich erledigt ist, der aktuelle Quellcode in der Versionsverwaltung mit einer passenden Beschreibung gesichert wird. Dadurch kann man später nachvollziehen, wer wann was warum geändert hat. Wenn etwas schiefläuft, kann man zu einer alten Version zurückkehren, entweder um die seither gemachten Änderungen rückgängig zu machen oder um die Änderung herauszufinden, die einen Fehler verursacht hat.
  
−
Welche Software Du dazu benutzt, ist mehr oder weniger egal, solange Du überhaupt eine benutzt. Mein Vorschlag an dieser Stelle ist [[git]], das in seinem eigenen Artikel näher beschrieben wird. Man kann aber auch ein Versionsverwaltungssystem auf http://sourceforge.net/ verwenden.
+
Welche Software Du dazu benutzt, ist mehr oder weniger egal, solange Du überhaupt eine benutzt. Mein Vorschlag an dieser Stelle ist [[git]], das in seinem eigenen Artikel näher beschrieben wird.
  
 
{{Navigation
 
{{Navigation