Zum Inhalt springen

Wie wäre es mit einem FachInf-OS??


Empfohlene Beiträge

Hi Leute,

mich hätte es mal interesiert wieviele von euch dabei wären ein FachInf-OS zu schreiben. So zusagen ein OS von FachInfs für FachInfs

:D

Warum man so etwas tuen sollte ist eigentlich simpel. Windows sucks! Linux & Co sind zwar nicht schlecht, doch was etwas nervig ist, ist das die Confs über das gesamte System verstreut liegen. Des weiteren sind die tar-balls mehr als nervig, wenn man sie aus seinem system wieder raus haben will (ja, ich weis, man kann ....)

Meine Motivation wäre es ein OS zu schreiben, das schnell, stabil, und einfach ist, aber einem denoch zugang zu lowlevel-Funktionen bietet.

GUI sollte auf demand erhältich sein, doch nicht einen solchen amount von Systemresourcen benötigen wie z. B. GNome oder KDE.

Also ich bin schon mal auf eure Posts gespannt :D

Bis denne

Widi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Also ich kenne 2 Leute, die gerade ein eigenes Betriebssystem programmieren und ich kann nur eines dazu sagen: Das ist saukompliziert und verdammt schwierig. Die Entfernung sollte weniger das Problem sein - die Komplexität die im Lauf der Zeit zusammenwächst schon eher. Grundsätzlich wäre aber ein neues Betriebssystem schon interessant und sicherlich auch sinnvoll - das was wir jetzt haben kann ja noch nicht alles gewesen sein. Ich bin auch gespannt wie viele Leute sich melden.

Link zu diesem Kommentar
Auf anderen Seiten teilen

dazu würde man allerdings einen erheblichen Aufwand benötigen

Ja, ein wenig Aufwand müsste man da schon investieren ....

und ich kann nur eines dazu sagen: Das ist saukompliziert und verdammt schwierig. Die Entfernung sollte weniger das Problem sein - die Komplexität die im Lauf der Zeit zusammenwächst schon eher.

Auch ist die Komplexität ein problem, das sich allerdings durch eine saubere Ausarbeitung des Konzeptes und einer konsequenten Umsetzung realiesren lassen sollte.

und die entsprechenden Leute und aussschließlich online (ohne Treffs) wirs so etwas wohl nicht zu realisieren sein.

Ja, die Sache mit den Treffs ist wahr, doch kann man seinen Code über Server publizieren, und über entsprechnde Bords / Foren / Chats kann man eine gewisse Kommunikation betreiben. Ob diese allerdings ausreicht, kann ich jetzt noch nicht beurteilen.

Was auch klar sein sollte, das ein solches Projekt nicht in 1nem Jahr vollendet ist.

Also ich bin auf weitere Posts, Anregungen und Ideen gespannt

cu

widi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by widi

Ja, ein wenig Aufwand müsste man da schon investieren ....

Auch ist die Komplexität ein problem, das sich allerdings durch eine saubere Ausarbeitung des Konzeptes und einer konsequenten Umsetzung realiesren lassen sollte.

Du hast noch nie ein Betriebssystem mitentwickeln nehme ich an ;). Hoert sich zumindest so an. "Ein wenig Aufwand" ist maßlos untertrieben, wenn Du wirklich "from scratch" anfaengst, benoetigst Du (bzw. ein groesseres Team) Jahre, um ueberhaupt einen brauchbaren Kernel mit Treibern auf die Beine zu stellen. Ganz zu schweigen von Design des Systems (Bootmechanismus, Scheduling, Pageing, Memory Management, Treiberstruktur und I/O, Filesystem, Prozesskontrolle, usw. usf). Eine saubere Ausarbeitung duerfte mindestens ein Jahr dauern, vorausgesetzt es handelt sich um Leute, die die entsprechende Erfahrung haben. Fazit: In meinen Augen voellig unrealistisch.

Etwas anders siehts aus, wenn man auf ein vorhandenes System zurueckgreift und die entsprechenden Komponenten wiederverwendet. Beispielsweise einen Linux-Kernel samt Treibern als Basis und dann darauf aufbaut (es gibt einige Emulatoren, die beispielsweise diesen Ansatz verfolgen). Aber selbst in diesem Fall ist der Aufwand nicht zu unterschaetzen.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

@nic_power:

Ja, du hast recht: Ich habe bis jetzt noch keines entwickelt, bzw. mit geholfen eines zu entwickeln.

Natürlich war "ein wenig aufwand" nicht wörtlich gemeint. Ich habe mich nämlich schon durchaus mit OS-Internas beschäftig z.b. durch "Operating Systems Implentation & Design" von Tannwald(??) & Co.

Mir sind also durchaus die Problematiken eines stabilen OS/Kernels bewusst.

Das eine saubere Ausarbeitung des Konzeptes von heut auf morgen möglich ist, habe ich auch nie behauptet. Allerding denke ich auch, das hier in dieser Community helle Köpfe mit Kontakten zu finden sein sollten. Auch wenn eine realisierung durch uns (FachInfs) nicht möglich sein sollte, könnte dies doch einen Anstoß bedeuten.

Auf ein Opensource-OS zurückzugreifen, ist in meinen augen nicht sinnvoll bzw. nur teilweise. Wenn man Code abkupfert nimmt man automatisch auch seine Schwachtellen bzw. eigenheiten mit. Auserdem finde ich, das es mal wieder zeit für ein neues konzept ist, das weder auf Windows-, Linux-, oder Unixkonzepten aufsetzt.

Natürlich bin ich der Meinung, das man das Rad nicht 2 oder gar 3 mal erfinden muss. :D

cu

widi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by widi

@nic_power:

Natürlich war "ein wenig aufwand" nicht wörtlich gemeint. Ich habe mich nämlich schon durchaus mit OS-Internas beschäftig z.b. durch "Operating Systems Implentation & Design" von Tannwald(??) & Co.

Andrew Tanenbaum ("Erfinder" von Minix).

Auf ein Opensource-OS zurückzugreifen, ist in meinen augen nicht sinnvoll bzw. nur teilweise. Wenn man Code abkupfert nimmt man automatisch auch seine Schwachtellen bzw. eigenheiten mit. Auserdem finde ich, das es mal wieder zeit für ein neues konzept ist, das weder auf Windows-, Linux-, oder Unixkonzepten aufsetzt.

Man übernimmt aber auch die Stärken. Heutige Betriebssysteme enthalten Komponenten, die seit Jahren auf Stabilität und Performance getuned werden. Was spricht beispielsweise dagegen, einen vorhandene IP-Stack oder Filesystem-Implementierung zu verwenden?

Es duerfte weltweit gerade mal eine Handvoll Leute geben (Tanenbaum gehoert sicherlich dazu), die in der Lage sind tragfaehige Konzepte fuer ein neues Betriebssystem zu entwickeln. Selbst die Reimplementierung eines Betriebssystem - beispielsweise im Lehrbereich - ist kein Zuckerschlecken (versuch mal an Hand des Teufelchen-Buchs BSD4.4 zu implementieren).

Versteh mich bitte nicht falsch: Betriebssystem-Design ist eine spannende Sache, leider auch so ziemlich das Aufwaendigste was es im Bereich der Software-Entwicklung gibt. Nur mit ein paar Buechern und ohne fundierte Erfahrung/Manpower ist es praktisch unmoeglich, was vernueftiges auf die Beine zu stellen (Linux ist da ein gutes Beispiel, die Entwicklung wurde zwar von einer Einzelperson initiiert, aber das System wird seit ca. 10 Jahren von ein paar hundert Leuten weiterentwickelt).

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by widi

@nic_power:

Natürlich war "ein wenig aufwand" nicht wörtlich gemeint. Ich habe mich nämlich schon durchaus mit OS-Internas beschäftig z.b. durch "Operating Systems Implentation & Design" von Tannwald(??) & Co.

cu

widi

Der heisst "Tanenbaum" (mit einem N).

Es gibt verschiedene (meitens englische Bücher) zu dieser Materie.

"Inside Windows NT" ist ganz gut , darauf beruht auch ReactOS, eine Open Source Implementation von Windows NT.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Schledo

Die Idee ist zwar nicht schlecht, dazu würde man allerdings einen erheblichen Aufwand benötigen und die entsprechenden Leute und aussschließlich online (ohne Treffs) wirs so etwas wohl nicht zu realisieren sein.

Allerdings bin ich mal auf evtl. Resonanzen hier gespannt.

Wenn man sowas machen will, würde ich erstmal entsprechende Literatur lesen und versuchen in einschlägigen Programmiersprachen richtig sattelfest zu werden dann kann man

eventuell über sowas nachdenken.

Siehe auch:

http://www.amazon.de/exec/obidos/ASIN/0132017997/qid=1035809473/sr=2-1/ref=sr_2_1_1/302-5224482-8804056

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man sowas machen will, würde ich erstmal entsprechende Literatur lesen und

versuchen in einschlägigen Programmiersprachen richtig sattelfest zu werden dann kann man

selbst dann würde ich mich wundern wenn das Endprodukt auch nur halb so gut

wie DOS wäre.

Das soll keine Beleidung sein, aber man muß doch nur mal überlegen was man

bei so einem Projekt alles beachten muß und sich kalr machen das man nicht einfach

hingehen kann und z.B. mit C einfach so Funktionen wie CreateWindow aufrufen.

Der größte Teil müßte also mit Assembler gelöst werden, und da sag ich nur Viel Spass!

Gruß

Guybrush

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Guybrush Threepwood

selbst dann würde ich mich wundern wenn das Endprodukt auch nur halb so gut

wie DOS wäre.

Das soll keine Beleidung sein, aber man muß doch nur mal überlegen was man

bei so einem Projekt alles beachten muß und sich kalr machen das man nicht einfach

hingehen kann und z.B. mit C einfach so Funktionen wie CreateWindow aufrufen.

Der größte Teil müßte also mit Assembler gelöst werden, und da sag ich nur Viel Spass!

Gruß

Guybrush

Das hat gar nichts mit Assembler oder CreateWindow zu tun, das hat was mit Erfahrung in der Entwicklung von Betriebssystemen zu tun und den nötigen Weitblick.

Es würde ja schon mal ein Ansatz sein wenn man sowas wie den NT oder BEOS - Kernel mit den Basis-IO und MemoryManagement Funktionen hinbekommen würde ... aber wenn ich mir hier so die Fragen in den Foren ansehe würde ich doch eher davon abraten.

Bei der Entwicklung eines Betriebssystems geht es wirklich nicht primär um die Nachahmung von CreateWindows or what the **** ever.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ja, ihr habt ja alle nicht unrecht. Und ich stelle ja auch nicht in frage das ich es NICHT hinbekommen würde. Doch ich hoffe , dass ihr meine Idee versteht. Oder meint ihr nicht auch, das es mal wieder zeit für etwas ganz neues wäre?? Ich versuche ja nicht zu suggeriren, dass es eins von den einfachsten Dingen wäre ein OS zu schreiben. Im Gegenteil, mir ist bewusst, dass dies eine höchst anspruchsvolle angelegenheit ist, die nur mit wirklich viel knowhow und Kommunikation zu bewältigen ist.

Vielleicht bin ich ja ein träumer.... doch dann träume ich gern! :D

cu

widi

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Guybrush Threepwood

Der größte Teil müßte also mit Assembler gelöst werden, und da sag ich nur Viel Spass!

Gruß

Guybrush

Nein, Assembler wird nur dort verwandt, wo es unbedingt notwendig ist. Der Rest wird in einer (mehr oder weniger) beliebigen Hochsprache entwickelt. Schau dir mal das Verhaeltnis von Assembler zu C beim Linux-Kernel an (unter 5%). Nur die wirklich maschineabhaengigen Codefragmente sind in Assembler geschrieben, beispielsweise MMU Initialisierung, Trampolin-Code, Bootstrap-Code, Teile des Signalhandlings, Teile des Scheduler, Basis-IO, etc. Bei einem guten Design sind grosse Teile eines Kernels portabel. Der Linux-Kernel ist da ein recht brauchbares Beispiel. Andere Betriebssysteme sind nicht ganz so modular, HP packt saemtlichen Assembler-Code, der fuer den Kernel benoetigt wird fast ausschliesslich ins "lowcore.S", was die Sache nicht wirklich uebersichtlich macht.

@widi: Gegen Träume ist nichts einzuwenden ;). Wie bereits oben erwaehnt, Betriebssystem-Entwicklung ist eine wirklich spannende Angelegenheit, und man lernt eine Menge dabei. Ich persoenlich halte die komplette Neuentwicklung aber einfach fuer viel zu aufwendig.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ich habe früher im gerne in Assembler was geschrieben, auch wenn es meist viel Code wurde, aber es ist einfach schick finde ich :) Immerhin wird Assembler heute ja auch vorallem dort eingesetzt wo es auf maximal-genaue Geschwindigkeit ankommt, da kommt keine andere Sprache an den guten Assembler ran :) :) :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Mal abgesehen von einem OS ... denkt doch mal nach was das für ein Aufwand ist für die ganze existierende, aussterbende oder ausgestorbene Hardware passende Treiber zu coden. Nur mit HAL-/HEL-Systemen kann man überhaupt noch die vielen verschiedenen Chips irgendwie bewältigen und annähernd sowas wie "Kompatibilität" erzeugen - Speed wäre allerdings auch die Möglichkeit für direkte Chipunterstützung anzubieten (3dfx hatte da geniale Treiber). Wenn man wirklich sowas machen will, dann sollte man vielleicht mit Blick auf die Zukunft vorrangig Multi-Prozessor-Systeme unterstützen (große CPU-Cluster mit shared-memory). In diesem Bereich gibt´s glaub noch nicht allzu viel Sinniges und Dual-Prozessoren sind auch nicht das Nonplusultra. Was meint Ihr, was denn für ein neues OS sonst wichtig wäre oder mal ein neuer Denkanstoß sein könnte?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Schledo

Ich habe früher im gerne in Assembler was geschrieben, auch wenn es meist viel Code wurde, aber es ist einfach schick finde ich :) Immerhin wird Assembler heute ja auch vorallem dort eingesetzt wo es auf maximal-genaue Geschwindigkeit ankommt, da kommt keine andere Sprache an den guten Assembler ran :) :) :)

Da muss ich widersprechen. Die Geschwindigkeit wird in erster Linie durch die Wahl des passenden Algorithmus bestimmt. Die wenigsten Leute sind in der Lage, eine C Routine in Assembler so zu reimplementieren, dass der Assembler-Code schneller ist. Je komplexer der Algorithmus ist, desto effizienter sind Compiler. Bei kleineren Routinen kann man mit Assemblercode sicherlich ein paar Prozent Geschwindgkeit herausholen, in den meisten Faellen wird der Code allerdings eher langsamer. Moderne CPUs sind dermaßen komplex, dass es nur wenige Leute gibt, die in der Lage sind effizienteren Code zu erzeugen als ein hochoptimierender C-Compiler.

@Crush: Shared Memory-Systeme sind nur bis zu einer bestimmten Anzahl an CPUs sinvoll, danach wird das System durch die Bandbreite des Busses ausgebremst. Sinnvoller ist es Algorithmen zu entwickelt, die mit moeglichst wenig Kommunikation untereinander auskommen. Das ist auch der Ansatz der bei praktisch allen hochparallelen Cluster-Systemen eingesetzt wird.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Schledo

Eines ist sicher : Programme wo es bis auf ein minimum mehr an Geschwindigkeit ankommt

Interessante Aussage. Ich wuerde Assembler eher an Stellen einsetzen, an denen es um ein Maximum an mehr Geschwindigkeit geht.

(also wirklich im High-End-Bereich) werden fast immer in Assembler realisiert, wenn Du das nicht glauben willst mach die Augen auf und frage mal in der Industrie nach, aber darum geht es ja hier nicht ;)

Definiere "High-End-Bereich". Gerade im industriellen/kommerziellen Bereich spielen Aspekte wie "Wartbarkeit" und "Portierbarkeit" eine entscheidende Rolle. Wie bereits erwähnt, gibt es sicherlich Bereiche, in denen der Einsatz von Assembler-Code sinnvoll ist (extrem zeitkritische oder hardwarenahe Routinen, etc). Aber leider besteht auch der weit verbreitete Irrglaube, das allein die Tatsache, das irgendwas in Assembler programmiert ist automatisch bedeutet der Code sei schnell.

Langsam wirds allerdings OT, vielleicht doch besser in ein geeignetere Forum verschieben?

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by Schledo

Eines ist sicher : Programme wo es bis auf ein minimum mehr an Geschwindigkeit ankommt (also wirklich im High-End-Bereich) werden fast immer in Assembler realisiert, wenn Du das nicht glauben willst mach die Augen auf und frage mal in der Industrie nach, aber darum geht es ja hier nicht ;)

Generell wird versucht bei einem normalen OS (nicht embedded) so wenig wie möglich in Assembler zu schreiben weil es sonst sehr schwierig wird das zu portieren.

Einige Dinge muss man in Assembler schreiben die versucht man aber dann hinter einer

C-Schnittstelle zu verstecken.

Siehe Mach-Kernel bei NeXTStep oder BEOS oder den HAL in NT.

Frank

Link zu diesem Kommentar
Auf anderen Seiten teilen

Originally posted by fmarx2000

Einige Dinge muss man in Assembler schreiben die versucht man aber dann hinter einer

C-Schnittstelle zu verstecken.

Siehe Mach-Kernel bei NeXTStep oder BEOS oder den HAL in NT.

Frank

NextStep ist in dieser Beziehung ein recht interessantes Studienobjekt, da es dieses Betriebssystem bereits vor Jahren fuer vier grundverschiedene Architekturen gab (fuer schwarze und weisse Hardware, sowie fuer HPPA und SPARC). Noch interessanter ist allerdings das Compiler-Konzept, da sich Fat-Binaries erzeugen lassen die auf allen Architekturen laufen.

Nic

Link zu diesem Kommentar
Auf anderen Seiten teilen

Auch wenn ich FISI bin und auser dem üblichen sachen von Programmierung nicht soviel Ahnung habe, so habe ich die Diskussion doch mit großem interesse Verfolgt. Ich glaube das der Aufwand den man da Betreiben müsste eine sehr Komplexe Organisation voraussetzt, es ist jedenfalls nicht ein Projekt das man eben mal so in seiner Freizeit durchführt. Wenn man es komplett anders machen will, muss man das Rad neu erfinden und das halte ich für utopisch. Die Idee ist gut aber ich glaube es wird an der Realiesirung scheitern. Trotz alledem würde ich mich gerne an Tätigkeiten die vielleicht nichts mit dem Programmieren zu tun haben beteiligen. Soll ja nicht alles schon zu anfang scheitern. Man kanns ja mal versuchen. Wie man an meinem Moto sehen kann. Wie war der spruch versuch macht kluch oder so.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Betreiben müsste eine sehr Komplexe Organisation voraussetzt,
Genau ! Und eine solche Organisation wird sicherlich nicht rein online ablaufen können, da müssen Treffen etc. organisiert werden, vorallem in der Anfangs- und Endphase, vorrausgesetzt die die Mannschaft die jetzt noch Utopie ist besteht so lange !
Link zu diesem Kommentar
Auf anderen Seiten teilen

Genau und daran wird es scheitern, man muss sich zum Organisieren treffen, wo trifft man sich da ? Man kann es bei sowas nicht jedem recht machen. Die Anreise ist wieder mit einem Gewissen Finantielen Aufwand verbunden, Anfahrt Hotel Lebensmittel....... Ich will das hier nicht übertreiben. Aber man müsste sehr viel Zeit und Geld Nerven mitbringen um diese Aufgabe erfolgreich zu meistern. Es ist halt immer das Problem das man hat man Arbeit an dem Projekt und steckt da viel Zeit und Geld rein, es muss sich dan ja auch irgendwann mal Bezahlt machen. Selbst wenn man irgenwann einmal ein fertiges OS stehen hat muss man sich damit gegen die bis dahin Zahlreichen Linux Windows MaCOS Versionen durchsetzen. Naja bin zwar ein Optimist aber auch ein Realist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...