| Zeile 2: | Zeile 2: | ||
==Äusseres Erscheinen== | ==Äusseres Erscheinen== | ||
| − | TriviaOS arbeitet nur mit einer GUI, die allerdings nicht Fenster im Sinne von Windows verwendet, sondern nur "Felder" welche sich nicht überlappen können, jedoch in ihrer Grösse sehr flexibel sind. Das wird nicht nur die Bedienung sondern auch die Programmierung | + | TriviaOS arbeitet nur mit einer GUI, die allerdings nicht Fenster im Sinne von Windows verwendet, sondern nur "Felder" welche sich nicht überlappen können, jedoch in ihrer Grösse sehr flexibel sind. Das wird nicht nur die Bedienung sondern vor allem, auch die Programmierung einfach halten. |
Auch ist geplant, dass alle Daten eines Benutzers zusätzlich zur Festplatte auch im Internet gespeichert werden. Das hat den Vorteil, dass man sich von überallher mit seinem Account einloggen kann und sofort mit seinen Daten arbeiten kann. So kann man auch Dateien ganz einfach unter verschiedenen Usern teilen. Man muss sich dann auch vor Datencrashs weniger Sorgen machen und sich nicht um Backups kümmern. | Auch ist geplant, dass alle Daten eines Benutzers zusätzlich zur Festplatte auch im Internet gespeichert werden. Das hat den Vorteil, dass man sich von überallher mit seinem Account einloggen kann und sofort mit seinen Daten arbeiten kann. So kann man auch Dateien ganz einfach unter verschiedenen Usern teilen. Man muss sich dann auch vor Datencrashs weniger Sorgen machen und sich nicht um Backups kümmern. | ||
| Zeile 14: | Zeile 14: | ||
Der Quellcode von TriviaOS ist ausschließlich in Assembler geschrieben. Das bringt dem System sicher den einen oder anderen Geschwindigkeits- und Speichervorteil und gleicht den Performance-Verlust durch das schon extreme Microkernel-Design etwas aus. | Der Quellcode von TriviaOS ist ausschließlich in Assembler geschrieben. Das bringt dem System sicher den einen oder anderen Geschwindigkeits- und Speichervorteil und gleicht den Performance-Verlust durch das schon extreme Microkernel-Design etwas aus. | ||
| − | Die Tasks in meinem System sind Module eines Programms, die in einem Programm einer Funktion entsprechen. Sie werden höchstens 8 KB Platz für Code und 4 MB für Daten haben. Sie kommunizieren untereinander in erster Linie über Message Passing. Dabei arbeitet ein Task jeweils eine Nachricht die er gekriegt hat ab und kann weiteren Tasks synchron oder asynchron Nachrichten mit begrenzter Parameteranzahl schicken. Für grössere Datenmengen können die Tasks Shared Memory benutzen. | + | Die Tasks in meinem System sind Module eines Programms, die in einem herkömmlichen Programm einer Funktion entsprechen. Sie werden höchstens 8 KB Platz für Code und 4 MB für Daten haben. Sie kommunizieren untereinander in erster Linie über Message Passing. Dabei arbeitet ein Task jeweils eine Nachricht die er gekriegt hat ab und kann weiteren Tasks synchron oder asynchron Nachrichten mit begrenzter Parameteranzahl schicken. Für grössere Datenmengen können die Tasks Shared Memory benutzen. |
Da Programme in beliebig viele Tasks unterteilt werden können, bekommen aufwendige Programme automatisch mehr Rechenzeit und eine Aufteilung in Threads für mehrere Prozessoren wird so ganz einfach. Damit ist zudem auch die Möglichkeit geschaffen, dass alle Programme für die selbe Funktion das selbe Modul benutzen. Dadurch könnten Programme nicht nur einfacher gewartet werden sondern auch die Entwicklung wird erleichtert und speziell für OpenSource-Entwickler interessant. | Da Programme in beliebig viele Tasks unterteilt werden können, bekommen aufwendige Programme automatisch mehr Rechenzeit und eine Aufteilung in Threads für mehrere Prozessoren wird so ganz einfach. Damit ist zudem auch die Möglichkeit geschaffen, dass alle Programme für die selbe Funktion das selbe Modul benutzen. Dadurch könnten Programme nicht nur einfacher gewartet werden sondern auch die Entwicklung wird erleichtert und speziell für OpenSource-Entwickler interessant. | ||
| − | TriviaOS wird mit mehreren CPUs, Cores und logischen Prozessoren umgehen können, aber eine 64-Bit Version ist vorläufig nicht geplant, da schon jetzt wegen dem Konzept der extrem kleinen Module nur ein Bruchteil des möglichen virtuellen Speichers genutzt wird. Sollten aber einmal alle | + | TriviaOS wird mit mehreren CPUs, Cores und logischen Prozessoren umgehen können, aber eine 64-Bit Version ist vorläufig nicht geplant, da schon jetzt wegen dem Konzept der extrem kleinen Module nur ein Bruchteil des möglichen virtuellen Speichers genutzt wird. Sollten aber einmal alle Systeme weit mehr als 4GB RAM haben und mein OS diese Ressorcen auch benötigen, kann ich immer noch mit relativ gerigem Aufwand PAE implementieren (oder einen Hairy-Porter erschaffen...). |
==Lizenzierung== | ==Lizenzierung== | ||
| − | Die Sourcen des Kernels und der inneren Module meines Systemes werden sobald sie fertiggestellt sind veröffentlicht und jeder darf sie gerne lesen und sich davon inspirieren lassen. Allerings werde ich alle Rechte bei mir behalten, also darf niemand die Sorucen kopieren, oder verändern. | + | Die Sourcen des Kernels und der inneren Module meines Systemes werden sobald sie fertiggestellt sind veröffentlicht und jeder darf sie gerne lesen und sich davon inspirieren lassen. Allerings werde ich alle Rechte bei mir behalten, also darf niemand die Sorucen kopieren, oder verändern ohne Absprache mit mir. |
| − | Die äusseren Module ( | + | Die äusseren Module (Tastaturbelegungen, Speicherdevices, Dateisysteme, Druckertreiber, Grafikkartentreiber, Treiber für Geräte wie Webcams...) des Systemes sowie Module von eigenen Programmen für mein OS, werde ich unter die GPL stellen, damit daran alle weiter arbeiten können oder auf diesen Modulen aufbauen können. |
==Releases== | ==Releases== | ||
| − | Ich hoffe | + | Ich hoffe demnächst ein erstes Release vorstellen zu können. Dieses wird in etwa die folgenden "Features" beinhalten: |
* den vollständigen TriviaOS-[[Kernel]]1.0 mit funktionierendem [[IPC]] | * den vollständigen TriviaOS-[[Kernel]]1.0 mit funktionierendem [[IPC]] | ||
* [[SMP]]-Unterstützung für MultiProcessor, MultiCore und MultiThreading über ACPI und MPS Tabellen ---> vollständig implementiert | * [[SMP]]-Unterstützung für MultiProcessor, MultiCore und MultiThreading über ACPI und MPS Tabellen ---> vollständig implementiert | ||
| Zeile 40: | Zeile 40: | ||
| − | + | ||
| + | Das nächste Release wird in etwa die folgenden Features beinhalten: | ||
* vollständige [[GUI]] mit allen geplanten Grafik-Elementen | * vollständige [[GUI]] mit allen geplanten Grafik-Elementen | ||
* Fesplattenfähigkeit | * Fesplattenfähigkeit | ||