Warum entwickelt ihr ein Forum OS (Pretty OS)
-
Momentan beschäftige ich mich mit der Erfassung von Videostreaming-Daten aus Webcams am usb2-Port (z.Z. mit ehci periodic scheduler). Da lernt man eine Menge über die konkreten Möglichkeiten der Datenverarbeitung bei Bildern/Videos, z.B. die Steuerung einer Webcam oder das Umsetzen des YUYV-Formats in das inzwischen übliche RGB-Format. Nebenbei beherrscht man auch das periodic scheduling in ehci (oder später xhci). Man könnte sagen, wen interessieren schon webcams, oder was hat Treiberprogrammierung mit OS-Developemnt zu schaffen? Argumente etwas nicht anzupacken gibt es immer zuhauf, davon lässt isch ein OS-Developer nicht entmutigen. Einfach eintauchen und selbst alles machen zu können/müssen, das ist Tüftler-Paradies und -Hölle zugleich.
So etwas kann man kaum aus dem Stand angehen. Hierzu benötigt man die notwendige Erfahrung und ein in möglichst vielen Belangen stabiles OS. Wir speichern z.B. große Bilddatenmengen auf einem usb-Stick. Da müssen die Einzelkomponenten des OS zuverlässig funktionieren und - wenn möglich - rasch ablaufen.Wir freuen uns schon auf das neue xhci-Modul in VBox. Emulatoren beschleunigen die Entwicklung ungemein. Allerdings möchte man, dass der entwickelte Code auch "auf Blech" - also einem test-PC - läuft.
Die Kosten dieses Hobbys sind übrigens gering. Man benötigt etwas Hardware wie Sticks, Hubs, Webcams usw., aber das bewegt sich in einem erschwinglichen Rahmen. Die entscheidende Investition ist die Zeit zum Nachdenken, Entwickeln, Testen, Fehlersuchen und Diskutieren mit Gleichgesinnten. Von letzteren gibt es nicht viele, man steht also vielfach alleine auf weiter Flur. Gut oder schlecht? Ich finde, es ist ein Segen.
-
Ich hatte früher mal ein eigenes Betriebssystem zu Zeiten von MSDOS entwickelt, da ich mit MSDOS höchst unzufrieden war und wesentlich bessere Betriebssysteme kannte. Jedes Betriebssystem hatte seine Stärken und Schwächen. Ich pickte mir alle Rosinen da heraus und baute daraus ein eigenes Betriebssystem mit Multitasking, Multiusing mit verbesserten Schutzmechanismen usw., die zu der Zeit noch nicht vorhanden waren. Das ganze realisierte ich sogar mit Turbo-Pascal und Assembler unter MSDOS! Die Betriebssysteme, die ich damals kannte, waren BS2000, Cyber NOS, Vax VMS, UNIX und das superschreckliche Steinzeitbetriebssystem MSDOS! Auch für verschiedene Prozessoren wie beispielsweise den angenehmen 68000, wo der Intel-Prozessor gegenüber von der Architektur die reinste Katastrophe war, habe ich ein Betriebssystem entwickelt. Damals war so etwas modern! Ich hatte einen PC zu der Zeit bedient, das hardware-mäßig mehr leistete als das extrem beschränkte MSDOS, wo man auf sehr umständliche Weise wegen der irrsinnigen Intel-Architektur auf Arbeitsspeicher zugreifen mußte, die jenseits von 1 MByte lagen. (High Memory). Es gab kein Multitasking und auch kein Multiusing. Als Windows auf den Markt kam, gab es die Eieruhrzeit, weil es kein echtes präemptives Multitasking hatte. Erst mit Windows 95 wurde es eingeführt. Da war es sehr praktisch, wenn man ein eigenes Betriebssystem hatte, was mehr leistete. Inzwischen sind neuere Prozessoren auf den Markt, wo es mir unter den Fingern juckt, wieder ein neues Betriebssystem zu schreiben. Die Schwierigkeit heutzutage ist, durch die vielen Geräte entsprechende Informationen zu gewinnen, um Treiber hierfür zu entwickeln! Früher wurde mehr über die Interna von Geräten veröffentlicht. Denken wir an die extreme Vielzahl von Graphikkarten, wo oft kein Standart vorhanden ist, muß man für jede mögliche Grafikkarte einen Treiber schreiben. Da hofft man schon, daß man eine Norm findet, damit die Treiber sich nicht so aufblähen. Ein guter Ansatz wäre, wenn der Hauptprozessor für sehr wichtige Ein- und Ausgabegeräte ein Teil der Arbeit abnehmen würde.
-
Denken wir an die extreme Vielzahl von Graphikkarten, wo oft kein stan**** vorhanden ist, muß man für jede mögliche Grafikkarte einen Treiber schreiben.
Ja, das ist richtig. Wir verwenden momentan den minimalen Standard VESA BIOS Extensions (VBE), was natürlich heute nicht mehr befriedigt.
https://www.henkessoft.de/OS_Dev/Bilder/0_0_1_118_drawstring_bitmap.PNGFür die Netzwerkkarten gilt das gleiche, wenn es dort auch weniger Typen gibt.
@w_ciossek: Vielleicht hast Du Lust bei PrettyOS einzusteigen. Seine Stärke ist usb. Schau einfach mal auf https://www.prettyos.de und/oder im chat vorbei.
-
Danke, das reizt mich sehr. Ähnlich wie Linus Torwalds mit Hilfe einer Schar von Studenten über das Internet Linux entwickelt hatte, könnte man das bei PrettyOs ebenfalls solches bewerkstelligen und so einen Pool schaffen, wo alles Wissen zu diesen Thema zusammenkommt. Ich bin auch dabei, ein Buch in PDF-Form parallel zu meiner Betriebssystementwicklung zu schreiben, damit Anfänger hierzu, sofern sie Lust haben ein solches System zu entwickeln, ermuntert werden. Ich habe mit cygwin unter Windows als auch unter Linux die gleichen Entwicklungswerkzeuge, so daß man die gleichen Befehle sowohl unter Windows als auch unter Linux verwenden kann.
Ich muß mich allerdings noch sehr in diese Materie wieder einarbeiten, da ich nicht mehr auf den neuesten Stand bin. Das gilt insbesondere für die neue Hardware. Auch reizt es mich, für verschiedene Prozessoren ein Betriebssystem zu entwickeln, da ich früher einmal für den 68000 programmiert hatte und dessen Maschinensprache sehr genial empfand.