NexOS

Aus Lowlevel
Version vom 13. Juli 2009, 17:28 Uhr von Chris12 (Diskussion | Beiträge) (Die Seite wurde neu angelegt: {{Infobox OS | Name = Project Nexos | Version = 0.0.0.1 | Entwickler = Christian Kranz | Lizenz = BSD | Kernel = Monolithischer Kernel | API = In...)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu:Navigation,
Project Nexos
Entwickler: Christian Kranz
Akt. Version: 0.0.0.1
Lizenz: BSD
OS-Eigenschaften
Plattform: x86
Kernelart: Monolithischer Kernel
Sprache: Assembler, NPL (NexOS Programming Language; für Programme)
API: Int 0xFF
Binärformat: RAW
IPC-Methode:
Homepage
Project Nexos


NexOS ist ein Hobby Betriebssystem für Computer mit x86 Prozessoren. Dieses OS läuft im RealMode und soll auch dort bleiben, da es nur experimentell ist.
Der Name ist eine Mischung aus 'Next' und 'OS'.

Entwickler

Aktuelle Features

  • Bootloader für Disketten mit NexFS
  • kleine API
  • 80x50 oder 80x25 Textmodus
  • NexCommand mit Deutschem Tastatur-Layout inklusive ä, ö, ü (einige zeichen sind NexCommand spezifisch und unter anderen OS' auf dieser Taste enthalten bzw. einige Sonderzeichen stimmen nicht mit der Tastatur überein z.B. anstatt "´" ist das Funktionszeichen vorhanden)
  • Dateisystem NexFS 0.1
  • Dateinamen können Groß- und Kleinbuchstaben enthalten (Programmnamen sollten groß sein, da NexCmd nur Großbuchstaben Befehle hat, es sei denn man benutzt 'START' (Noch nicht implementiert))
  • 8.3 Dateinamen
  • Diskettennamen (8 Zeichen)
  • Programme können ausgeführt werden

Aktuelle Arbeiten

  • NexFS 0.2
  • FS-API verfollständigen
  • Kernel V0.0.0.2

API

INT 0xFF, AL = Beschreibung Eingabe Ausgabe
01h Stringausgabe SI = String Inhalt von String auf dem Bildschirm
02h Version - AX = Version (1234 = 1.2.3.4)
03h Ausgabe der Version auf dem Bildschirm - Version auf dem Bildschirm
04h Programm beenden - -
05h lädt Daten an eine Stelle in den RAM

CX = Anzahl der Bytes
SI = Zeiger auf die Daten
DI = Segmen im RAM
BX = Offset im RAM

-
06h lädt die Dateitabelle von der Diskette - -
07h prüft ob eine Datei existiert SI = Dateiname

AX = 01h (kein Fehler)
AX = 00h (Datei nicht gefunden)

08h lädt eine Datei

SI = Dateiname
BX = Segment in das geladen werden soll (für User-Pogramme immer BX = 0x5000)

AX = 01h (kein Fehler)

AX = 00h (Datei nicht gefunden)

09h Verzeichnis wechsel

SI = Verzeichnis
(8.DIR für Verzeichnisse und '..' für das übergeordnete)

AX = 01h (kein Fehler)

AX = 00h (Datei nicht gefunden)

0Ah Datei/Verzeichnis löschen

SI = Dateiname

AX = 01h (kein Fehler)

AX = 00h (Datei nicht gefunden)

0Bh gibt die max. Anzahl an Einträgen des aktuellen Verzeichnisses zurück - AX = max. Anzahl an Einträgen des aktuellen Verzeichnisses


Befehlsliste der Konsole

CD           - change the current directory
CLS          - löscht den Bildschirminhalt
CPU          - zeigt Informationen über ihre CPU (via CPUID; im Moment nur die Vendor-ID)
DEL          - delete a file
DIR          - listet die Dateien im Verzeichnis auf
DUMP         - zeigt den Inhalt der CPU Register
ECHO STRING  - zeigt 'STRING' auf dem Bildschirm an
HELP         - zeigt die Hilfe
LIST         - listet die Befehle auf
REBOOT       - startet den Computer neu
SHUTDOWN     - fährt NexOS herunter
SWITCH       - wechselt den Textmodus
VER          - zeigt die Versionen der Systemkomponenten

History

Aktuelle Version zum Download: Hier

Ver 0.0.0.2 Ori

  • Working in progress

Ver 0.0.0.1 Midway

  • Neuer Kernel (Ver 0.0.0.1)
  • Bootloader für Disketten mit NexFS 0.1
  • NexCommand
  • NexFS 0.1
  • ausführen von Programmen via NexFS 0.1

Ver 0.0.0.0

  • Kompletter Neustart des Projekts (Mittwoch, Februar 04 2009)

TODO

  • erstellen/verändern von Dateien und formatieren von Disketten in NexFS einbauen
  • Dateisystem: NexFS 0.2, Fat12
  • Editor überarbeiten und an NexFS 0.1 anpassen
  • Kernel V0.0.0.2
  • Passwortchanger / Passwort-Programm wieder einbauen
  • Homepage fertigstellen

Known Bugs

NexOS Kernel

  • keine Bugs bekannt

NexCommand

  • Backspace springt von der x-ten Zeile nicht in die vorige


Project Nexos im IRC

Project Nexos hat auch einen IRC-Channel, der auf dem Server irc.euirc.net unter #Project_Nexos zu erreichen ist.