LF OS — Änderungen 11407 → 11491

Zeile 9: Zeile 9:
 
| Sprache = [[C]], [[C++]], [[Assembler]]
 
| Sprache = [[C]], [[C++]], [[Assembler]]
 
| Plattform = [[x86-64]]
 
| Plattform = [[x86-64]]
−
| IPC = Vor allem shared memory
+
| IPC = Vor allem shared memory und message passing
 
| Homepage = [https://praios.lf-net.org/littlefox/lf-os_amd64 https://praios.lf-net.org/littlefox/lf-os_amd64]
 
| Homepage = [https://praios.lf-net.org/littlefox/lf-os_amd64 https://praios.lf-net.org/littlefox/lf-os_amd64]
 
}}
 
}}
  
−
Seit bald einem Jahrzehnt schreibe ich nun schon immer mal wieder an Betriebssystemen (meist LF OS). Seit bald einem Jahr schreibe ich mehr oder weniger regelmäßig (quasi jede Zugfahrt und manchmal noch einfach so) an der aktuellsten Variante.
+
Seit über einem Jahrzehnt schreibe ich nun schon immer mal wieder an Betriebssystemen (meist LF OS). Seit etwa November 2018 schreibe ich mehr oder weniger regelmäßig (quasi jede Zugfahrt und inzwischen auch oft einfach so) an der aktuellsten Variante:
  
 
* amd64
 
* amd64
Zeile 33: Zeile 33:
 
** virtuelle Speicherverwaltung unter Verwendung der Datenstrukturen die die CPU selbst verwendet
 
** virtuelle Speicherverwaltung unter Verwendung der Datenstrukturen die die CPU selbst verwendet
 
*** es gibt ein Mapping des gesamten physischen Speichers an eine virtuelle Adresse
 
*** es gibt ein Mapping des gesamten physischen Speichers an eine virtuelle Adresse
−
*** das ist meine aktuelle Baustelle
+
*** Informationen wofür Pages verwendet werden ist aktuell in Arbeit
 +
** Scheduler
 +
** schönes Logging in den Arbeitsspeicher und COM1 (und auf die Konsole bis ein Prozess den Framebuffer übernimmt)
 +
** ein paar coole Datenstrukturen, ein paar Unit-Tests für diese
 +
** ein paar Syscalls - definiert in einer YAML Datei und automatisch zu C-Code gemacht (Kernel- und Userspace-seitig)
 +
** Anfänge von pthreads -> aktuell aktivste Baustelle
 +
* init
 +
** kann sich den Framebuffer holen und lustige Dinge rendern
 +
** forkt dabei, nutzt pthread_mutex zur synchronisation
 +
* newlib, libc++, libc++abi, compiler-rt, clang mit LF OS Kenntnissen
  
  
 
[[Kategorie:Betriebssystem]]
 
[[Kategorie:Betriebssystem]]