[Gefunden] Suche ein Mini OS (Linux/Unix) für Übungszwecke

albix

Well-Known Member
Ich habe vor ca. einem halben Jahr im Internet ein von Studenten entwickeltes Betriebssystem als Sourcecode heruntergeladen .Dieses kann ich nicht mehr wiederfinden. Ich weiß jetzt nicht ob es auf Linux oder Unix aufsetzte aber es war ganz einfach gehalten. Alles war sauber dokumentiert und auskommentiert: Kernel, TCP/IP Stack uvm. Es war eben ein "komplettes OS" für andere Studenten zu Test- und Übungszwecken. Nun habe ich aber meine Lesezeichen gelöscht und daher keine Ahnung mehr woher ich das hatte.

Ich hoffe jemand von euch weiß wovon ich rede und hat für mich den Link parat. Ich denke der Download wurde von einer Hochschule angeboten.
 
Zuletzt bearbeitet:
Ich habe es eben selbst wiedergefunden! Es heißt UnixLite. Man da hätte man gleich drauf kommen können :ugly:
 
Danke für den Hinweis.
Sieht sehr interessant aus. Werd ich mir wohl mal auf eine Testkiste oder in eine VM installieren und mir das anschauen.
Gruß, Cessel
 
Hi,

in diesem Zusammenhang stellt sich mir die Frage: Welche Vor- oder Nachteile hat ein objekt-orientiertes OS / Kernel in Vergleich zum im Standard C geschriebenen?

Gruss, Elwood
 
Hi,

in diesem Zusammenhang stellt sich mir die Frage: Welche Vor- oder Nachteile hat ein objekt-orientiertes OS / Kernel in Vergleich zum im Standard C geschriebenen?

Gruss, Elwood

Hallo Elwood,

also der objektorientierte Ansatz beim Entwickeln hat durchaus Vorteile gegenüber zu Standard C und ist auch nicht neu in der Unix Welt.
Als Beispiel führe ich hier mal BeOperating System an, dieses OS wurde seinerzeit komplett neu in C++ programmiert, und hatte auch im Gegensatz zu anderen OS in der Unix Welt keinen [1]monolithischen Kernel sondern einen [2]mikrokernel und war 64 bit fähig und das schon in den 90er.

Mal zum Stöbern:

http://www.believe.de/beos_/vergleich_d/vergleich_d.html
und oder:
http://www.believe.de/beos_/tour_d/tour02_d/tour02_d.html

Zugegeben etwas älter aber der Sinn sollte daraus hervorgehen, das es BeOS mittlerwele nicht mehr gibt und Haiko das nun weiterführt ( auch Zeta gescheitert ist ) hat Gründe,die nichts mit der Architektur des OS zu tun haben, sondern leider Gang und Gäbe in der EDV sind.

Mangelnde Unterstützung von seiten der Hardware-Hersteller, ein weiteres intersantes Betriebssystem das ähnnlich gestrikt ist un schon über 20 Jahre erfolgreich auf dem Markt ist, ist Quick Unix oder kurz QNX (-Knex-) auch mit Mikrokernel.

http://de.wikipedia.org/wiki/QNX

und oder:

http://www.operating-system.org/betriebssystem/_german/bs-qnx.htm

oder:

http://www.tecchannel.de/server/linux/401557/

Gruß nicolas

------------------------------

[1] http://de.wikipedia.org/wiki/Monolithischer_Kernel
[2] http://de.wikipedia.org/wiki/Mikrokernel

-------------------------------

Ergänzend:

Eine Dokumentation und Untersuchung zu objektorientierten Betriebssystemen:

a.) Im Postscript Format:

http://www.elis.uni-erlangen.de/~mstecker/publications/fullpapers/studien.ps.gz

b.) Im Text Format:

http://64.233.183.104/search?q=cach...ssysteme&hl=de&ct=clnk&cd=21&gl=de&lr=lang_de

Hochinteresant ( alt aber gut) :)
 
Zuletzt bearbeitet:
nicht zu vergessen Bluebottle: http://www.bluebottle.ethz.ch/
Ist zwar kein UNIX...
http://www.bluebottle.ethz.ch/kernel/index.html schrieb:
The Active Object System Kernel (Aos) is a lean multiprocessor kernel developed in the spirit of the ETH Oberon Project. It is the base of the Bluebottle system and provides a runtime environment for the Active Oberon language, which supports active objects directly, and enables the construction of efficient active object-based systems that run directly on the hardware. Above the kernel layer is a flexible collection of modules providing generic abstractions for devices and services, e.g., file systems, user interfaces and networking.

The Aos kernel is currently implemented for Intel IA32 SMP multiprocessor and singleprocessor systems and severals StrongARM-based computers.
 
OK, Yamagis fünf Minuten Haiku-Einführung:

Vorweg: Haiku ist inzwischen weit genug um zu Starten, Anwendungen auszuführen und allgemein benutzbar zu sein. Dennoch ist es nocht nicht stabil. Die ABI ist noch nicht komplett fertig gestellt, das System stürzt auch durchaus noch mal ab.

Was ist Haiku?
Haiku - ehemals OpenBeOS - ist ein freies Betriebssystem, welche stark von BeOS inspiriert wurde. Anders als das inzwischen eingestellte Zeta ist es jedoch komplett neu geschrieben und enthält keinen Code des original BeOS mehr. Derzeit ist es in der Entwicklung, das Ziel des ersten Meilensteins Haiku R1 ist es, dass das System größtenteils Binärkompatibel zu BeOS 5 ist. Da Haiku viele Dinge sauberer und moderner machen will, kann eine vollständige Binärkompatiblität nicht erreicht werden, allerdings sollte das erreichte ausreichen um mehr als 90% aller BeOS Anwendungen ohne rekompilieren ausführen zu können und auch einen großteil der (inzwischen allerdings eh veralteten) Treiber zu nutzen.
BeOS wurde um 1997 herum von Apple umworben, dort sollte es das veraltete Mac OS ersetzen. Allerdings trieben es seine Entwickler zu weit, Apple kaufte stattdessen NeXt und baute es zu Mac OS X aus. Dennoch sind OS X und NeXt in ihrer Konzeption sehr mit BeOS und Haiku zu vergleichen. Ein intuitives GUI, über welches man das komplette System steuern kann. Unten drunter ein robustes UNIX, zu erreichen über ein Terminal. Wer BeOS kennt, wird sich in Haiku schnell zurechtfinden, alle anderen dürften es ebenfalls sehr schnell erlernen.
Haiku selbst steht unter der MIT Lizenz, wie OpenBSD. Auch wenn große Teile des Systems neu geschrieben wurden, hat es dennoch Code anderer freier Systeme übernommen. Der Netzwerkstack und das VM stammen - allerdings massiv angepasst und auf C++ portiert - aus FreeBSD, Haiku soll später zudem komplett für FreeBSD entwickelte Treiber nutzen können. Im Moment ist dies nur mit Netzwerkkartentreiber möglich. Große Teile des Userlands stammen vom GNU-Projekt. Allerdings nutzt Haiku seine eigene grafische Oberfläche, X11 und bekannte Toolkits wie GTK+ kommen nicht zum Einsatz.

Installation:
Auch wenn man haiku bereits nativ installieren kann, ist dies nicht empfohlen. Noch wird zu wenig Hardware unterstützt und die Installation muss aus Linux heraus erfolgen. Von xBSD aus ist es nicht möglich, da wir das OpenBFS Dateisystem nicht schreiben können. Daher wird der Einsatz einer virtuellen Maschine empfohlen.

Für Qemu:
- Qemu installieren und unter FreeBSD aio.ko laden. kqemu.ko darf nicht geladen sein und entsprechend nicht genutzt werden. Andernfalls startet Haiku nicht, sondern stürzt ab.
- Ein aktuelles Haiku-Image "Haiku HD-Image" von http://haiku-os.org/build_factory laden und per bunzip auspacken.
- Mittels "qemu -hda haiku-os.img" das Image im Qemu starten. Sollte er nicht starten, einfach einen späteren Build - Haiku wird automatisiert zweimal am Tag gebaut - ausprobieren. Alternativ ein "raw" Image von http://haikuhost.com/housestrain/ probieren.

Nachdem Haiku gestartet ist, präsentiert sich der "AppServer" - ein Explorerverschnitt - und ein geöffnetes Terminal. Beides kann vollständig genutzt werden. Einige Anwendungen liegen bei, weitere Software findet man unter http://www.bebits.com/.

Wer sich allgemein für BeOS interessiert, kann sich aus der freien BeOS 5 Personal Edition eine Vollversion bauen. Wie das geht, werde ich hier aufgrund der nicht geklärten Lizenzlage allerdings nicht beschreiben.

Im Anhang ein Screenshot des aktuellen Haiku-Images von heute Morgen (05.11.2007 5:00 Uhr)
 

