Startseite | Info | Community | Entwicklung | meinReactOS | Kontakt

  1. Startseite
  2. Info
  3. Community
  4. Entwicklung
  5. meinReactOS

  1. Übersicht
  2. ReactOS Team
  3. Forum
  4. Wiki
  5. Mailing-Listen
  6. IRC-Kanäle
  7. Newsletter
  8. Blogs
  9. Fragen & Antworten

Community > ReactOS Newsletter Archive > ReactOS Newsletter: Newsletter 69

Newsletter 69

by Z98 on 2010-03-03
translated by Daniel Reimer on 2010-03-22

top

Trap Handling


Ein Weg, wie Low Level Kommunikation mit Hardware realisiert ist, ist über Interrupts und Exceptions. Hierfür muss noch der Code geschrieben werden, der sich um diese kümmert und dieser ist im Trap Handler. Der ursprüngliche Trap Handler Code in ReactOS war in purem Assembler geschrieben, was zu einem gewissem Grad auch unvermeidlich ist, da hierfür Operationen ausgeführt werden müssen, die in der C Sprache nicht spezifiziert sind. Solchen Operationen sind z.B. das Manipulieren des Stacks und das Lesen und Schreiben von speziellen Registern, die per Definition Plattformspezifisch sind und deren Integration die Cross Plattform Natur von C verringern würde. Als Teil der Mühen, ReactOS auf die ARM Plattform zu portieren, fing das ARM Team an, den Code neuzuschreiben, um zumindest eine sehr dünne Abstraktionsschicht in C , mit allen Architekturspezifischen Komponenten in Assembler Intrinsics verfasst, anzubieten. Assembler Intrinsics sind generell kompilerspezifische Makros, die feststellen, welche Assembler Instruktion jemand in C Code nutzen will. Dies half den Code leichter überwachbar und lesbar zu machen und legte auch einige Bugs im Code frei, die gefixed wurden. Dies war nicht wirklich nötig für den ARM Port, aber das ARM team entschied, es so zu tun würde zu einem späteren Zeitpunkt Vorteile für das Projekt als Ganzes bringen. Leider führte das Nutzen von GCC Assembler Intrinsics dazu, dass MSVC nun nicht mehr im Stande ist, den Code zu kompilieren. Zuvor konnten die Assembler Dateien zumindest in Binary Objekte kompiliert werden, mit denen MSVC dann arbeiten konnte, aber das Umwandeln in C Code machte dies unmöglich. Hier trat Timo Kreuzer auf den Plan und änderte die Intrinsics zurück zu RAW Assembler. Die scheint vielleicht ein kleiner Schritt zurück zu sein, aber das C Framework ist immernoch vorhanden und das einzige, was verändert wurde, war die Verwendung von GCC Assembler Intrinsics. In dem Prozess hat Timo auch ein Paar Segment und Flag Einstellungen im Assembler Code und konvertierte die Art, die Funktionsparameter über Register von GCC spezifischen Methoden weitergegeben werden zu einer Cross Compiler kompatiblem Lösung. In der Theorie erlaubt dies sogar den Microsoft Assembler zu nutzen, um den Code zu kompilieren.

top

ACPI


Das "Advanced Configuration and Power Interface" (engl. Erweitere Einstellungen und Energie Schnittstelle) ist ein Standard der die Einergiemanagemant Eigenschaften von Computer bestimmt. Die Unterstützung des Standards von ReactOS wurde ursprünglich von Samuel Serapion gestartet, der angeblich auch der Schreiber der anderen Newsletter und Beiträge zu x64 Port ist. Sam nahm die Verweis Implementierung der ACPI, die vom Standard Komitee vorrausgesetzt wurde und portierte sie für das ReactOS. Jedoch gab es ein Problem mit dem wie Hardware IDs im Code dargestellt werden, was zur Folge hat, dass Code nicht funktioniert. Cameron Gutman sah sich vor kurzen den Code noch einmal an und fand den Fehler, jetzt funktionieren die ACPI Komponenten. Aber der Code von ReactOS ist immer noch unvollständig, es werden einige "I/O Request Packets (IRPs)" (engl. Eingabe/Ausgabe Anfrage Packete), die die ACPI erstellt nicht behandelt. Dennoch, Cameron hat die Hauptblockaden in Sams ursprünglicher Arbeit behoben und es funktioniert tatsächlich.

top

Windows Treiber Header


Es gab bereits einiges hin und her und eine Kooperation mit dem Mingw-w64 Projekt vor einer Weile, aber vor fünf Tagen meldete sich Kai Tietz bei Amine Khaldi, unserer Bugzilla Putzfrau, und fragte nach ob ReactOS an einer Zusammenarbeit beim Erstellen der Windows Treiber Header interessiert sei. Größtenteils sind die Header von ReactOS korrekt oder zumindest vollständiger, wenn auch etwas unsortiert. Amine und Kai hoffen die Informationen ordentlich aufteilen und dann richtig strukturierte anbieten zu können. Diese Arbeit wird in einem Branch stattfinden, um Probleme im Trunk vorzubeugen. Timo Kreuzer und Aleksey Bragin traten dem Projekt auch bei und Timo schlug vor, einige der Header für Treiber automatisch erstellen zu lassen, ähnlich, wie Microsoft auch die Header für die SDK und WDK generiert. Es existieren auch einige Stellen an denen einige Arbeit nötig ist, um die Header Mingw-w64 kompatibel zu machen, aber das ultimative Ergebnis wäre ein Treiber-Entwicklungskit für Windows, das ausser dem von Microsoft existiert. Es gibt immernoch einige Probleme, wenn man GCC verwendet, um native Windows Treiber zu erstellen, die meisten im Zusammenhang mit Support für strukturitertem Exception Handling, aber es wäre zumindest ein Anfang.

top

ReactOS beim Chemnitzer Linux Tag


Mehrere Mitglieder des ReactOS Teams werden beim Chemnitzer Linux Tag sein, der vom 13 bis 14 März geht. Sie werden für das Projekt vorstellen, Fragen beantworten und sich unter die Open Source Commnunity mischen.


top

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.