Autor Thema: Ein letztes Mal noch...  (Gelesen 22947 mal)

T0ast3r

  • Gast
Gespeichert
« am: 29. March 2006, 21:08 »
Hi,

wie die meisten ja wissen, wollt ich das LOST Projekt leiten (schon 2 mal  :roll: )
jaa, aber da waren ein paar dagegen, will aber nicht näher darauf eingehen

in letzter zeit ist ja so gut wie nichts weitergegangen, weshalb ich vorschlagen würde LOST zu leiten und daraus etwas zu machen
dabei würde ich alles neu beginnen, und jeder könnte dabei mitmachen und mitwirken

Zudem habe ich nun eine Menge erfahrung in Betriebssystementwicklung, mein OS ist nun ziemlich weit was die API betrifft (GUI fehlt...), weswegen ich  auch Code von ToasterOS übernehmen kann.

Feedbacks und eure persöhnlichen Meinungen sind gerne erwünscht,

Toaster

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #1 am: 29. March 2006, 21:38 »
Finde ich eine sehr gute Idee. Aber dann wirklich alles selber machen. Also auch den Bootstrap etc. und nicht grob (oder wie heißt der?) verwenden. Ich könnte auch mithelfen. Ich kann aber nur Assembler, also kein C/C++ etc. Auch wenn ich mehr Zeit für mein eigenes OS investiere könnte ich einiges mitmachen. Vielleicht den Bootstrap schreiben. Wie soll es denn am Anfang sein? Direkt Dateisystem, oder lieber erst einzelde Sektore als Kernel laden? Würde mir bestimmt spass machen.

bitmaster
In the Future everyone will need OS-64!!!

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #2 am: 29. March 2006, 21:41 »
So, habe schon die ersten sachen gemacht. Ein kleiner Bootstrap und ein noch kleinerer Kernel. Hier der Code:

boot.asm:

org 7C00h

xor ax,ax
mov ds,ax
mov es,ax
mov si,Msg
call WriteMsg

mov ax,1000h
mov es,ax ;Segment = 1000h
xor bx,bx ;Offset = Null
mov ah,02h ;lade Sektor(e)
mov al,01h ;erstmal einen
mov cl,02h ;zweiter Sektor
xor ch,ch ;Spur Null
xor dl,dl ;Disk0 = Floppy0
xor dh,dh ;Seite Null
int 13h

;Segmentregister setzen
mov ax,1000h
mov ds,ax
mov es,ax

db 0EAh ;jmp
dw 0000h ;Offset
dw 1000h ;Segment

WriteMsg:
lodsb
or al,al
jz WriteMsgBack
mov ah,0Eh
int 10h
jmp WriteMsg

WriteMsgBack:
ret

Msg db "LOST wird geladen...",00h

times 510-($-$$) db 0
dw 0AA55h



kernel.asm:

org 0

mov si,Msg
call WriteMsg
jmp $

WriteMsg:
lodsb
or al,al
jz WriteMsgBack
mov ah,0Eh
int 10h
jmp WriteMsg

WriteMsgBack:
ret

Msg db 13,10,13,10,"LOST:>",00h



Wie man sieht, noch sehr klein. Aber wir können es ja erweitern.

bitmaster
In the Future everyone will need OS-64!!!

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« Antwort #3 am: 29. March 2006, 22:04 »
würde das heißen, dass alles neu gemacht wird? (die unterschiedlichen teams, der ganze quelltext, die planung, etc)

kann am commos jeder teilnehmen, der öfters hier im forum und/oder auf der lowlevel-seite ist? muss man dafür einiges an grundwissen haben oder reicht es auch, wenn man ein klein wenig wissen hat?

ich hätte nämlich theoretisch auch lust auf sowas, weiß nur nicht, ob ich (schon) dafür geeignet bin.

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #4 am: 29. March 2006, 22:24 »
hi,
ersteinmal eine sehr gute Idee !
ich könnte ja auch ein wenig mithelfen  :lol:
jeder sollte mitmachen dürfen, egal wieviel man weiss, hauptsache man ist motiviert bei der Sache, dass nicht nach ein oder zwei Monaten das Projekt eingestellt wird !
Wichtig ist auch dass alles gut dokumentiert ist und ein Design Sheet oder so erstellt wird, wo alles genau festgehalten wird. Im Optimalfall muss man diesen als "neuer" Entwickler nur durchlesen und man weiss wie das OS aufgebaut ist.

mfg,
stefan

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #5 am: 29. March 2006, 23:39 »
Zitat von: bitmaster
Aber dann wirklich alles selber machen. Also auch den Bootstrap etc. und nicht grob (oder wie heißt der?) verwenden.