Anhänge

  • haiku.png
    haiku.png
    23,8 KB · Aufrufe: 382
Zuletzt bearbeitet:
Hi,

in diesem Zusammenhang stellt sich mir die Frage: Welche Vor- oder Nachteile hat ein objekt-orientiertes OS / Kernel in Vergleich zum im Standard C geschriebenen?

Gruss, Elwood

Erstmal gibt es keine direkten Vorteile, denn Objektorientierung geht auch in C (wenn auch etwas umständlicher als in "objekt-orientierten Sprachen"). Das bedeutet, "objektorientiert" und "in C geschrieben" schließen sich im Prinzip nicht aus. Ein bisschen Objektorientierung wird im übrigen schon angewandt, z.B. die Bus-/Treiber-API in NetBSD und FreeBSD ist objektorientiert. Zwar hat man keine strenge Kapselung, keine Vererbung genau wie in C++ und auch keine Exceptions, aber Interfaces, Objekte und etwas, was der C++ Einfachvererbung ähnelt sind durchaus vorhanden. Die Modularisierung die mit den Konzepten einher geht, trägt zur Lesbarkeit, Wartbarkeit und Erweiterbarkeit bei. Ausserdem lässt sich vieles abstrahieren und somit generisch lösen.

Das Bus- u. Treiberinterface ist auch bestens geeignet für objektorientierte Modelle, denn man hat Hierarchien (am Bus hängen Devices, Brücken und damit "Unter-"Busse) und gekapselte Funktionalität die sich leicht kategorisieren lässt (z.B. Device bietet blockweisen Zugriff auf Hardware). Mit den o.g. Vorteilen lässt sich ein Treiber in FreeBSD mit einem einfachen DECLARE_MODULE(...) und ein paar Parametern erstellen; die probe()-, attach()-, detach()-Routinen werden dann automatisch bei Bedarf vom Bus aufgerufen. Wenn's Dich genauer interessiert, schau Dir die Datei sys/bus.h an.

Ganz extrem macht sich dies übrigens Mac OS X zu Nutze. Dort sind alle Treiber Klassen und jede Instanz ein Objekt. Die APIs zum Hardware-Zugriff sind sowohl im Userland als auch im Kernel verfügbar, so dass man einen Treiber im Userland entwickeln kann und später im Kernel verwenden kann. Jedes Objekt ist gekapselt und die APIs können von mehreren Threads/Prozessen gleichzeitig verwendet werden, so dass man sich auch keine Sorgen um Parallelität machen muss.
 
Hallo yamagi,

erstmal danke für Deine Ausführliche Schilderung zu Haiku und vor allen BeOS, allerdings bedarf es hier einer kleinen Verbesserung der Vollständigkeit halber.

Bitte fasse das nicht als Kritik auf sondern eher als Ergänzung !

So der Chef Entwickler von BeOS war vorher Chef von Apple Frankreich und stellte 1990 / 1991 Steve Jobs seine Idee von einem Multimedia Betriebssystem vor, allerdings lehnte Steve Jobs das seinerzeit dankend ab !

BeOS wäre mal vielleicht das Apple OS geworden.

So weiter im Text darauf gründete Jean-Louis Gassée mit zwei anderen zusammen Be Inc in Paris.

http://www.maybe.de/beos/

Allerdings war die Unterstützung der Hersteller mehr als mangelhaft worauf sich eine " Comnunity bildete " die sich BeGeisterte nannten.

Zusammengefasst es kam wie es kommen musste Be Inc musste Konkurs anmelden, und Palm nützte die Gunst der Stunde und kaufte den Source von BeOS:

http://de.wikipedia.org/wiki/BeOS

ne weitere gute Seite zu BeOS / Haiku / Zeta

http://www.besly.mittilgart.de/

LG nicolas
 
Naja, was hätte Jobs 1990 mit BeOS gesollt? Er war ja damals mit NeXt unterwegs und hatte schon die erste Version seines System auf dem Markt :)
 
Anders als das inzwischen eingestellte Zeta ist es jedoch komplett neu geschrieben und enthält keinen Code des original BeOS mehr.
Soweit ich weiss - kann mich auch durchaus irren - ist die grafische Oberfläche 1:1 von BeOS übernommen worden, da diese vor einiger Zeit mal im Sourcecode veröffentlicht wurde.
 
Ja, das kann schon sein. Ich meinte es eher so, dass Haiku keinen Code von BeOS beinhaltet, welche lizenztechnisch strittig ist :)
 
Zurück
Oben