Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Xantorix [0.1.2] - Betriebssystem (https://www.delphipraxis.net/126305-xantorix-%5B0-1-2%5D-betriebssystem.html)

stefan2005 22. Dez 2008 14:26


Xantorix [0.1.2] - Betriebssystem
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,
ich möchte euch Xantorix vorstellen, und zwar ist es ein kleines Betriebssystem :) Betriebssystem eher im Sinne von selbst bootfähig/lauffähig, ohne großen Umfang oder Verwendungsmöglichkeiten und keinesfalls in irgendeiner Weise vergleichbar mit den heutigen "großen" Betriebssystemen! Es handelt sich seit längerem schon um ein kleines Hobby-Projekt von mir, d.h. ich arbeite v.a. aus Spaß und Interesse daran :-D . Xantorix ist komplett Freeware (aber kein OpenSource)!

Der Großteil davon ist in Pascal geschrieben und wurde mit FreePascal kompiliert. Es hat bereits Unterstützung für Diskettenlaufwerke und das FAT(12)-Dateisystem, es läuft aber nur im Textmodus. Auch ein kleiner Login-Bildchirm ist da, der aber noch nicht so viel Sinn macht und man kann sich einfach mit 2x Enter einloggen :) Derzeit existiert nur ein Disketten-Image und als Bootloader wird GRUB verwendet.

Um es ausprobieren zu können möchte ich einfach mal auf die Downloadseite verlinken und nicht alles in den Anhang packen, zum einen wegen evtl. schnellen Änderungen/Updates und zum anderen wegen der großen Anzahl an verschiedenen Versionen (32/64-Bit Version, gebündelt mit Bochs oder Qemu zum schnellen Testen unter Windows in einer VM).

Link: http://www.xantorix.de/downloads.php (Dateigrößen zwischen 200 KB und 1,2 MB)

Ich empfehle generell nur das Testen in einer VM, auch wenn grundsätzlich (v.a. wegen des fehlenden HDD-Treibers) keine Gefahr für einen richtigen PC bestehen sollte, aber Befehle wie copy oder del können sich auf echten Disketten ohne Caching schon ziemlich lang hinziehen ..

Auf der gleichen Seite findet man auch Screenshots (und ich hänge ein oder zwei auch in den Anhang :zwinker: )

Viel Spaß beim angucken :thumb:

Grüsse,
Stefan

DeddyH 22. Dez 2008 14:47

Re: Xantorix [0.1.2] - Betriebssystem
 
Respekt :thumb:

neuling31 22. Dez 2008 16:04

Re: Xantorix [0.1.2] - Betriebssystem
 
Super System 8) für den nächsten Schritt könntest du mit einer Desktop-Oberfläche beginnen :lol:

3_of_8 22. Dez 2008 16:11

Re: Xantorix [0.1.2] - Betriebssystem
 
Ich glaub vorher wäre erst einmal virtuelle Speicherverwaltung und Multiprocessing dran, falls nicht schon vorhanden. ;)

turboPASCAL 22. Dez 2008 16:20

Re: Xantorix [0.1.2] - Betriebssystem
 
Respekt :thumb:


Zitat:

Zitat von 3_of_8
Ich glaub vorher wäre erst einmal virtuelle Speicherverwaltung und Multiprocessing dran, falls nicht schon vorhanden. ;)

Multiprocessing muss nich gleich sein. Mir würde es reichen 'n Programm starten zu können. ( zB. den NC5 und meine Pascalprogramme ) :stupid:

stefan2005 23. Dez 2008 08:41

Re: Xantorix [0.1.2] - Betriebssystem
 
Hi,
eine virtuelle Speicherverwaltung ist schon vorhanden,
aber eine Desktop Oberfläche wird wohl nicht ganz so schnell realisiert werden ;)

Grüsse,
Stefan

Relicted 23. Dez 2008 08:55

Re: Xantorix [0.1.2] - Betriebssystem
 
respekt! darf man fragen wie viel Aufwand du da bisher reingesteckt hast? Würde mich mal interessieren..

Gruß
Reli

Torpedo 23. Dez 2008 09:11

Re: Xantorix [0.1.2] - Betriebssystem
 
Muss gleich mal einen Bug melden ;)
Die Tastenbelegung auf der untersten Tasten-Reihe (y,x,c,v...) ist um 1 verschoben. z.B. x=c, y=x,...
Vielleicht ists auch nur bei mir so? Habe es mit QEmu und meiner Laptoptastatur getestet.

stefan2005 23. Dez 2008 09:23

Re: Xantorix [0.1.2] - Betriebssystem
 
Hi,
also Aufwand lässt sich nicht so einfach sagen, ich hab zwischendurch oft mal für ein oder zwei Monate Pausen gemacht, ect, aber ich denke insgesamt sicherlich schon mehr als ein Jahr.

Der Bug in Qemu mit den Tasten existiert schon länger in in mehreren Varianten, meistens funktioniert der Tastaturtreiber nicht mehr, wenn man, bevor der Login-Bildschirm erscheint, schon eine Taste drückt oder so :)

Grüsse,
Stefan

3_of_8 23. Dez 2008 10:35

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von turboPASCAL
Zitat:

Zitat von 3_of_8
Ich glaub vorher wäre erst einmal virtuelle Speicherverwaltung und Multiprocessing dran, falls nicht schon vorhanden. ;)

Multiprocessing muss nich gleich sein. Mir würde es reichen 'n Programm starten zu können. ( zB. den NC5 und meine Pascalprogramme ) :stupid:

Aber bevor man einen Desktop realisiert, braucht man es definitiv.

inherited 23. Dez 2008 11:07

Re: Xantorix [0.1.2] - Betriebssystem
 
Multiprocessing ist garnicht mal so schwer, da gibt es recht viele Artikel drüber.
Was ist denn aus Homix geworden?

hitzi 23. Dez 2008 11:18

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von inherited
Was ist denn aus Homix geworden?

Zitat:

Zitat von http://www.xantorix.de/news.php
Ab heute steht Xantorix 0.1.2 zum Download und öffentlichen Test bereit. In den drei Wochen zuvor wurden viele Fehler behoben und das System einigermaßen benutzbar gemacht. Im Gegensatz zur vorherigen Version (noch unter dem Namen HomixOS) wurden sowohl große Teile des Kernels als auch Treiber und Programme überarbeitet.

Wurde einfach umbenannt, oder?

stefan2005 23. Dez 2008 12:35

Re: Xantorix [0.1.2] - Betriebssystem
 
Hi,
jap es wurde umbenannt :)

Zitat:

Zitat von 3_of_8
Zitat:

Zitat von turboPASCAL
Zitat:

Zitat von 3_of_8
Ich glaub vorher wäre erst einmal virtuelle Speicherverwaltung und Multiprocessing dran, falls nicht schon vorhanden. ;)

Multiprocessing muss nich gleich sein. Mir würde es reichen 'n Programm starten zu können. ( zB. den NC5 und meine Pascalprogramme ) :stupid:

Aber bevor man einen Desktop realisiert, braucht man es definitiv.

Ich finde es eigentlich nicht so wichtig, für eine Desktop Oberfläche Multiprocessing zu haben, weil ich eigentlich keine GUI kenne, die auf nicht-DualCores merkbar schlechter läuft! Vielleicht hast du es ja mit Multitasking verwechselt, und das ist in Xantorix schon vorhanden :)

Grüsse,
Stefan

Klaus01 23. Dez 2008 13:02

Re: Xantorix [0.1.2] - Betriebssystem
 
Hallo Stefan,

hast Du denn schon einen Compiler für Dein OS?

Grüße
Klaus

igel457 23. Dez 2008 13:24

Re: Xantorix [0.1.2] - Betriebssystem
 
Hallo,

dein Betriebssystem ist wirklich beeindruckend. Besonders die Tatsache, dass es in Pascal geschrieben ist. Jetzt musst du nur noch die LibC implementieren, dann kannst du vielleicht auch C-Programme darauf laufen lassen.

Der Editor (edit.exe) ist auch nicht schlecht - hast du dir dafür eine Art "Kommandozeilen-Fensterframework" geschrieben?

Andreas

stefan2005 23. Dez 2008 15:18

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von Klaus01
hast Du denn schon einen Compiler für Dein OS?

Nö, aber ich plane, irgendwann mal einen Compiler zu portieren.

Zitat:

Zitat von igel457
Besonders die Tatsache, dass es in Pascal geschrieben ist.

Im Grunde ist es kein großer Unterschied, ob man das in C oder Pascal macht.

Zitat:

Zitat von igel457
Jetzt musst du nur noch die LibC implementieren, dann kannst du vielleicht auch C-Programme darauf laufen lassen.

Um OpenSource Programme zu portieren, die in C geschrieben sind, wäre das sicherlich nicht schlecht, aber mir ist es erst einmal wichtiger, dass ich eine umfangreichere (Free-)Pascal RTL habe :)

Zitat:

Zitat von igel457
Der Editor (edit.exe) ist auch nicht schlecht - hast du dir dafür eine Art "Kommandozeilen-Fensterframework" geschrieben?

