Autor Thema: OS-Programmierer gesucht  (Gelesen 8250 mal)

Integence

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« am: 08. May 2011, 18:58 »
hallo leute
ich bin ein 15-jähriger programmierer und bin seid einigen wochen dabei, ein betriebssystem zu programmieren (ich wollte das schon lange und ich kenne mich gut mit computern aus). da das alleine ziemlich langweilig ist, suche ich einen "partner", mit dem ich zusammen das system entwickeln kann.
er sollte möglichst auch ein jugendlicher sein (es kann auch eine sein  :wink:) und skype haben. aber ich bin auch für andere leute offen, also meldet euch  :-).

grüße,
integence

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 08. May 2011, 19:37 »
Hast du dir schon überlegt, dich einem bestehenden Projekt anzuschließen?

Die Wahrscheinlichkeit, dass jemand hier Lust hat, zusammen mit einem Anfänger was neues anzufangen, schätze ich als relativ niedrig ein. Zum einen, weil hier sowieso jeder schon ein Projekt hat, und zum anderen, weil niemand weiß, was du eigentlich genau vorhast. Wenn es also unbedingt dein eigenes Projekt sein soll, ist es wahrscheinlich hilfreich, ungefähr zu beschreiben, wohin du denkst, dass die Reise gehen soll.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Integence

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 08. May 2011, 20:14 »
Jaa habe ich auch schon, aber ich bin noch ein ziemlicher Anfänger, sodass ich nicht gut genug für die ganzen Projekte bin.

Imöchte ein kleines OS programmieren. Zunächst nur mit Hardware & Dateisystemtreibern und einer kleinen Shell. Danach wollte ich in den Bereich Netzwerktechnik übergehen.
Aber wie gesagt bin ich noch sehr am Anfang.

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 09. May 2011, 01:17 »
Du bist nicht der erste, der mit so einer Anfrage ankommt. Soviel mal vorweg. :-)

Wie taljeth gesagt hat, die meisten hier haben ihre eigenen Projekte oder kein Interesse am selbst programmieren. Das, was du da als "klein" bezeichnest, ist durchaus eine Arbeit von 1-2 Jahren für eine Person wenn es mehr als nur humpeln soll.

Entweder du machst etwas an deinem OS krass anders als die große Mehrheit, dann kriegst du vielleicht Interessenten, aber sonst würde ich da keine falschen Hoffnungen wecken wollen. Viele Projekte stehen noch am Anfangsstadium oder nicht zu weit weg davon, da könntest du dich sicherlich auch als Anfänger gut zurechtfinden.

Gruß,
Svenska

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 09. May 2011, 10:15 »
Hallo Integence,


wenn Du denkst das Du nicht gut genug für die Projekte anderer Leute (meist ebenfalls Anfänger) bist warum denkst Du dann das Du mit einem eigenen Projekt mehr Erfolg haben wirst?

Außerdem hast Du noch nichts über Deine Ziele verraten. Da ist Micro-Kernel vs. Monolith nur eine von sehr vielen Entscheidungen die es zu treffen gilt. Soll Dein OS eher performant oder eher elegant designet werden, oder beides? Wie stellst Du Dir die Speicherverwaltung im OS-Kernel selber aber auch im User-Space vor? Soll überhaupt zwischen User-Space und Kernel-Space unterschieden werden? Um all diese Fragen wirklich beantworten zu können sollte man auch einigermaßen überblicken welche Konsequenzen die jeweiligen Lösungen haben. Oder man entscheidet eher nach dem Zufallsprinzip und coded fröhlich drauf los und schaut sich hinterher an was draus geworden ist (diesen Ansatz verfolgen hier eine Menge Leute). Dabei wirst Du aber wohl mehr als nur ein OS entwickeln weil Du irgendwann merkst das eine frühere Entscheidung doch nicht so ideal war und Du nun etliches neu Programmieren kannst oder Du fängst dann wieder gleich ganz von vorne an.

Zunächst nur mit Hardware & Dateisystemtreibern und einer kleinen Shell.
Aha, so ganz grob würde ich mal behaupten ist selbst tyndur nicht sehr viel mehr als eine kleine Sammlung von Treibern (Hardware und Dateisysteme) um einen Micro-Kernel mit seiner Personality und einer brauchbaren Shell. Aber es gibt bei tyndur immerhin schon einen TCP/IP-Stack und erste Ansätze für Audio und GUI. Ansonsten sind IMHO nur noch die bereits existierenden/portierten Programme zu erwähnen, aber dafür benötigt man eigentlich nur eine gute Basis und eine ausreichende libc. Wimre stecken in tyndur bereits über 10 Mann-Jahre Arbeit drin (und es wird gerade fleißig am zweiten Kernel gearbeitet), mal so als Anhaltspunkt.

Danach wollte ich in den Bereich Netzwerktechnik übergehen.
Auch sehr interessant aber leider nicht sehr Aussagekräftig. Möchtest Du da eher in die Entwicklung von Hardware gehen oder bleibt es auf der Software-Seite? Einer guter Treiber für eine moderne Ethernet-Karte ist alleine schon ein dickes Projekt. Wenn Du Dinge wie multiple TX/RC-Queues zusammen mit MSI und TCP/UDP-Offloading benutzen möchtest dann ist das schon eine echte Herausforderung. Nebst dessen das dafür das zugrunde liegende OS schon eine ganze Menge an Features braucht, selbst die größeren unter den kleinen Community/Hobby-OSen können da nicht mal annähernd mithalten.


Ich persönlich empfehle Dir Dich erst noch ein wenig mit der Theorie zu beschäftigen und dann einem anderen Projekt anzuschließen.

Egal wie Du Dich letztlich entscheidest wünsche ich Dir trotzdem viel Erfolg beim Erreichen Deiner Ziele.


Grüße
Erik (der auch gerne Unterstützung haben würde ;) )
Reality is that which, when you stop believing in it, doesn't go away.

DerHartmut

  • Beiträge: 236
    • Profil anzeigen
    • Mein Blog
Gespeichert
« Antwort #5 am: 09. May 2011, 17:31 »
Hi und erst einmal willkomen im Forum,

da du dich selbst als Anfänger bezeichnest würde ich dir raten, bei einem schon bestehenden Projekt mitzumachen. Irgendwo gibt es immer Arbeit und man wächst an seinen Aufgaben. Deshalb kann es gerade für dich als Anfänger gut sein mit erfahrenen Betriebssystem-Entwicklern zu arbeiten, du kannst viel von einem bestehenden und in sich in Arbeit befindenen System lernen, du kannst auch einiges über den Aufbau herausfinden oder wie halt gerade diese Entwickler Problem X gelöst haben.

Natürlich seien dir keine Steine in den Weg gelegt wenn es in Richtung "eigenes OS" geht - doch lass dir gesagt sein, dass es kein leichter Weg ist. Vielleicht ist es wirklich für dich anfangs besser, wenn du dich alleine einem OS-Projekt widmest. Nicht, damit dieses OS irgendwann das tollste der Welt wird und tyndur überholt, sondern einfach, damit du für dich in deinem eigenen Tempo alles erlernen kannst, schauen kannst, die du am besten Problem X löst und Funktion Y implementierst. Dabei kannst du dir den Quellcode anderer Betriebssysteme zur Hilfe holen - doch hier lautet die Divise "Nur gucken, nicht anfassen". Denn schon oft gab es Leute die stur und blind irgendwelchen Code von anderen Betriebssystemen kopiert haben und sich dann beschwert haben, dass da irgendetwas nicht funktioniert und uns dann fragen, wieso es nicht funktioniert. Das ist nicht nur frech sondern auch schlicht und ergreifend dämlich, denn so lernst du nichts. Wenn du irgendwann einmal eine strcmp-Funktion kopierst dann ist das nicht weiter schlimm (solange du weißt, was die Funktion macht und warum gerade diese Funktion das so macht wie sie es macht) - aber wenn du anfängst zum Beispiel komplettes Paging zu kopieren kommst du nicht sehr weit.

Sei dir auf jeden Fall im Klaren darüber, dass du im Alleingang mit Sicherheit ein Betriebssystem entwickeln kannst (hier seien MyXomycota oder Paloxena oder Xantorix ein Beispiel), du kannst sogar richtig weit kommen, bis zur GUI, das ist kein Problem. Doch es ist immer eine Frage des "Wie" - du kannst dir ein OS mit Netzwerkunterstützung und eigenem IRC-Client zusammenhacken und das in wenigen Tagen - stabil ist das aber nicht und eine gute Grundlage auch nicht (wobei das von mir gerade angesproche Projekt "isynax" schon ein sehr geiles Teil ist, welches unser XanClic da zusammengehackt hat (natürlich nicht mit der Intention daraus das nächste Linux zu machen)). Schau dir tyndur an - da wird seit vielen Jahren herumgeschraubt und "noch ist nicht viel bei rumgekommen", wenn man das jetzt aus Sicht eines Anfängers sagen würde. Ein wenig Klickibunti in einer rudimentären GUI, ein paar portierte Programme und ein paar Treiber. Aber bis es zu dieser Leistung, die mehr als beachtlich ist, kam, waren viele viele Stunden harter Arbeit nötig, mal mit mehr, mal mit weniger Leuten. FreakyPenguin und taljeth, auf denen der Meist Code in tyndur gewachsen ist, können dir da ein Liedchen von trällern.

