Einzelnen Beitrag anzeigen

tommie-lie
(Gast)

n/a Beiträge
 
#39

Re: Eigenes Betriebssystem schreiben ?

  Alt 22. Jan 2004, 21:19
Zitat von mwiesbau:
wenn du mich wegen meines kürzlich geschriebenen Textes korrigieren möchtest dann muss ich dich doch auch fragen warum du glaubst der kernel müsse ein EXE file lesen können.
Hmm, hast eigentlich Recht, einen Prozess zu erzeugen reicht theoretisch schon, wenn man den aufrufenden Prozess die Binärdatei einlesen und relozieren lässt. Theoretisch kann man das auch so machen, klappt wunderbar.
Problematisch wird es nur dann, wenn auch andere leute außer der eigentliche Hersteller Programme schreiben sollen, die andere Dateien laden, dann kann nämlich theoretisch jeder sein eigenes Süppchen kochen. Das Laden kann schnell zu eienm Chaos werden, wenn sich nciht jeder exakt an den Standard hält. Deswegen sollte man entweder in den Kernel oder in die Laufzeitbibliothek eine Funktion einbauen, die eine Binärdatei in einem fest definierten Rahmen lädt, ohne daß jeder da selber was rumbasteln kann.

Zitat von mwiesbau:
Ich würde einmal behaupten für den kernel muss es keine exe sein (siehe linux).
Habe ich gesagt, daß der Kernel selbst eine EXE sein muss?
Aber im nachhinein: er sollte eine relozierbare Binärdatei sein (ELF, PE32, was auch immer man gerne hätte), damit erspart man sich das Leben ungemein. Der Lader muss natürlich ein Flat Binary ohne jegliche Header sein, immerhin muss er von einem Programm geladen werden, das kleiner als 512 Bytes ist. Der Kernel selbst sollte im Sinne der Zukunftsplanung an beliebige Stellen im Speicher geladen werden können, das ist zwar am Anfang von der Implementierung her schwerer, erleichtert aber späetere Erweiterungen. Genauso sieht es mit den Treibern aus, feste Speicherpositionen limitieren hier die Menge an Treibern und machen spätere Erweitrungen schwieriger.

Zitat von mwiesbau:
Ich möchte dir deine fähigkeiten in puncto Betriebsystem programmierung nicht abstreiten, jedoch gehört meiner meinung etwas mehr zu einem forumsbeitrag als diverse abküzungen in so stark vereinfachtem text, dass es darin genau so gut um das destillieren von wasser gehen könnte.
Ich bin mir nicht sicher, ob wie von dem gleichen Beitrag reden
Wo benutze ich Abkürzungen, die nicht allgemeinverständlich sind? IN und OUT sind Intel-Mnemonics, soll ich die erklären? API ist bekannt und wird sogar vom Forum erklärt, GPC ist einfach ein Name, ähnlich wie GCC (jaja, GCC = GNU Compiler Collection, ursprünglich GNU C Compiler -- GPC = GNU Pascal Compiler).

Daß es um das Destillieren von Wasser gehen könnte kann ich auch nicht nachvollziehen.
In dem Teil als Antwort auf dizzy merke ich an, daß Assembler in einem Kernel nicht notwendig und meist auch überflüssig(e Arbeit) ist. Dabei gehe ich einfach mal davon aus, daß Leute, die ein Betriebssystem schreiben wollen, wissen, was eine LDT und eine GDT beim x86er ist und wa die Aufgaben eines Schedulers sind. Ich hoffe daß ich "C" und "Pascal" als Fremdwort anführen darf...
In dem Teil als Antwort auf deinen Beitrag sage ich konkret, daß eine Erweiterung von Linux für einen Anfänger sinnlos da aussichtslos und zu komplex ist, um einen praktischen Nutzen zu haben (klar, komplex ist es nicht, wenn man einen Tastaturtreiber schreibt, aber wieviele tausend Tastaturtreiber für Unixe gibt es schon, die verhältnismäßig eifnach portiert werden können? Praktischer Nutzen wäre gleich Null...). In dem Teil unter dem Strich zähle ich die Probleme auf, die Delphi-Quellcode macht und merke an, daß es unnötig ist, daß ein Betriebssystem sich um die Interpretation eines Quellcodes macht. Interpretation ist (auch wenn Sun das anscheinend anders sieht...) schon seit 2 Jahrzehnten außer Mode und ein JIT-Compiling ist in meinen Augen (auch wenn MS das anscheinend anders sieht) so hilfreich wie ein Kropf.

Zitat von mwiesbau:
Kritisiere mich nicht auf diese art wenn du selbst nicht Perfekt bist.
Ich habe nicht behauptet ich sei Perfekt und ich habe nicht nicht herablassend kritisiert. Zugegeben mein Schreibstil ist teilweise sehr zynisch, aber ist nicht herablassend gemeint.
Ich bin für Kritik immer offen, wenn ich sie aber (wie oben) einfach wiederlegen kann, finde ich solche Sätze wie den eben zitierten ("Kritisiere mich nicht...") unverschämt und frech. Sowas kann man meiner Meinung nach sagen, wenn die Diskussion beendet ist und es erwiesen ist, daß ich dich zu unrecht von oben herab behandelt habe, aber nicht so.



@Pheonix: Eigentlich war es ein Terminalemulator, weil ihm das von Minix zu beschränkt war. Zu dem Terminalprogramm kam ein Festplatten- und Dateisystemtreiber hinzu, damit er Dateien von dem Uni-Server runterladen konnte. Irgendwann kam ihm die Idee, daß es ja schon fast ein Betriebssystem sei, wenn er jetzt noch Dateien ausführen kann und eine anständige Speicherverwaltung implementiert, und so hat er sich auf den Weg gemacht, seinen Terminalemulator in einen "GNU-Emacs unter den Terminalemulatoren" (Zitat aus Just for Fun) zu machen und baute alles ein, was ein Terminalemulator gar nicht braucht (ein Spülbecken suche ich bis heute allerdings vergeblich... liegt vermutlich am fehlenden Wasseranschluss in meinem Zimmer, vielleicht sollte ich einen Schlauch vom Bad in den Rechner legen...)


P.S.: ISBN von "Just for Fun": 3-423-36299-5
  Mit Zitat antworten Zitat