Hatte ich zuerst vor, aber ich hab mich dann doch entschieden, das für den Editor "per Hand zu zeichnen", weil ich wohl nicht ganz so viele Textmode-Programme schreiben werde :)

Grüsse,
Stefan

Klaus01 23. Dez 2008 17:11

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von stefan2005
Zitat:

Zitat von Klaus01
hast Du denn schon einen Compiler für Dein OS?

Nö, aber ich plane, irgendwann mal einen Compiler zu portieren.

Hallo Stefan,

wenn mir dann die Frage gestattet ist, wie werden dann (Pascal)Programme
bei Dir laufen gelassen?
Liegen die dann nur als Quelltext vor und werden interpretiert?

Nun, das wollte ich nur mal so aus Neugier wissen.

Einen schönen Abend noch.

Grüße
Klaus

stefan2005 23. Dez 2008 18:54

Re: Xantorix [0.1.2] - Betriebssystem
 
Hallo

alle Programme liegen wie in Windows oder Linux in ausführbaren Dateien mit Maschinencode vor und werden direkt ausgeführt!

Grüsse,
Stefan

Klaus01 23. Dez 2008 19:04

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von stefan2005
Hallo

alle Programme liegen wie in Windows oder Linux in ausführbaren Dateien mit Maschinencode vor und werden direkt ausgeführt!

Grüsse,
Stefan

Hallo Stefan,
danke für Deine Antwort.

Wie erstellst Du denn den Maschinecode aus den Pascalprogrammen wenn kein Compiler
für Dein OS existiert?

Grüße
Klaus

stefan2005 23. Dez 2008 20:15

Re: Xantorix [0.1.2] - Betriebssystem
 
Hi,
genauso wie mit dem Kernel, ich kompiliere es unter Windows :)

Grüsse,
Stefan

ErazerZ 11. Feb 2009 23:13

Re: Xantorix [0.1.2] - Betriebssystem
 
Also echt respekt dass du sowas gemacht hast!
Aber sag einmal, hast du einen eigenen PE-loader geschrieben oder wie machst du das mit *.exe Dateien laden in eigenem System? :o

stefan2005 12. Feb 2009 14:27

Re: Xantorix [0.1.2] - Betriebssystem
 
hi,
jap ich habe einen kleinen eigenen PE(32)-Loader (bzw. PE32+ für 64-Bit Dateien) für die EXE- und DLL-Dateien geschrieben, der die Dateien in den Speicher laden, die Importe und Exporte auflösen und die Relocation/Fixup-Tabelle verarbeiten kann.

Grüsse,
Stefan

DelphiMarkus 13. Feb 2009 17:47

Re: Xantorix [0.1.2] - Betriebssystem
 
Hi!

Ich bin gerade drauf gestoßen. Respekt!
Ich habe es in einer virtuellen Maschine laufen lassen. Super. :)

Die Kommandos in der Shell sind DOS-Kommandos, oder? Also sie heißen so wie die von DOS und tun auch so ziehmlich das selbe?
Ich bin zu jung um mich je mit DOS auseinandergesetzt zu haben und schaffe es auch gerade mal eine Batchdatei zu erstellen, die ein paar Dateien kopiert. Dafür hat es mir allerdings die bash angetan. :mrgreen: Ich bin eher in die Linuxrichtung geneigt, deswegen kommt mir das etwas fremd vor.

Der Editor ist auch toll.

Ich wüsste gerne wie das jetzt ist mit den Programmen. :wiejetzt: Sind das normale Windows-exen oder wie? Ich habe das noch nicht so ganz verstanden.
Was für ein Glück, dass ich hier auf dem Rechner auch FPC drauf habe und seperat davon auch noch Lazarus. :mrgreen: Ich bin hier bestens auf alles vorbereitet. Denn ich würde auch gerne ein Programm schreiben, dafür müsste ich dieses Programm aber erst irgendwie in das Dateisystem bekommen. Wie stellt man das nur an? (Ich habe Xantorix auf VirtualBox laufen)


Ich bin gespannt auf deine Antworten! :glaskugel:

stefan2005 14. Feb 2009 12:41

Re: Xantorix [0.1.2] - Betriebssystem
 
Hallo,

ich habe die DOS Zeit auch nicht wirklich miterlebt ;) die befehlsnamen hab ich so ausgewählt, dass sie mir logisch erscheinen und mir gefallen, aber im grunde denke ich schon, dass es mehr Ähnlichkeiten zu Windows als zu Linux Befehlen gibt. :)