Also dann, viel Glück beim alleinigen Entwickeln, wir stehen dir im IRC im Channel #lost bei sämtlichen OS-Fragen gerne zur Seite (solange diese sinnvoll sind und du freundlich bist ;-)).
$_="krJhruaesrltre c a cnp,ohet";$_.=$1,print$2while s/(..)(.)//;
Nutze die Macht, nutze Perl ;-)

Integence

  • Beiträge: 3
    • Profil anzeigen
Gespeichert
« Antwort #6 am: 09. May 2011, 20:02 »
Danke schonmal für die vielen Tips!
Vielleicht wurde ich falsch verstanden (kein Vorwurf), aber ich suche auch einen Anfänger, der Lust hätte, sich an die Betriebssystemprogrammierung "heranzuwagen". Oder auch einen Fortgeschrittenen, der bereit ist, mir bei meinem Programm weiterzuhelfen.

Ich weiß selber nicht, warum ich unbedingt  ein eigenes OS programmieren will, aber das ist schon ein Traum von mir, den ich schon habe, seid ich klein bin.
Also wird das ganze erstmal ein Lernprojekt für mich, mal sehen, was draus wird :-)

Integence

rizor

  • Beiträge: 521
    • Profil anzeigen
Gespeichert
« Antwort #7 am: 09. May 2011, 21:12 »
Hallo und auch ein Willkommen von mir!

An deiner Stelle würde ich aus zwei möglichen Wegen wählen.
Du steigst erst mal in ein Projekt ein, das unter Umständen noch in den Kinderschuhen steckt, damit du erst einmal so den grundlegenden Aufbau verstehst und unter Umständen aus den Fehlern deines Partners/deiner Partner lernst und danach ein eigenes Projekt startest, falls du es dann noch machen möchtest.
Der andere Weg wäre erst mal alleine zu starten und selber die ganzen Fehler zu machen (gibt im OS-Dev ja mehr als genug... ich schreibe momentan an meinem dritten Kernel, da die anderen zu buggy und zu langsam waren). Wenn du dann den Überblickt hast, könntest du ja nochmal eine Anfrage absetzen, in der du dann genau sagen kannst was du machen möchtest.

Natürlich musst du nicht alle Fehler alleine machen, wir werden dich unterstützen und versuchen dich von den (für uns) offensichtlichen Fehlern abzuhalten.

Viel Erfolg.

Gruß,
rizor
Programmiertechnik:
Vermeide in Assembler zu programmieren wann immer es geht.

SYN-SYN/ACK-ACK

  • Beiträge: 6
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 13. May 2011, 15:54 »
Kannst du schon programmieren? Um Assembler kommst du nicht rum. Den Kernel kannste in C/C++ schreiben... Aber ich rate dir, dich einem bestehendem Projekt wie DayOS anzuschließen. Da hat man al Programmierer mehr Spaß dran & muss sich meist nicht mehr um so grundlegende Sachen kümmern

sfan

  • Beiträge: 94
    • Profil anzeigen
Gespeichert
« Antwort #9 am: 15. May 2011, 15:55 »
Ein Willkommen auch von mir!
"Aber ich rate dir, dich einem bestehendem Projekt wie DayOS anzuschließen"
Das wäre auch mein Tipp gewesen ^^


Sfan
« Letzte Änderung: 15. May 2011, 15:59 von sfan »

WinSysCompany

  • Beiträge: 2
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 17. July 2011, 22:54 »
Moin moin ich bin neu hir ich konnte dir bei deinem OS helfen ich bin auch grad dabei ein OS zu schreiben https://sourceforge.net/projects/winsysos/files/ https://sourceforge.net/projects/asmallos/files/ oder wir schliessen uns DayOS an was sagst du dazu ???

okay klingt zwar wie "Das ist ein Angebot das du nicht ausschlagen kannst" aber nagut  :-D :-D :-D

sfan

  • Beiträge: 94
    • Profil anzeigen
Gespeichert
« Antwort #11 am: 19. July 2011, 14:58 »
DayOS könnte wohl noch Programmierer gebrauchen!



Sfan
« Letzte Änderung: 01. August 2011, 10:01 von sfan »

 

Einloggen