AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Eigenes Betriebssystem schreiben ?

Ein Thema von shareholder · begonnen am 10. Jan 2004 · letzter Beitrag vom 5. Apr 2004
Antwort Antwort
Seite 4 von 5   « Erste     234 5      
Plague

Registriert seit: 6. Okt 2003
591 Beiträge
 
#31

Re: Eigenes Betriebssystem schreiben ?

  Alt 14. Jan 2004, 20:29
nagut, du hast mich überzeugt. Aber mal kurz und knapp, mit welcher Programmiersprache kann man ein Betriebssystem programmieren?

  Mit Zitat antworten Zitat
neolithos

Registriert seit: 31. Jul 2003
Ort: Dresden
1.386 Beiträge
 
Delphi 7 Architect
 
#32

Re: Eigenes Betriebssystem schreiben ?

  Alt 14. Jan 2004, 20:37
Nicht die Programmiersprache ist entscheidend!

Sondern wie die Binärdateien aussehen!
- ciao neo -
Es gibt niemals dumme Fragen, sondern nur dumme Antworten!
  Mit Zitat antworten Zitat
w3seek
(Gast)

n/a Beiträge
 
#33

Re: Eigenes Betriebssystem schreiben ?

  Alt 14. Jan 2004, 20:39
du kannst ja gerne mal bei uns vorbeischauen wir haben wohl etwa 0.5% asm, der rest ist Ansi C und ein ganz minimaler Teil noch C++
  Mit Zitat antworten Zitat
Benutzerbild von mwiesbau
mwiesbau

Registriert seit: 27. Mai 2003
57 Beiträge
 
Delphi 7 Enterprise
 
#34

Re: Eigenes Betriebssystem schreiben ?

  Alt 20. Jan 2004, 11:10
Hallo TommiLi,

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.

Ich würde einmal behaupten für den kernel muss es keine exe sein (siehe linux).


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.


Kritisiere mich nicht auf diese art wenn du selbst nicht Perfekt bist.

Danke.
qui s'excuse, saccuse
(Wer sich entschuldigt, klagt sich an)
  Mit Zitat antworten Zitat
Benutzerbild von Pseudemys Nelsoni
Pseudemys Nelsoni

Registriert seit: 24. Dez 2002
Ort: Hamburg-Harburg
3.551 Beiträge
 
#35

Re: Eigenes Betriebssystem schreiben ?

  Alt 20. Jan 2004, 11:21
nachdem ich gelernt habe wie man variablen deklariert und ihnen was zuweist, wollte ich auch gleich n OS coden


naja
Mario
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.641 Beiträge
 
#36

Re: Eigenes Betriebssystem schreiben ?

  Alt 20. Jan 2004, 11:22
Also Linus hat mit einem Editor angefangen. Um vom System (damals Minix) unabhängig zu sein hat er begonnen, einen Bootloader und eine komplette Laufzeitumgebung für seinen Editor zu programmieren. Im Prinzip ein OS das für ein einziges Tool programmiert wurde.

Dafür hat er 2 Monate gebraucht, und der Code (ja, ASM) war haarsträubend. Aus reiner Neugier wie es besser ginge wurde daraus dann Stück für Stück der erste Linux-Kernel (Nachzulesen in 'Just for Fun', Linus Torvals, ISBN hab ich leider grad nich bei Hand, aber Amazon sollte da weiterhelfen ).

Es geht also, es ist ein riesen-Aufwand, aber man lernt dabei Unmengen über seinen Rechner.

Übrigens: Um seine Sourcen für das neue System auch auf dem laufenden System zu kompilieren (und erst dann ist es wirklich ein OS: wenn es auf sich selber aufbauen kann und von anderen OS's unabhängig ist) musste er freilich einen eigenen Compiler schreiben. Er konnte allerdings viel vom damals vorhanden C-Compiler für Minix benutzen, da er sich auch an den Posix-Standard halten wollte.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
frankg

Registriert seit: 20. Mai 2003
Ort: Wetter
72 Beiträge
 
Delphi 7 Architect
 
#37

Re: Eigenes Betriebssystem schreiben ?

  Alt 20. Jan 2004, 11:49
Hallo Leute!

Ein interessantes Buch zum Thema OS ist das Buch Operating System Concepts von Silberschatz, Galvin und Gagne. Da ist sogar ein kleines Betriebssystem zum Spielen (heisst glaube ich Nachos) beschrieben, dass man sich aus dem Internet saugen kann und dann einfach mal probieren kann. Ich fand die Beschreibung der einzelnen Bertriebssystem-Teile recht anschaulich und verständlich.

Viele Grüsse

Frank
  Mit Zitat antworten Zitat
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#38

Re: Eigenes Betriebssystem schreiben ?

  Alt 20. Jan 2004, 12:53
..ihr seid ja alle so negativ eingestellt
.. klar kann man ein OS auch alleine schreiben, siehe Linus Torvalds (Linux)
.. zumindest das Grundgerüst - I/O, Speichermanagement, ....

.. am besten nimmt man sich wie der gute Linus ein vorhandenes Betriebssystem, wie es auch Linus gemacht hat (Unix), und benutzt ähnliche vorgehensweisen wie es dieses OS anbietet...

...aber mindestens nen Jahr bist du aber daran...

.. das meiste wurd ja schon in den Beiträgen vor mir schon gesagt und gute Links zu
diesem Thema wurden auch gesetzt...

.. also nicht entmutigen lassen, ran an den Speck ... (sehr gute ASM -Kenntnisse sind Pflicht)

und in einem Jahr stellst du das Grundsystem uns dann mal vor

..also diese Jahr kein Urlaub und nix sonstiges machen, hast ja keine Zeit dafür ...

bis bald
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
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
Benutzerbild von Stanlay Hanks
Stanlay Hanks

Registriert seit: 1. Mär 2003
2.078 Beiträge
 
Delphi 2005 Professional
 
#40

Re: Eigenes Betriebssystem schreiben ?

  Alt 22. Jan 2004, 21:35
Ich hab mir jetzt die x Seiten im DF nicht durchgelesen, weil ich nach der ersten schon lachend auf dem Boden gelegen bin ...

Aber ich frage mich immer wieder, wie die Leute darauf kommen: "Ich programmier mir mein eigenes Betriebssystem - kann ja nicht soooo schwer sein"

Das soll jetzt keine Kritik sein, aber wieviele wirklich gute und verbreitete (was sich nicht unbedingt bedingt ) Betriebssysteme gibts denn? Die kann man wahrscheinlich an zwei Händen abzählen, oder? Ich persönlich beschränk mich lieber auf Delphi, sollte ich das mal wirklich perfekt können, schau ich weiter

Man liest sich, Stanlay
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 5   « Erste     234 5      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:24 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz