Autor Thema: 0.3 - Ideen und Ziele  (Gelesen 54712 mal)

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« am: 09. May 2009, 23:18 »
Nachdem wir so langsam auf den letzten Metern für die 0.2.1 sind (unter anderem kommt Unterstützung für CD-ROM und UTF-8 dazu, außerdem ein paar neue lpt-Pakete und eine Ladung Bugfixes), ist es an der Zeit, sich einmal Gedanken zu machen, was die nächsten Schritte sind und wo uns die Zukunft hinführen soll.

Dafür, daß tyndur ein Communityprojekt ist, haben wir in letzter Zeit das Forum vielleicht etwas zu wenig in die Entwicklungen einbezogen. Das möchte ich an dieser Stelle ändern: Was meint ihr, wohin die Reise gehen soll? An dieser Stelle sind spontane und möglicherweise "kreative" Ideen genauso gefragt wie ausgefeilte Vorschläge oder einfach nur Vorschläge für Features oder eine bestimmte Entwicklungrichtung.

Um einen Ausgangspunkt für Ideen zu geben, möchte ich einmal kurz die groben Felder nennen, die ich persönlich sehe:

Kernkomponenten
Dieser Bereich umfaßt den Kernel, Treiber und die libc. Unsere Überlegung war, daß in diesem Bereich die zentralen Änderungen für 0.3 liegen werden. Als Baustellen sehe ich dabei vor allem:

  • Umstellung auf kernel2, d.h. Implementierung der im Vergleich zu kernel noch fehlenden Features und Syscalls
  • Mehr Dokumentation in kernel2, auf tyndur wird oft als Beispiel verwiesen und eines seiner ursprünglichen Ziele ist auch, daß es dabei hilfreich sein soll. In den Code könnte man oft fast eine Art Tutorial als Kommentar einbetten.
  • LostIOv2 als neues, kernelbasiertes virtuelles Dateisystem soll das bisherige LostIO, das im Userspace läuft, ablösen und sowohl eine sauberere Schnittstelle bereitstellen als auch die Performance verbessern
  • Portierung auf amd64 (niedrigere Priorität)
  • Unterstützung für TCP-Server
  • Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)
POSIX und lbuilds
In diesem Bereich geht es darum, existierende Software - vor allem aus dem *nix-Umfeld - auf tyndur zu portieren. Dazu gehört es auch, die POSIX-Emulation in der libc weiter zu vervollständigen oder ganz neue Funktionen einzubauen. An dieser Stelle könnte man unglaublich viel aufzählen, aber wichtig wären mir vor allem:

  • Irgendein Mailclient, z.B. mutt
  • Ein SVN- oder git-Client
Damit könnte man dann theoretisch die tyndur-Entwicklung unter tyndur vorantreiben. ;)

Grafische Benutzeroberfläche
Ja, eine GUI wäre eigentlich auch mal ganz nett. Wirklich konkrete Vorstellungen habe ich dazu noch nicht, aber ich würde mir wünschen, daß sie tastaturfreundlich ist.

Freaky und ich selbst werden neben den restlichen Aufgaben vermutlich kaum die Zeit finden, viel in Sachen GUI zu unternehmen - dazu hat sie im Vergleich zum Rest noch eine zu niedrige Priorität. Wir könnten zwar in allen Feldern Verstärkung gebrauchen, aber ich sag's mal ganz direkt: In Sachen GUI wird nur was passieren, wenn sich ein paar Leute zusammenfinden, die auf diesem Gebiet zusammen was reißen wollen.

Wenn das gegeben ist, dann werden wir sicher auch die nötige Unterstützung geben können, wie man das am besten mit dem Rest von tyndur integriert. Ansonsten könnte die Entwicklung als relativ eigenständiges Projekt mit momentan noch allen Freiheiten laufen - und wer sich als Interessierter meldet, hat gute Chancen, die Sache selbst leiten zu können.

Werkzeuge und Anwendungsprogramme
Dieses Feld umfaßt native tyndur-Programme, bisher in C oder Pascal geschrieben, die dem Benutzer zur Verfügung stehen. Momentan schon  existierende Beispiele sind die Shell, das neue Hilfeprogramm, kedit, kirc, fdisk, build oder lpt. Die meisten dieser Programme könnten Erweiterungen vertragen (welche?) und es ist sicher noch Platz für weitere. Meine Favoriten wären:

  • Ein Installationsprogramm, mit dem man tyndur von einer CD oder Netzwerk auf Platte installieren kann (für die Mutigen unter uns ;))
  • kedit: Markieren von Text, Kopieren/Ausschneiden/Einfügen, Suchen. Syntaxhighlighting für zusätzliche Sprachen (bisher nur C)
  • lpt: Upgrades, evtl. eine TUI  vergleichbar mit aptitude
Das war jetzt einmal mehr oder weniger ein kompletter Braindump von mir zu den nächsten Schritten in Richtung 0.3 - wobei sich manche Punkte davon sicher auch noch auf spätere Versionen verzögern werden. Ich bin gespannt, ob andere das ähnlich sehen oder vielleicht andere gute Ideen aufkommen, worauf man sich konzentrieren könnte.

Außerdem wäre ich natürlich daran interessiert, wer von euch sich vorstellen könnte, im einen oder anderen Themengebiet selbst ein bißchen mitzumachen. Es würde mich freuen, wenn wir ein kleines GUI-Team zusammenbekommen würden - zwei, drei Mann wäre vielleicht realistisch - aber auch in den anderen Feldern gibt es genug zu tun.

Okay, genug geredet, ihr seid dran. Vielleicht bringt ihr ja revolutionärere Ideen zustande als ich. ;)
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

chris12

  • Beiträge: 134
    • Profil anzeigen
Gespeichert
« Antwort #1 am: 10. May 2009, 10:27 »
ich hätte einen vorschlag zur gui:
vllt könnte man so wie bei windows 1 bis 3.11 handhaben, dass man die gui nachträglich, zB mit dem befehl "Start GUI" oder nur "GUI", starten kann sodass es kein muss ist. die gui sollte man dann natürlich auch beenden können um zur konsole zurück zu kommen, vllt auch ein wechsel zwischen GUI und Konsole, dann bräuchte man kein extra "Terminal -Fenster". in der gui könnte man ja noch eine einstellung "GUI mit tyndur starten" zur verfügung stellen, man sollte aber immer zur konsole, zB mit STRG-2 für die Konsole bzw STRG-1 für die GUI, zurück kommen.
die gui selber sollte nicht grade eine maus als nötig erachen, nur als optional, sodass man den cursor zB per pfeiltasten bewegen kann, mit enter linksklick, bzw rechtsklick für linkshänder, und mit zB return rechts- bzw linksklick. zudem sollte man auch zwischen tastatur- und maussteuerung hin und her schalten können, zB per STRG-3, dass man enter und return auch normal benutzen kann.

ich hoffe ich konnte ein parr gute ideen liefern.
OS? Pah! Zuerst die CPU, dann die Plattform und _dann_ das OS!

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #2 am: 10. May 2009, 15:53 »
Ja, die GUI sollte schon optional sein. Und das hin- und herschalten ist vermutlich auch eine gute Idee, letztendlich könnte die GUI einfach noch ein weiteres virtuelles Terminal sein. Das "Terminal-Fenster", wie du es nennst, macht das aber trotzdem nicht überflüssig, denke ich. Man hat in der GUI wahrscheinlich immer noch eine höhere Auflösung als im Textmodus, 80x25 ist auf Dauer halt schon knapp.

Was die Pfeiltasten für den Cursor angeht, bin ich nicht so recht überzeugt. Hast du das schonmal ausprobiert? Sowas kann man ja in den meisten GUIs irgendwie aktivieren und es ist sehr mühselig zu bedienen (hat allerdings auch seine Vorteile um z.B. in einem Grafikprogramm pixelgenau zu positionieren, nachdem man mal in der Nähe ist). Für eine wirklich tastaturoptimierte Oberfläche sollte der Mauscursor eher eine untergeordnete Rolle spielen (und für die Fälle, wo man ihn braucht, könnte man versuchen, iterativ ein 3x3-Raster über den Bildschirm zu legen und über den Nummernblock auszuwählen, oder sowas - keine Ahnung, ob das in Praxis bedienbar wäre, aber es klingt jedenfalls schneller als die Cursortasten).
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #3 am: 11. May 2009, 16:28 »
Nein, Tastaturmaus ist auch nicht wirklich was ich mir unter vernünftiger Steuerung mit Tastatur vorstellen würde. Ich persönlich würde ja gerne etwas sehen, das in Richtung awesome(http://awesome.naquadah.org) geht, also mit verschiedenen auswählbaren Algorithmen, die entscheiden wie die Fenster auf einer Virtuellen Arbeitsfläche(auch ein Konzept, das ich unbedingt brauche ;-)) angeordnet werden. awesome ist meiner Meinung nach nämlich ganz effizient bedienbar ohne Maus.

Ein Terminal-Fenster muss auf jeden Fall rein, umschalten ist auf Dauer nervig und auch die Auflösung ist, wie taljeth schon gesagt hat, einfach zu klein. Ich finde es oft auch praktisch mehrere Konsolenfenster nebeneinander offen zu haben.

Ein weiteres Feature, das ich mir wünschen würde, wäre ein bisschen Internationalisierung, also sowohl bei der Sprache der Anwendungen, als auch Dinge wie verschiedene Tastaturlayouts und so...

ChristianF

  • Beiträge: 296
    • Profil anzeigen
    • DeutschOS - Betriebssystem Projekt
Gespeichert
« Antwort #4 am: 13. May 2009, 13:41 »
Eine GUI mit runden oder elipsartigen Fenstern wäre doch mal was neues.  :roll:  :-D

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #5 am: 13. May 2009, 14:14 »
Das klingt ja unglaublich nützlich, damit kann man ja den Platz auf dem Bildschirm viel besser ausnutzen. ;-)

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #6 am: 13. May 2009, 15:11 »
Das stell ich mir auch unglaublich sinnvoll vor... :roll:
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

ChristianF

  • Beiträge: 296
    • Profil anzeigen
    • DeutschOS - Betriebssystem Projekt
Gespeichert
« Antwort #7 am: 13. May 2009, 16:14 »
Das klingt ja unglaublich nützlich, damit kann man ja den Platz auf dem Bildschirm viel besser ausnutzen. ;-)
Das stell ich mir auch unglaublich sinnvoll vor... :roll:
Das nicht unbedingt, aber es wäre etwas, was es noch nicht gibt...

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #8 am: 13. May 2009, 17:59 »
Nicht alles was es noch nicht gibt, ist es wert geschaffen zu werden. Wir sind übrigens ziemlich Offtopic...
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

ChristianF

  • Beiträge: 296
    • Profil anzeigen
    • DeutschOS - Betriebssystem Projekt
Gespeichert
« Antwort #9 am: 14. May 2009, 07:56 »
Gut, damit ich hier nicht nur Offtopic beitrage, mal ein hoffentlich sinnvoller Beitrag.
Wenn ich mir die Liste der Kernkomponenten anschaue, sehe ich dort "Portierung auf amd64 (niedrigere Priorität)". Warum hat dies eine niedrige Priorität?
Den Punkt "Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)" finde ich gut, und eventuell könnte ich da sogar etwas beitragen, falls das zeitlich funktioniert...

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #10 am: 14. May 2009, 13:47 »
Wenn ich mir die Liste der Kernkomponenten anschaue, sehe ich dort "Portierung auf amd64 (niedrigere Priorität)". Warum hat dies eine niedrige Priorität?

Weil kernel2 ohne das trotzdem genau so gut läuft, ohne amd64. Davon merkt der User ja nicht wirklich viel solange er nicht allzuviel RAM hat. Und das braucht er im Moment mit tyndur eh nicht, ohne die anderen Features. ;-)

Ein weiteres Feature, das mir noch so einfällt ist ein Debugger (vorzugsweise ein GDB-Port). Und damit meine ich keinen Kernel-Debugger sondern einen im Userspace.

bluecode

  • Beiträge: 1 391
    • Profil anzeigen
    • lightOS
Gespeichert
« Antwort #11 am: 14. May 2009, 17:31 »
Ich habs ja im IRC bereits gesagt, ich werde mich um eine C++ Standardbibliothek für tyndur und lightOS kümmern.
lightOS
"Überlegen sie mal 'nen Augenblick, dann lösen sich die ganzen Widersprüche auf. Die Wut wird noch größer, aber die intellektuelle Verwirrung lässt nach.", Georg Schramm

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 14. May 2009, 18:16 »
Wenn ich mir die Liste der Kernkomponenten anschaue, sehe ich dort "Portierung auf amd64 (niedrigere Priorität)". Warum hat dies eine niedrige Priorität?
Zum einen siehe Freaky, aber zum anderen: Das ist ja keine offizielle Liste, was tatsächlich bis zur 0.3 passieren soll, sondern meine persönliche Wunschliste. Und mein tyndur-Testrechner ist kein 64-Bitter, insofern ist es mir halbwegs egal, ob das tut.

Kann ja sein, daß das auf deiner Wunschliste wesentlich weiter oben steht, dann schreib das einfach hier in den Thread. Am Ende schauen wir mal zusammen, was an Ideen und Wünschen da ist und was wir realistisch für die nächsten Versionen einplanen können.

Zitat
Den Punkt "Evtl. mehr Hardwareunterstützung (z.B. Netzwerkkarten)" finde ich gut, und eventuell könnte ich da sogar etwas beitragen, falls das zeitlich funktioniert...
Was für eine Karte wäre das denn bei dir?

Ach ja, mir ist noch was eingefallen: Shared Libs wünsche ich mir natürlich auch noch. Auch wenn die alles noch komplizierter machen, aber Monsterbinaries müssen auch nicht gerade sein.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

ChristianF

  • Beiträge: 296
    • Profil anzeigen
    • DeutschOS - Betriebssystem Projekt
Gespeichert
« Antwort #13 am: 15. May 2009, 08:11 »
Nun, ich habe in meinen 2 Testrechnern ein bissel ältere Hardware. Da wäre z.B. eine Voodoo 3... :D
Für eine genaue Liste muss ich nachschauen, dachte dabei an Grafik-, Sound- und Netzwerkkarten...
 
Soweit oben ist der Punkt 64 Bit nicht. 1 Rechner von 4 hat einen 64 Bit Prozessor, allerdings läuft da ein Fileserver drauf ;)

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #14 am: 22. May 2009, 16:13 »
Alle anderen sind wunschlos glücklich?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

Damian

  • Beiträge: 100
    • Profil anzeigen
    • http://www.cosysda.de
Gespeichert
« Antwort #15 am: 22. May 2009, 16:32 »
JA :-)
Habe mein eigenen Code syntax ;)
Und rechtschreibfehlern dürft ihr behalten.
if (user =="user"){Rechtschreibfehler_behalten();}elseif (user >= "moderator"){Rechtschreibfehlern_korrigieren();}

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #16 am: 22. May 2009, 18:37 »
Ist doch toll, da kann man die  Erwartungen nur übertreffen.  :-P
« Letzte Änderung: 22. May 2009, 18:59 von FreakyPenguin »

XanClic

  • Beiträge: 261
    • Profil anzeigen
    • github
Gespeichert
« Antwort #17 am: 23. May 2009, 13:46 »
Ich fände eine Make-Portierung sehr schön. :lol:

FreakyPenguin

  • Administrator
  • Beiträge: 301
    • Profil anzeigen
    • toni.famkaufmann.info
Gespeichert
« Antwort #18 am: 23. May 2009, 18:42 »
Hm ich glaube da fehlt nicht mehr viel. Das habe ich schon mal angefangen, weiss aber nicht mehr, wieviel noch fehlt.

Überhaupt hätte ich gerne so die wichtigsten Tools, die man so braucht, auf tynur gesehen. Einige Beispiele: tar,bzip2,bc,wget,grep,find,... Die meisten davon sollten eigentlich nicht allzu aufwändig sein zu portieren.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 24. May 2009, 12:05 »
Ich glaube, für make fehlt vor allem eine bash, um wirklich sinnvoll mit make arbeiten zu können. Weiß nicht, ob das mit der losh so richtig Spaß macht. Für die einfacheren Sachen gibt es ja build. Den wirklichen Sinn von make sehe ich erst dann, wenn man existierende Programme unter tyndur kompilieren kann.

Und wahrscheinlich mal wieder fork/exec...
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

 

Einloggen