Benutzer:Erik.vikinger
Ich heiße Erik und bin Jahrgang 1977.
Mit dem richtigem Programmieren hab ich mit 15 angefangen, hatte mit 14 meinen ersten Computer. Als erstes kam x86-Assembler (was mir bis heute sehr zusagt, auch wenn die Plattform drumherum aus heutiger Sicht absoluter Mist ist, wurde eben im Laufe von über 30 Jahren bunt und oft planlos zusammengewürfelt), dann etwas Pascal (was ich in der Zwischenzeit wieder komplett vergessen hab) und danach kam C und etwas später C++ (was heute meine wichtigste SW-Sprache ist). Im Jahr 2002 hab ich dann den Weg zur FPGA-Programmierung gefunden, womit VHDL als neue Sprache (heute meine liebste) dazu kam.
Heute arbeite ich als Programmierer/Entwickler im Embedded-Umfeld, vor allem mache ich µC-Software und FPGA-Programmierung.
Zur OS-Entwicklung bin ich eigentlich gekommen (bzw. komme noch) weil ich meine eigene Plattform (mehrere andersartige CPUs zusammen mit einer Art "IO Hub") im FPGA entwickeln möchte und selbst die schönste CPU/Plattform ohne OS eben gar nichts nützt. Als wichtiges Design-Ziel für meine Plattform, besser gesagt CPU, hab ich mir Segmentierung gesetzt. Ich weiß die meisten sagen bei diesem Wort "igit das kenn ich vom x86-Real-Mode und das ist scheiße", solche Aussagen sind zwar inhaltlich richtig aber zeugen auch davon das derjenige die Möglichkeiten der Segmentierung im 386-Protected-Mode gar nicht kennt. Auf meiner Plattform möchte ich über die bescheidenen Möglichkeiten des 386-PM deutlich hinaus gehen um damit einen fortschrittlichen, zuverlässigen und leistungsfähigen Speicherschutz, ohne den Performance-Verlust und Speicherverbrauch des Paging, zu realisieren. Darüber hinaus möchte ich Dinge wie Speicher-Defragmentierung zur Laufzeit (für den einen globalen linearen/virtuellen Adressraum) implementieren.
Mein OS soll ein möglichst schlanker Micro-Kernel werden, der außer Speicher-Management, Prozess-Management und IPC kaum Dinge enthalten soll. Für die IPC eignet sich die Segmentierung hervorragend da man mit sehr wenig Aufwand Segmente von einem Prozess zum nächsten vererben/migrieren kann, unabhängig von der Größe des Segments, was auch über mehrere (Treiber-)Ebenen funktioniert.
An Erfahrung in diesem Umfeld (ein richtiges OS hab ich noch nie programmiert) kann ich vor allem Teiber-Programmierung (für verschiedene RT-OSe + etwas Linux und etwas Windows) und die Entwicklung verschiedenster Low-Level-Software auf x86, ARM und einigen Micro-Controllern vorweisen. Ich hoffe das reicht.
Der entschiedene Vorteil, bei der OS-Entwicklung, auf einer eigenen Plattform ist das man nie vor einem undokumentierten Hardware-Feature steht und immer jemanden hat den man dazu befragen kann.