Eigenes OS?


  • Mod

    Meilenstein: 04.05.2014: Bulk-Transfers nehmen in xhci ihre Arbeit auf! 👍


  • Mod

    Meilenstein: 13.05.2014: 3:/ttt wird von 16 GB usb-Stick (2.10) mit FAT32 korrekt gestartet! 👍



  • ...



  • Ich bin zwar nicht Erhard, aber antworte trotzdem mal.

    Was anders: Ich lese seit langem in diesem Thread nur noch über USB dies, USB das. Was sind abseits von USB die nächsten Baustellen? Magst einen kleinen Überblick geben?

    Das stimmt nur bedingt. Man liest zwar fast nur USB, allerdings hat es in jüngerer Zeit durchaus auch auf anderen Baustellen Arbeit gegeben:
    - Jonas' ACPI-Code ist seit kurzem dabei. Dort werden für die Nutzung des APIC wichtige Daten ausgelesen
    - PrettyOS unterstützt seit kurzem "beliebig" viele Konsolen in Form von Konsolenstacks, zwischen denen mit Alt+Bild-Auf/Ab gewechselt werden kann
    - Zahlreiche kleinere Verbesserungen wurden eingebaut (Caching verbessert, Effizienz des FAT-Treibers) und Begonnenes fortgesetzt (Arbeit an der Ramdisk)
    - Es gab zahlreiche Fehlerbehebungen (z.B. wurde kürzlich das Problem gelöst, weswegen der Floppytreiber unter Bochs nur Timeouts gab)

    Das ist im USB-Grundrauschen untergegangen, aber hat trotzdem stattgefunden.

    Ein Weg (Abseits von USB), der in Zukunft zu gehen sein wird: Neuimplementation von Paging, Vereinigung von Code des User-Heaps (vor einiger Zeit von Jonas neu implementiert) und des Kernel-Heaps. Weitere Baustellen können der Datei documentation/NextRelease.txt entnommen werden.



  • Was die Anregung zur Nummerierung der Konsolen betrifft... Aus logischer Sicht halte ich die gegenwärtige Implementation für richtiger. 0 ist halt kleiner als 1. Und aus Implementationssicht ist die gegenwärtige Variante auch einfacher, weil '0' auch in ASCII kleiner als '1' ist (das nutzt die derzeitige Implementation aus, auch wenn das natürlich recht leicht zu erweitern wäre). Aus ergnomischer Sicht stimme ich zu.

    Die Anregung zum "Durchzappen" durch die Konsolen halte ich für sinnvoll. Steht nun auf meiner TODO-Liste.


  • Mod

    Meilenstein: 29.05.2014: IOAPIC funktioniert endlich vollständig am test-PC mit ICH7 Chipsatz. Nun arbeiten sowohl die xhci- als auch die ehci-Slots mit APIC/IOAPIC. Die Überraschung war, dass es auch PCI Lines E-H gibt.


  • Mod

    Nun wurde die Entwicklung an einer ganz anderen Ecke vorangetrieben, nämlich dem Filesystem, das bei uns vor allem in fsmanager.h/c und fat.h/c residiert. Die shell wurde um wichtige Befehle für die Datei-/Ordner-Bearbeitung erweitert.


  • Mod

    Momentan ist mal wieder Sendepause. Vielleicht geht es in der dunklen Jahreszeit wieder weiter. 😉


  • Mod

    So ganz langsam nimmt das OS wieder Fahrt auf. Es gibt also Hoffnung, dass es noch weiter geht ... 🙂


  • Mod

    Frohe Weihnachten! 🙂

    http://www.fotocommunity.de/pc/pc/mypics/1786009/display/35266357

    Ein Dankeschön an alle Entwickler und Unterstützer unseres Hobby-OS. Auch im Jahre 2014 entwickelte sich PrettyOS weiter, der Chat ist nicht verwaist, und es verbleiben noch genügend offene Baustellen für 2015.


  • Mod

    Ein Frohes Neues Jahr wuensche ich allen Entwicklern und Freunden unseres Projektes PrettyOS! Ich bin sehr gespannt, welche Bereiche wir in 2015 am staerksten weiter entwickeln werden. Mein persoenlicher Favorit ist immer noch USB.


  • Mod

    Der Januar hat munter begonnen. Wenn die Entwicklung in 2015 so weiter geht, könnte PrettyOS noch eine interessante Zukunft haben, vor allem wenn es gelingt den Bereich apic/msi zu stabilisieren.



  • vor allem wenn es gelingt den Bereich apic/msi zu stabilisieren.

    Erledigt!


  • Mod

    Nun wurden auch in xhci endlich die Ports und xHC-Slots entkoppelt, sodass man nun beliebig Sticks anstecken, abziehen, wieder anstecken kann. Ein wichtiger Schritt. Diese Vertauschungslogik muss nun auch für u/o/eHCI getestet werden.


  • Mod

    Die Basis für usb Human Interface Devices (HID) ist gelegt. Bisher positiv getestet an OHCI mittels VBox.


  • Mod

    Das Gleiche gilt für Mass Storage Devices gemäß UFI/CBI, wie z.B. usb-Floppy.


  • Mod

    Nun sind wir am Thema "interrupt transfers", zunächst am Beispiel des Hubs, der hierbei auf Anfrage (IN auf den Interrupt Endpoint) ein Byte zurück gibt, das in Bit 0 für den Hub steht und in Bit n (1-7) für den entsprechenden Port (1-7). Wir verwenden dazu zunächst die Periodic List am ehci.


  • Mod

    Es geht weiter mit echten high speed isochronous tranfers mittels ehci am Beispiel webcam. Das Thema HID am Beispiel Keyboard und Maus steht ebenfalls auf der Tagesordnung.


  • Mod

    Seit März 2009 gibt es das von mir ins Leben gerufene "PrettyOS". Unser Hobby-OS wird nun sechs Jahre alt. Einen ausführlichen Rückblick gab es letztes Jahr. Ich möchte hier nur diesen wichtigen Satz wiederholen: "Alleine schafft man kein 'PrettyOS'. Allen Mitentwicklern sei Dank!" Dabei muss man nicht immer am Code von PrettyOS mitwirken, wir freuen uns sehr über Interessierte im Chat, die mit uns gemeinsam an schwierigen OS-Themen "werkeln". Gerade verschiedene Denkansätze und Vorgehensweisen bereichern sich gegenseitig. Mir persönlich liegt am Herzen, eine lebendige Plattform verbunden mit einem konkreten Code-Beispiel zu schaffen, das etwas hilft, dieses wesentliche IT-Thema OS Development konkret zu erfassen und dabei zu experimentieren. Die Themen sind inzwischen recht komplex geworden. Ein Schwerpunkt der Entwicklung ist immer wieder USB, das durch seinen gewaltigen Umfang von USB 1 bis USB 3 sowie o/uhci, ehci und das aktuelle xhci einen breiten Raum in den Diskussionen und im Code einnimmt. Dies wird sicher noch etwas weitergehen, denn USB spielt in der Konnektivität eine bedeutende Rolle. Kaum ein "Device", das keinen usb-Stecker bietet, wenn man vom Monitor absieht. Wir werden weiter gemeinsam an PrettyOS entwickeln und freuen uns über jeden, der den Weg zu uns findet, sei es im Forum oder im Chat. Infos gibt es hier: http://prettyos.de


  • Mod

    Nun läuft die periodic list, die man für webcams benötigt, auf einem "echtem" ehci, der deutlich höhere Forderungen stellt als VBox, dafür aber auch eine bessere Performance bietet. Wenn es gelingt, den webcams Einzelbilder und Videos zu entlocken, wird dieses Feature auch auf das leistungsfähigere xhci übertragen.


Anmelden zum Antworten