Hi, Ich versuche gerade mit dem Tutorial von Henkessoft mein eigenes Betriebssystem zu programmieren. Ich bin schon beim C- Kernel und komme nicht mehr weiter. Alles funktioniert soweit, es gibt aber keine Ausgabe. Hier ist noch die adresse der Seite: http://www.henkessoft.de/OS_Dev/OS_Dev1.htm Ich hoffe ihr könnt mir helfen. - IdeCmos EDIT: Sorry habs fast vergessen. Ich arbeite unter dem Betriebssystem Ubuntu 10. 04.
Mir ist vor allen Dingen nicht klar, was er sich jetzt vom Forum erwartet. Er ist der Betriebssystem-Schreiber. Da bleibt es nicht aus, dass man sich mit der Organisation des Bildspeichers in einer Grafikkarte und wie man da Zeichen rauskriegt rumschlagen muss. Ein sog. Tutorial durchlesen, die angebotenen Downloads runterladen und laufen lassen, kann jeder. Deswegen ist man noch lange kein Betriebssytem-Programmierer.
...stimmt. Und du musst noch die Defines alle einbinden! Diesen hier auch nicht vergessen: #define QUESTION b||!2b
#define QUESTION 2b||!2b Sorry. Das konnte ich dem alten Schüttelbier nicht antun.
Danke, das ihr zurückgeschrieben habt. ich erlerne die systemprogrammierung gerade, muss also noch was dazulernen. Oliver, was muss ich in zeile 42 ändern und , Dennis, was für defines muss ich alle einbinden.
Manuel O. schrieb: > was > muss ich in zeile 42 ändern Das sagt dir google, wenn du einfach mal nach "42" suchst. Wie Karl Heinz schon sagte, ist deine Frage nicht zu beantworten. "Ich will mir ein Auto bauen, aber es fährt nicht. Was kann man da machen?" Die Anwort könnte lauten: Lern halt Autos bauen. Oliver
Hi, Entschuldigt wenn ich gerade nicht eingelockt, bin gerade in der Schule. Ich lerne gerade mit dem Tutorial ein OS zu programmieren und komme mit dem C- Kernel nicht weiter. Ich habe alles so gemacht wie es in dem Tutorial heißt, und trotzdem kommt einfach keine Ausgabe. Hat etwa die Zeile 42 was damit zu tun das keine Zeichen ausgegeben werden. Ich hoffe ihr könnt mir jetzt helfen. könnt ihr mir ein Forum empfehlen, in der ich bessere Hilfe bekommen. - Idecmos
IdeCmos schrieb: > Hi, > Entschuldigt wenn ich gerade nicht eingelockt, bin gerade in der Schule. > Ich lerne gerade mit dem Tutorial ein OS zu programmieren und komme mit > dem C- Kernel nicht weiter. Ich habe alles so gemacht wie es in dem > Tutorial heißt, und trotzdem kommt einfach keine Ausgabe. Das heißt nur, dass du den/die vorhergehenden Schritte nicht verstanden hast. Du stehst an dem Punkt an dem dein OS etwas ausgeben muss. Das macht es laut Tutorial dadurch, dass es selbst direkt in den Bildschirmspeicher schreibt. Und da wird halt irgendwas schief gehen. Denn im Grunde ist die Situation ja wohl die: Dein ganzes OS läuft unter einem Emulator, der dem Programm einen nackten PC vorspiegelt. D.h. du bist mit deinem OS nicht alleine auf der Maschine. Aber: es ist die vornehmste Aufgabe des darunter liegenden Betriebssystems genau das zu verhindern! Man kann nicht einfach an der Hardware rumfuhrwerken, wie man gerne möchte. Wenn dein Programm aber alleine (also ohne Emulator) auf dem PC läuft, dann hast du die Hardware für dich alleine. Dann kannst du in den Speicher schreiben, wie du lustig bist. Dann wird halt irgendwas in der Initialisierung der Grafikkarte nicht stimmen oder dein C Programm schreibt ganz woanders in den Speicher oder, oder, oder. Da gibt es tausende Möglichkeiten, was alles schief gehen kann. Aber: Da musst du durch! Betriebssystem schreiben lernt man nicht durch ein Tutorial. Das lernt man auf unterster Ebene durch praktische Erfahrung viel probieren. Bzw. auf den höheren Schichten, indem man die Dinge studiert (wie funktionieren Scheduler, welche Möglichkeiten gibt es, etc. etc.) Aber die Treiberebene, und genau da stehst du jetzt, die ist vor allen Dingen eines: Handbuchstudium, wie die Hardware angesteuert werden will und viel probieren und testen. Da ist es mit einem Tutorial alleine nicht getan. Und ja: das kann schon sein, dass man da Tage drann hängt. Aber: Wer ein OS schreiben will, der muss diese Dinge alle beherrschen. Und: er muss auch für sich Methoden rausfinden, wie er den Sachen nachgehen kann, wenn etwas nicht funktioniert. Denn das ist noch der leichtere Teil der ganzen Übung. Ich wüsste jetzt beim besten Willen nicht, wie wir dir da jetzt irgendwie weiterhelfen können. In deinem Tutorial wird haarklein beschrieben, wie und wo die Ausgabe durch einschreiben von Werten in den Display-Speicher funktioniert. Da wird halt irgendwo was schief gehen, bzw. irgendeine Schicht hindert das Programm daran, ausgerechnet dort reinzuschreiben.
Es würe z.B. helfen, wenn du deinen Quellcode posten würdest. Dann könnten wir dir bei der Fehlersuche helfen. Wenn du des Englischen mächtig bist, dann schau mal unter www.osdev.org nach. Dort findest du eine Wiki und ein Forum, speziell für die Betriebssystementwicklung. Und unter www.lowlevel.eu findest du eine deutschsprachige Community mit vielen Artikeln und einem (nicht mehr ganz so aktiven) Forum.
IdeCmos schrieb: > Hat etwa die Zeile 42 was damit zu tun Da du es trotz der vorangegangenen Hinweise noch nicht geschnallt hast, hier nochmal ganz explizit: http://de.wikipedia.org/wiki/42_%28Antwort%29
Hallo Joerg, der Link passt nicht ganz, bei mir wird die letzte Klammer nicht hinzugenommen, das verweisst auf einen andere Seite (die gelöscht wurde) , vielleicht magst Du es korrigieren ... Erik
Erik L. schrieb: > der Link passt nicht ganz, bei mir wird die letzte Klammer nicht > hinzugenommen, das verweisst auf einen andere Seite (die gelöscht wurde) > , vielleicht magst Du es korrigieren ... Das bezieht sich auf eine Passage aus der Bibel (auch als http://de.wikipedia.org/wiki/Per_Anhalter_durch_die_Galaxis bekannt) die als ultimative Antwort "42" - im Original (gesprochene Fassung wurde vor der schriftlichen Fixirung der Bibel verbreitet) als "The answer .. is .. Fourty Two" wiedergegeben. Die eigentliche Göttliche Weisheit wird in den Passagen danach offenbart: "The problem is, that you dont understand what the answer means, if you dont know what the question is" (oder ähnlich - ich war noch nie perfect im Bibel zitieren). Auf den Thread bezogen bedeutest es wohl, das dir eine Antwort nicht nützt, da Dir das eigentliche Problem nicht bewußt ist. Howgh!
Erik L. schrieb: > bei mir wird die letzte Klammer nicht hinzugenommen Ja, klar, übliches Problem. Habe den Link korrigiert.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.