Eigenes OS?
-
Meilenstein: 23.04.2014: erster Transfer mit selbst aufgesetztem setup/data/status mit xhci am Hardware USB3 Root Port (test-PC).
-
Meilenstein: 25.04.2014: erster Transfer usb_getDeviceDescriptor mit selbst aufgesetztem setup/data/status mit xhci am Hardware USB3 Root Port (test-PC) im Rahmen des usb-Moduls von PrettyOS.
-
Meilenstein: 04.05.2014: Bulk-Transfers nehmen in xhci ihre Arbeit auf!
-
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.
-
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.
-
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.
-
Momentan ist mal wieder Sendepause. Vielleicht geht es in der dunklen Jahreszeit wieder weiter.
-
So ganz langsam nimmt das OS wieder Fahrt auf. Es gibt also Hoffnung, dass es noch weiter geht ...
-
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.
-
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.
-
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!
-
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.
-
Die Basis für usb Human Interface Devices (HID) ist gelegt. Bisher positiv getestet an OHCI mittels VBox.
-
Das Gleiche gilt für Mass Storage Devices gemäß UFI/CBI, wie z.B. usb-Floppy.
-
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.
-
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.