Wegen den Programmen. Die ausführbaren Dateien (.exe) haben das PE-Format, das gleiche, das Windows auch benutzt. Jedoch kann Xantorix keine Windows-EXE Dateien ausführen und Windows keine Xantorix-EXE Dateien ausführen, weil unterschiedliche Bibliotheken/Libraries (.DLL-Dateien) gebraucht werden (auf Windows z.B. kernel32.dll oder user32.dll, auf Xantorix z.B. xixapi.dll), die unterschiedliche Funktionen bereitstellen.
Die Programme/EXE-Dateien auf Xantorix können mit dem FPC für Windows oder wie bei mir derzeit mit einer leicht angepassten Variante des FPC erstellt werden, jedoch benötigt man nicht die Win32-RTL sondern eine für das OS eigene RTL. Diese RTL ist für Xantorix noch sehr unvollständig und deshalb muss man sich noch ein wenig gedulden, bis man Programme für Xantorix kompilieren kann.

Grüsse,
Stefan

DelphiMarkus 14. Feb 2009 13:23

Re: Xantorix [0.1.2] - Betriebssystem
 
Ah!
OK das habe ich jetzt verstanden. Ich werde mich dann gedulden, wie ich das sonst auch immer tue. :-D

Als Vorschlag für eine erweiterte Hilfe fällt mir gerade das Kommando "man" von Linux ein. Das sind Hilfeseiten in denen alles sehr ausführlich beschrieben wird. Das wäre noch eine Idee! Die Funktion "help" listet sehr wichtige Befehle auf und beschreibt sie kurz, "man" gibt dann die ausführlichen Beschreibungen dazu.
Ich habe gerade am Wochenende etwas Zeit. Ich könnte wohl die "man"-Pages für die wichtigsten Sachen erstellen. Die Funktion müsste man dann nur anders nennen, denn "man" gibt es ja schon: Manpage (Wikipedia).

Was hälst du davon?

Gruß,
Maxi

stefan2005 14. Feb 2009 17:27

Re: Xantorix [0.1.2] - Betriebssystem
 
Hi,

sowas wie das manual ist schon teilweise vorhanden aber noch deaktiviert, da noch unvollständig. Dies wird dann auch über help laufen (also "help memory" z.B.)!
Sachen in diese Richtung (Shell, Aussehen, ...) haben derzeit eine niedrigere Priorität, einen stabilen und flexiblen Kernel zu haben ist erstmal das Hauptziel!

Grüsse,
Stefan

himitsu 14. Feb 2009 23:28

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von stefan2005
Wegen den Programmen. Die ausführbaren Dateien (.exe) haben das PE-Format, das gleiche, das Windows auch benutzt. Jedoch kann Xantorix keine Windows-EXE Dateien ausführen und Windows keine Xantorix-EXE Dateien ausführen, weil unterschiedliche Bibliotheken/Libraries (.DLL-Dateien) gebraucht werden (auf Windows z.B. kernel32.dll oder user32.dll, auf Xantorix z.B. xixapi.dll), die unterschiedliche Funktionen bereitstellen.
Die Programme/EXE-Dateien auf Xantorix können mit dem FPC für Windows oder wie bei mir derzeit mit einer leicht angepassten Variante des FPC erstellt werden, jedoch benötigt man nicht die Win32-RTL sondern eine für das OS eigene RTL. Diese RTL ist für Xantorix noch sehr unvollständig und deshalb muss man sich noch ein wenig gedulden, bis man Programme für Xantorix kompilieren kann.

wenn man jetzt eine xixapi.dll erstellt, welche die Befehle nach z.B. kernel32.dll oder user32.dll umleitet, könnte man also fast ein Xantorix-EXE in Windows ausführen ... bzw. auch andersrum (wenn es bei dirgenug Befehle dafür gibt) :?:

stefan2005 15. Feb 2009 11:06

Re: Xantorix [0.1.2] - Betriebssystem
 
Zitat:

Zitat von himitsu
wenn man jetzt eine xixapi.dll erstellt, welche die Befehle nach z.B. kernel32.dll oder user32.dll umleitet, könnte man also fast ein Xantorix-EXE in Windows ausführen ... bzw. auch andersrum (wenn es bei dirgenug Befehle dafür gibt) :?:

Kurz gesagt, ja, ein sogenannter Wrapper wäre sicherlich möglich und in sehr kleinem Umfang hab ich das auch schon getestet, jedoch benötigen Windows Programme auch noch weitere Sachen wie z.B. spezielle Datenstrukturen im Speicher (Stichwort: fs-Register).
Ich glaube ndiswrapper für Linux funktioniert so ähnlich, da werden auch die Windows-NDIS-Funktionen auf Linux-Funktionen abgebildet, jedoch übernimmt ndiswrapper das Laden der PE-Datei und nicht das OS selbst.

Grüsse,
Stefan


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:54 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz