NightOS — Änderungen 9776 → 9779

Zeile 1: Zeile 1:
 
{{Infobox OS
 
{{Infobox OS
−
| Name = StefanOS
+
| Name = NightOS
−
| Version = 0.1
+
| Version = Stable: - Aktuell: 0.0.1 Alpha
 
| Entwickler = [[Benutzer:sfan|sfan]]
 
| Entwickler = [[Benutzer:sfan|sfan]]
 
| Lizenz = [http://creativecommons.org/licenses/by-nc-sa/2.0/de/ by-nc-sa 2.0]
 
| Lizenz = [http://creativecommons.org/licenses/by-nc-sa/2.0/de/ by-nc-sa 2.0]
 
| Kernel = Monolithischer [[Kernel]]
 
| Kernel = Monolithischer [[Kernel]]
−
| API = -
+
| API = Nativ
−
| Binaerformat = .bin und [[ELF]]
+
| Binaerformat = [[ELF]]
 
| Sprache = [[C]] [[Assembler]]
 
| Sprache = [[C]] [[Assembler]]
 
| IPC = -
 
| IPC = -
 
| Plattform = [[x86]]
 
| Plattform = [[x86]]
−
| Homepage = [http://sfan.funpic.de/StefanOS.html Website]<br />[http://sfan.funpic.de/StefanOS_source Quellcode]<br />[http://sfan.funpic.de/StefanOS_source/StefanOS.img Image]
+
| Homepage = }}
−
}}
+
NightOS hat die Aufgabe einen PC schnell und einfach zu benutzen.
−
StefanOS hat die Aufgabe einen PC schnell und einfach zu benutzen.
+
Die Shell wird als .elf Datei von GRUB geladen.
−
Das OS wird dafür (voraussichtlich) einen Dateisystemtreiber für [[FAT]] im Kernel haben.
 
−
Die Shell wird als .elf oder .bin Datei von GRUB geladen.
 
 
<br />
 
<br />
−
<b>aktuelle Version: 0.1.1 Beta</b>
 
−
== Programme ==
 
−
=== LibStefanOS ===
 
−
Für Programme kann man [http://sfan.funpic.de/StefanOS_source/libstefanos.h LibStefanOS] benutzen.
 
−
<c>
 
−
#include "libstefanos.h"
 
−
 
−
int main() {
 
−
  putc('H');
 
−
  print("ello World!");
 
−
  kill_process(get_pid());
 
−
}
 
−
</c>
 
−
Das <i>kill_process(get_pid());</i> ist dabei zwingend notwendig um die Anwendung zu beenden.
 
−
=== Funktionen ===
 
−
Die [http://sfan.funpic.de/StefanOS_source/libstefanos.h LibStefanOS] besitzt 4 Funktionen, die im obigen Beispiel alle benutzt werden.
 
−
Trotzdem ist hier nochmal eine Liste der Funktionen von [http://sfan.funpic.de/StefanOS_source/libstefanos.h LibStefanOS].
 
−
<br  />
 
−
<br />
 
−
void putc(char <i>c</i>) : Gibt das Zeichen <i>c</i> auf dem Bildschirm aus<br  />
 
−
void print(char *<i>str</i>) : Gibt die Zeichenkette <i>str</i> auf dem Bildschirm aus<br  />
 
−
void kill_process(int <i>pid</i>) : Beendet den Prozess <i>pid</i><br  />
 
−
int get_pid() : Gibt die Prozessnummer des laufenden Prozesses zurück<br  />
 
 
== Features ==
 
== Features ==
−
=== 0.1 ===
+
=== 0.0.1 ===
−
* [[GDT]]/[[IDT]] wird geladen
+
* Interrupts funktionieren
 +
* Tastaturtreiber
 +
* ganz kleine Shell
  
−
=== 0.1.1 (voraussichtlich) ===
+
=== 0.0.2 (voraussichtlich) ===
−
* [[GDT]]/[[IDT]] wird geladen
+
* Interrupts funktionieren
 +
* Tastaturtreiber
 
* Multitasking
 
* Multitasking
 +
* ELF-Loader
 +
* <strike>ganz</strike> kleine Shell
 +
 +
=== 0.0.3 (voraussichtlich) ===
 +
* Interrupts funktionieren
 
* Tastaturtreiber
 
* Tastaturtreiber
−
* Loader für Binaries
 
−
** flache Binärdateien (.bin)
 
−
 
−
=== 0.1.2 (voraussichtlich) ===
 
−
* [[GDT]]/[[IDT]] wird geladen
 
 
* Multitasking
 
* Multitasking
−
* Tastaturtreiber
+
* ELF-Loader
−
* kleine Shell
+
* <strike>ganz kleine</strike> Shell
−
* Loader für Binaries
+
* Floppy-Treiber
−
** [[ELF]]
+
* FAT12-Treiber
−
** flache Binärdateien (.bin)