Bitte nicht. GRUB ist eine tolle Sache und vermutlich hat ihn sowieso jeder installiert, der mal mit Linux zu tun hatte. Ein Bootmenü, wo ich bequem den zu bootenden Kernel auswählen kann, würde dein Bootloader vermutlich nicht bieten. Manche Sachen muß man einfach nicht ständig neu erfinden.

Vielleicht ließe es sich für die Puristen einrichten, daß der Kernel zwar GRUB-kompatibel ist, aber zusätzlich noch ein eigener Bootloader geschrieben wird. Aus Benutzersicht macht das zwar keinen Sinn, aber wenn es drum geht, zu demonstrieren, wie man so was schreibt - meinetwegen.
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #6 am: 30. March 2006, 07:17 »
Zitat von: taljeth
Zitat von: bitmaster
Aber dann wirklich alles selber machen. Also auch den Bootstrap etc. und nicht grob (oder wie heißt der?) verwenden.

Bitte nicht. GRUB ist eine tolle Sache und vermutlich hat ihn sowieso jeder installiert, der mal mit Linux zu tun hatte. Ein Bootmenü, wo ich bequem den zu bootenden Kernel auswählen kann, würde dein Bootloader vermutlich nicht bieten. Manche Sachen muß man einfach nicht ständig neu erfinden.

Vielleicht ließe es sich für die Puristen einrichten, daß der Kernel zwar GRUB-kompatibel ist, aber zusätzlich noch ein eigener Bootloader geschrieben wird. Aus Benutzersicht macht das zwar keinen Sinn, aber wenn es drum geht, zu demonstrieren, wie man so was schreibt - meinetwegen.
Also das sehe ich ganz anders. Ich finde nicht das wir etwas vorgekautes kopieren bzw. einbinden sollten. Wenn ich von Betriebssystem etwicklung spreche, dann meine ich alles an dem OS (Bootstrap+Kernel+GUI etc.) selber zu machen. Und ja, ich hatte Linux mal eine Zeit lang installiert (war grauenhaft), aber GRUB reizt mich nicht besonders (wegen den oben genannten Gründen). Wer hier der Chef von LOST ist, sollte entscheiden wie es gemacht wird. Der Chef bzw. Leiter von LOST ist doch jetzt T0ast3r, oder? Also er muss dann wissen wie wir es machen. Aber wie gesagt wenn dann C/C++ verwendet wird, mache ich nicht mehr mit (weil ich diese Programmiersprachen nicht kann). Also wie machen wir es? Nur Assembler und alles selber machen? Oder C/C++ drin und/oder mit GRUB?

bitmaster
In the Future everyone will need OS-64!!!

T0ast3r

  • Gast
Gespeichert
« Antwort #7 am: 30. March 2006, 08:06 »
Wegen dem bootloader (und ev. dem bootstrap loader - Partitionen) schließe ich mich bitmaster an, man sollte etwas eigenes programmieren.
einen bootloader zu schreiben ist nicht so schwer, bitmaster hat schon einen anfang geschrieben.

Grub ist eigentlich nur ein Multiboot boot loader, also damit man mehrere Betriebssysteme auf verschiendenen Partitionen benutzen kann.
Darüber hinaus kann man (glaub ich) auch einen (dem OS betreffenden) Kernel laden.
Jedoch denke ich, es ist besser einen eigenen. (ist ja auch nicht so schwer)

Jeder der will kann und soll bei LOST mitmachen, egal ob viel oder wenig.
Und geeignet ist auch jeder!

Wegen der Programmiersprache, ich beherrsche Assembler aber auch C++. (und andere)
Ich bin dafür, dass wir mit mehreren Programmiersprachen arbeiten.
Dann müssen wir ein einheitliches Interface und Format festlegen.

Ich finds toll dass ihr euch so schnell gemeldet habt!
Am besten wir warten noch ein paar Tage, und beginnen dann mit der Entwicklung. (des Bootloaders, usw.)
Einsteigen kann aber trotzdem immer jeder.

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #8 am: 30. March 2006, 11:53 »
Zitat von: T0ast3r
einen bootloader zu schreiben ist nicht so schwer, bitmaster hat schon einen anfang geschrieben.

Das bezweifle ich ja gar nicht, daß es leicht ist, irgendeinen Bootloader zu schreiben. Aber einen Bootloader mit der Funktionalität von GRUB zu schreiben, ist sicher nicht mehr ganz so leicht.

Zitat
Grub ist eigentlich nur ein Multiboot boot loader, also damit man mehrere Betriebssysteme auf verschiendenen Partitionen benutzen kann.
Darüber hinaus kann man (glaub ich) auch einen (dem OS betreffenden) Kernel laden.
Jedoch denke ich, es ist besser einen eigenen. (ist ja auch nicht so schwer)

