Warum entwickelt ihr ein Forum OS (Pretty OS)
-
Ich habe im entsprechenden Subforum dazu leider keinen Sticky Thread gesehen
der bschreibt: warum weshalb wieso.Es gibt doch schon x tausend OS, wozu dann noch eins?
-
Sollte doch auf der Hand liegen: zum Lernen und weil's für viele eben keine Arbeit, sondern Spaß ist. An etwas größerem zu basteln macht praktisch immer Spaß, besonders wenn man hin und wieder mal einen weiteren Meilenstein erreicht.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum Rund um die Programmierung in das Forum Projekt: OS-Development verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Es gibt doch schon x tausend OS
Zeige mir mal eines mit einem brauchbaren USB-Treiber, der Daten mit USB-Memory-Sticks austauscht.
warum weshalb wieso
Bei mir fing es aus Interesse an. Meine ersten Gehversuche und Studien habe ich hier fest gehalten: http://www.henkessoft.de/OS_Dev/OS_Dev1.htm
Nach einer gewissen Zeit hat man dann einfach Lust mit anderen zusammen zu denken, zu gestalten und zu testen. So kam es zu diesem Sub-Forum.
-
Erhard Henkes schrieb:
Es gibt doch schon x tausend OS
Zeige mir mal eines mit einem brauchbaren USB-Treiber, der Daten mit USB-Memory-Sticks austauscht.
Beantwortet nicht die Frage, warum ihr PrettyOS schreibt.
Würde beantworten, wenn ihr an MenuetOS oder so werkeln würdet.
-
Man gerät da einfach so hinein, und dann lässt es einen nicht mehr los.
Einen Nutzen außer Erkenntnis und Gestaltungsmöglichkeiten kann man vielleicht im Vermitteln an andere sehen. Da gibt es auch schon einiges, aber z.B. wenig deutschsprachige Tutorials.
-
Es ist schon eine begeisternde Sache, wenn man einen Kernel stabil zum Laufen bekommt und die ersten User-Programme darauf laufen. Die Themen, die zur Zeit anstehen, wie z.B. USB und Netzwerk bieten aber erneut eine große Herausforderung, und wenn man sich völlig verheddert hat, kann man auch von vorne beginnen oder bei anderen einsteigen, oder eben alles parallel.
-
Gerade die Entwicklung und Diskussionen der letzten beiden Monate sind wirklich in gewisser Weise begeisternd. Man lernt und ist gleichzeitig kreativ. Der härteste Lehrmeister ist übrigens die Hardware. Qemu und Co. ist da eindeutig zu lasch.
-
Hallo,
Erhard Henkes schrieb:
Der härteste Lehrmeister ist übrigens die Hardware.
Wenn Du das nicht möchtest solltest Du entweder auf einer anderen Plattform aufsetzen (und nicht auf dem x86-Scheiß) oder Du entwickelst gleich eine eigene Plattform nach Deinen Wünschen und Vorstellungen (ob das dann aber wirklich der leichtere Weg ist darf bezweifelt werden).
Erhard Henkes schrieb:
Qemu und Co. ist da eindeutig zu lasch.
Was ich eher als Bug von Qemu und Co. ansehen würde.
Grüße
Erik
-
Als bei Cuervo, Tobiking und mir auf den PCs EHCI / USB 2.0 erstmalig komplett gelaufen ist, das war so ein Moment, der für die Mühe belohnt.
Man lernt überdies eine Menge an Details, an die man als normaler User oder Programmierer nicht heran geht. Das öffnet Horizonte und schafft ein grundlegendes Verständnis für Windows, Linux & Co.
-
x86-Scheiß
Das sehe ich als übertrieben an. Die grundlegenden Dinge hat man schnell im Griff. Problematisch sind eher die komplexen Bereiche, wie z.B. USB oder Netzwerk. Das hat mit x86 wenig zu schaffen.
-
Nach einem Jahr weiterer Entwicklung sehe ich das noch gleich. x86 macht derzeit noch Sinn, da es in modernen PCs noch verbaut/implementiert wird. ARM ist noch zu wenig verfügbar. Das Problem ist nicht x86, sondern grundsätzlich die Fehlersuche und unterschiedliche Testbasen im Team.
-
EHCI/USB läuft (kann aber noch optimiert werden), TCP läuft stabil. Als Netzwerkkarten haben wir RTL8139 und PCNET bisher, beide im Emulator Qemu vorhanden. Nun werkeln wir eher an den Grenzen zwischen Kernel, User-Land und LAN/Internet, eine sehr interessante Phase. Für mich ist es spannend, das Netzwerk in Aktion zu sehen, dass wir Byte für Byte aufgesetzt haben und deshalb auch wirklich im Ablauf und Zusammenspiel verstehen.
PrettyOS ist im Codeaufbau noch immer gut verständlich, allerdings schon recht komplex im Zusammenspiel seiner Komponenten. Dennoch sehen wir, dass Einsteiger in die Materie mit unserem "Baukasten" ihre eigenen Versuche realisieren und eigene Entwicklungsideen in die Tat umsetzen können. Dieses Feedback motiviert und entlohnt für viele Mühen und verletzende Kritiken.
PrettyOS ist inzwischen ein handfestes und immer wieder begeisterndes Projekt geworden mit einer Reihe engagierter "Developer".
-
Vor etwa 1 1/2 Jahren hab ich zusammen mit Tobiking EHCI und die Anfänge von USB aufgesetzt. Nun wird das Ganze auf ein solides abstraktes Fundament transferiert. Es ist einfach toll zu sehen, wie das eigene OS alle möglichen Arten von usb-Devices mittels u/o/ehci ansteuern kann. Wir freuen uns schon auf die Umsetzung von xHCI und USB 3.0.
Netzwerk und USB sind Datenwege, die den Umgang mit einem OS wirklich zur Freude machen. Aus Entwicklersicht ist das allerdings alles recht komplex, aber man lernt die Zusammenhänge von Grund auf kennen. Dies ist durch nichts ersetzbar.
-
Wie sieht es nun aus mit PrettyOS?
-
Gut! http://prettyos.de
xhci/usb3 ist ebenfalls schon am Werkeln. Wir könnten noch einige talentierte Entwickler (asm, C, C++ für user) brauchen. Einfach im chat melden.
-
Wir freuen uns schon auf die Umsetzung von xHCI und USB 3.0.
Das war im Sept. 2011 ein fast schon übermütiger Satz. Inzwischen läuft xhci mit usb-Sticks. Als Basis mussten wir noch ACPI und APIC aufsetzen. Für die IOAPIC Redirection Table muss man selbst die individuellen Innereien von Chipsätzen wie PIIX3 oder ICHx auslesen. Das ist eine Ebene, die das Ganze recht komplex macht.
-
Zur Zeit ist USB ein immer noch stark beherrschendes Thema. Wir versuchen die gesamte Bandbreite von o/uHCI über eHCI bis xHCI am Laufen zu halten, was bisher gut gelingt. Inzwischen können wir mit dem xHCI-Modul mit low/full/high/super-Speed Kontakt aufnehmen. Die Architektur und Funktionsweise von xHCI unterscheidet sich grundlegend von den anderen drei HCI-Modulen. Aufgaben und Möglichkeiten zur Weiterentwicklung ergeben sich im Treiberbereich ständig neu. Zur Zeit sind dies z.B. die Einbindung von Human Interface Devices und der usb-Floppy (UFI). Man muss nicht alles machen, was möglich ist. Dafür ist unser Team noch zu klein. Wie auch immer, im Bereich usb haben wir für Interessierte eine Menge zu bieten, lernen aber gerne auch von anderen dazu.
-
Wozu die Arbeit schrieb:
Ich habe im entsprechenden Subforum dazu leider keinen Sticky Thread gesehen
der bschreibt: warum weshalb wieso.
Es gibt doch schon x tausend OS, wozu dann noch eins?Wegen https://www.c-plusplus.net/forum/331184 vielleicht.
-
Es gibt verschiedene Ebenen. Das sollte man streng unterscheiden, hat nichts mit Geldverdienen zu schaffen.
Die erste Ebene ist die Benutzung eines Systems. TV, Smartphone, Auto, Mikrowelle, Fotokamera, ... Da hilft nur die Wechselwirkung zwischen Anlernen/Nachmachen, Handbuch, Fragen, Erfahrung.
Die nächste Ebene sind Programme auf der Userebene. In Java, C#, C++, C usw. Dazu benötigt man Informatikgrundkenntnisse und die zugehörige Programmiersprache sowie Tools. Einer der Gründe für dieses Forum hier.
Geht man tiefer, so kommt man zum OS. Das kann für einen PC, ein Mobile oder einen Roboter sein. Dazu gehört auch der Bereich der Firmware. In Autos, Flugzeugen, aber auch in der Waschmaschine, im Telefon, ...
Noch tiefer wird es richtig interessant. Neue Hardware, neue Programmiersprachen, neue Prozessoren, ... Hier entscheidet sich die Zukunft. Wer hier die Nase vorne hat, macht das Rennen.
Nicht jeder hat die Zeit und die Kraft sich ein eigenes OS zu schaffen oder gar mehr. Daher bin ich sehr zufrieden, dass es mir gelungen ist "PrettyOS" zu schaffen und daran mit anderen Interessierten weiter entwickeln zu können. Die Grundlage ist inzwischen hervorragend.