GRUB lädt im allgemeinen den Kernel von der Platte, kann auch noch Module mitladen (ich glaube, Hurd benutzt das) und startet das dann. Was auch geht, ist per chainloader einen anderen Bootloader aufzurufen.

Was ist jetzt an der ersten Methode so viel besser? GRUB kann mit Dateisystemen umgehen, ich kann also direkt mit dem Dateinamen des Kernels hantieren und z.B. auch mehrere Versionen des Kernels nebeneinander haben. Wenn ich den chainloader benutzen will, muß ich dem System mit seinem eigenen Bootloader schonmal eine eigene Partition spendieren (kann aber zumindest das Dateisystem nicht mehr benutzen, sondern brauche die physische Position).

Andererseits sehe ich natürlich auch ein, daß LOST zum Lernen gedacht ist, insofern ist ein eigener Bootloader sicher auch nicht verkehrt. Daher mein Vorschlag, ob wir es nicht vielleicht schaffen, zweigleisig zu fahren und sowohl GRUB als auch einen eigenen, einfacheren Bootloader zu unterstützen.

Zitat
Wegen der Programmiersprache, ich beherrsche Assembler aber auch C++. (und andere)
Ich bin dafür, dass wir mit mehreren Programmiersprachen arbeiten.
Dann müssen wir ein einheitliches Interface und Format festlegen.

Wir mischen ASM, C, Pascal, Ada und Brainfuck? ;) Hm, naja, warum eigentlich nicht (außer daß man alle Sprachen zumindest verstehen muß, wenn man das komplette OS verstehen will). Aber spätestens wenn OOP ins Spiel kommen soll, kannst du das vergessen, weil nichts mehr kompatibel ist.

Zitat
Ich finds toll dass ihr euch so schnell gemeldet habt!

Das GUI-Team braucht eben endlich einen Unterbau. ;)

Bleibt es eigentlich bei der grundsätzlichen Überlegung, daß es ein Microkernel werden soll?
Thou shalt not follow the NULL pointer, for chaos and madness await thee at its end.

maumo

  • Beiträge: 182
    • Profil anzeigen
    • http://maumo.50webs.com/
Gespeichert
« Antwort #9 am: 30. March 2006, 14:41 »
Zitat
Der Chef bzw. Leiter von LOST ist doch jetzt T0ast3r, oder?


Ich würd sagen der chef ist mastermesh, solange er diesen titel nicht ausdrücklich an T0ast3r abgibt.

Ich find wir (wenn dann will ich auch mit machen!) können nicht einfach anfangen. Es MUSS erstmal das design FESTSTEHEN, d.h. einen Bootloader kann man erst schreiben, wenn die Dateisystemfrage, Kernelformat usw. geklärt sind.

Zitat
Zudem habe ich nun eine Menge erfahrung in Betriebssystementwicklung, mein OS ist nun ziemlich weit was die API betrifft (GUI fehlt...), weswegen ich auch Code von ToasterOS übernehmen kann.


Ich behaupte mal auch erfahrung zu haben. Aber ich dachte ihr wolltet ALLES neu schreiben, code wird also nicht übernommen!

Zitat
Wegen der Programmiersprache, ich beherrsche Assembler aber auch C++. (und andere)
Ich bin dafür, dass wir mit mehreren Programmiersprachen arbeiten.


Jeder der sich PRORAMMIERER nennen will sollte in der lage sein eine programmiersprache innerhalb kürzester zeit  (wenns nicht gerade asm ist...) zu lernen. Der Kernel sollte aber trotzdem in einer sprache geschrieben sein. Die UserProgramme können dann ja immer noch in ner anderen sein.

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #10 am: 30. March 2006, 16:15 »
hi,
hmmm mastermesh meldet sich aber hier nicht mehr so oft !?

Mehrere Sprachen wäre schon nicht schlecht, was mir aber eigentlich eher egal ist  :)
Man könnte evt. das Windows PE Format hernehmen für Kernel/Module und Treiber. Die haben schöne Features wie Import/Export/Fixup Tables und werden auch von vielen Sprachen wie Assembler und C/C++, aber auch Delphi (:lol: ) unterstützt !

Bevor aber richtig zum programmieren angefangen wird, sollte erstmal ein Design Dokument existieren und genügend Mithelfer gefunden werden und dass es dann nicht so ausschaut dass ein oder zwei die ganze Arbeit alleine machen und der Rest sich abgeseilt hat.  :D

mfg,
stefan

T0ast3r

  • Gast
Gespeichert
« Antwort #11 am: 30. March 2006, 19:38 »
Also das mit dem Leiter, just don't know... (sollt aber auch nicht so wichtig sein)

Das zweigleisig GRUB und selbstgeschrieben verwendet wird halt ich für eine gute Idee, für die beste.

Mehrere Programmiersprachen zu "mixen" sollte kein Problem sein, solang die Koordination funktioniert.
Dabei sollte sich die Programmiersprache nur Modulweise wechseln, sonst gäbs wirklich ein durcheinander.

Natührlich ist ein guter Programmierer in der Lage eine neue Sprache zu lernen, aber ich glaub nicht dass hier jeder Lust und Zeit dazu, nochdazu ist es ja nicht kommerziell.

Wegen dem Kernel würde ich extra nen Thread aufmachen, ist ja auch ziemlich umfassend.

Klar ist auch dass erst programmiert wird wenn alle fragen geklärt sind und die aufgabenstellung.
Ich werde demnächst einen Thread für den Bootloader öffnen.

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« Antwort #12 am: 30. March 2006, 20:10 »
ich finde, man sollte allen, die bisher an lost mitgewirkt haben, bescheid sagen und fragen, ob noch einige davon wieder mitmachen.

insbesondere mit mastermesh sollte das wohl abgesprochen werden, bevor man hier sowas einfach macht.

falls es dazu kommt, wäre ein irc-channel oder ähnliches (vllt mit festgelegten treffzeiten) meiner meinung nach sinnvoll, da man dadurch einfach mehr und besseren kontakt hat, als über einzelgespräche oder forum.

so, das wollte ich nur mal loswerden.

cu
  nore

bitmaster

  • Troll
  • Beiträge: 1 138
    • Profil anzeigen
    • OS-64 = 64 Bit Operating System
Gespeichert
« Antwort #13 am: 30. March 2006, 21:57 »
Ich finde es sollte nicht immer groß rumdiskudiert werden ob mastermash damit einverstanden ist. Dann wird sich wieder nichts tuen. Also einfach mal Anfangen. Wenns um Dateisysteme geht, kann ich mithelfen. Ich habe nämlich schon ein eigenes für mein OS. Ich würde aber vorschlagen für LOST das FAT12 Dateisystem zu nehmen. Später dann natürlich auch mehrere und eigene.

bitmaster
In the Future everyone will need OS-64!!!

T0ast3r

  • Gast
Gespeichert
« Antwort #14 am: 31. March 2006, 10:19 »
ich schließe mich bitmaster an, wozu alle benachrichtigen, und auf mastermesh warten?

wofür soll das gut sein?
in den letzten Monaten ist bei LOST nichts (gar nichts) weitergegangen, und wer mitmachen will soll sich einfach melden

und mit wem sollte man etwas absprechen? (mit mastermesh?)
ich glaube nicht dass er etwas gegen LOST (und diesem Neuanfang) hat

wegen eines IRC channels, dass müsste konkret wer übernehmen...
(auch eine eindeutige website)
aber ich glaube nicht, dass viele dann den IRC chat verwenden werden, es gibt ja auch das forum und viele wollen LOST nicht zu ihren Lebenswerk machen  :roll:  (die zeit...)

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« Antwort #15 am: 31. March 2006, 14:16 »
also ich könnte zumindest mal nen irc-channel registrieren. das ist ja glaub ich nicht allzu schwer.

ich meinte ja auch nicht, dass man dann ständig da ist, sondern dass man sich dort meinetwegen einmal die woche treffen könnte und je nachdem wie viele leute mitmachen, man uhrzeiten verabredet, an denen man, wenn man grade zeit hat auch so mal vorbeischaut.

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #16 am: 31. March 2006, 15:09 »
hi,
ja IRC ist ganz sinnvoll.
Bevor angefangen wird, muss erst mal ne ganze reihge besprochen werden, was in einem Forum nicht ganz so gut geht  :)

mfg,
stefan

nore

  • Beiträge: 76
    • Profil anzeigen
Gespeichert
« Antwort #17 am: 31. March 2006, 15:18 »
ok, ich hab jetzt mal nen channel registriert:

#lost auf euIRC (irc.euirc.net)

ob er später benutzt wird oder nicht, das können wir ja dann sehen.

T0ast3r

  • Gast
Gespeichert
« Antwort #18 am: 31. March 2006, 17:21 »
ich hab noch nicht viel mit irc gearbeitet, welches programm ist "das beste" dafür und wie stelle ich den channel ein?

ich würde es nicht so machen, dass jede woche ein meeting stattfindet, sondern an festgelegten Terminen
ich glaube dass viele eben nicht lust und zeit dazu haben jede woche zur selben zeit in den chat zu gehen

Homix

  • Beiträge: 138
    • Profil anzeigen
Gespeichert
« Antwort #19 am: 31. March 2006, 17:32 »
hi,
nimm den Client: mIRC, damit hab ichs auch (als Neuling in IRC) geschafft !!!

Wäre gut wenn man mehere festgelegte termine in der woche hat wo man reinschaun könnte (oder einfach immer online sein  :D )

mfg,
stefan

 

Einloggen