Lowlevel

Lowlevel => OS-Design => Thema gestartet von: jeb am 13. May 2005, 12:44

Titel: ToDo Liste
Beitrag von: jeb am 13. May 2005, 12:44
Ich will mir eine ToDo liste machen und überlege grade, was es eigentlich so alles braucht und wann man das OS 1.0 nennen darf/sollte/kann.
Ich hab mal folgendes:

Bootloader
FS-Treiber
GTD
ITD
Konsole/GUI/VESA
PIC
Netzwerk

Was gibts sonst noch so alles zu implementieren?

mfg, jeb
Titel: ToDo Liste
Beitrag von: hannibal am 13. May 2005, 12:48
scheduler + memory-verwaltung
kleine API zum programmieren von anwender-applikationen
.
.
.


im endeffekt definierst du die version deines os - meistens danach was bereits funktioniert, was noch zu machen ist und wie zufrieden du damit bist, wie es läuft ;)

lg, hannibal
Titel: ToDo Liste
Beitrag von: joachim_neu am 13. May 2005, 12:57
Version 1.0:

Alles im Hintergrund lauffähig, was man haben will (PM/RM, MT/ST, PAGING/SEGMENT, VESA/TEXT, ...) und eine Instanz, mit der der Benutzer den Computer steuern kann. Das definiere ich als Version 1.0 :)
Titel: ToDo Liste
Beitrag von: DarkThing am 13. May 2005, 13:15
Filesystem und die Möglichkeit Programme auszuführen gehört auf jeden Fall auch rein.
Was vlt auch drin sein sollte ist dass man das OS unter sich selbst (also ohne anderes OS) compilieren kann.
Titel: ToDo Liste
Beitrag von: Jidder am 13. May 2005, 16:18
Und Programme sollten dabei sein. Sonst ist es nur ein Kernel *klugscheiss* ;)
Titel: ToDo Liste
Beitrag von: Roshl am 13. May 2005, 19:34
Mein Kernel ist immer auf 1.0 ich definiere die Version nur ca. alle 53,557 sekunden neu^^
Titel: ToDo Liste
Beitrag von: Another Stupid Coder am 13. May 2005, 19:41
Immer beliebter wird es auch das Datum als Version zu nehmen... z.B. 2005.05.13 für heute ;)
Titel: ToDo Liste
Beitrag von: Roshl am 13. May 2005, 19:45
Lustig aber sinnlos wäre auch bei jedem Start eine andere Versionsnummer anzeigen zu lassen, durch Zufallsziffern^^
Titel: ToDo Liste
Beitrag von: Another Stupid Coder am 13. May 2005, 19:50
Hrhrhr, das bau ich ein :D
Titel: ToDo Liste
Beitrag von: Roshl am 13. May 2005, 19:53
Wir werden OT, also zurück zum Thema
Titel: ToDo Liste
Beitrag von: Svenska am 13. May 2005, 22:36
Zu einem OS Version 1.0 gehören grundlegende Betriebssystemoperationen.
Es kann sich selbst kompilieren, bietet eine Startrampe fuer Anwendungen, ein paar Anwendungen selbst und eine API fuer den Anwendungsprogrammier. Eine GUI ist nicht zwingend (siehe OS/2 1.0, GUI kam mit 1.1), sollte aber machbar sein. Ausserdem ist das Ansprechen der Hardware nötig mit einer definierten Schnittstelle (Treibern) und ein paar grundlegende Hardwaretreiber sollten dabei sein.

Also der Kernel ist zu 100% einsatzfähig und bietet einen soliden Unterbau.

Was zu implementieren wäre...
Speichereien, Multitasking, Shell/GUI, Anwendungs-API.
Hardwareschnittstelle mit Treibern, Netz wäre prima, Unterstuetzung
fuer Speichermedien lebensnotwendig (FD, HD, CD). Naja und so weiter halt...

Svenska
Titel: ToDo Liste
Beitrag von: Jidder am 13. May 2005, 23:11
Zitat von: Svenska
Was zu implementieren wäre...
Speichereien, Multitasking, Shell/GUI, Anwendungs-API.
Hardwareschnittstelle mit Treibern, Netz wäre prima, Unterstuetzung
fuer Speichermedien lebensnotwendig (FD, HD, CD). Naja und so weiter halt...


Linux hat all das schon in Version 0.0.1 gehabt. Ich würde sagen, 1.0 ist die Version, die das erste mal im Laden steht/stehen könnte.
Titel: ToDo Liste
Beitrag von: joachim_neu am 13. May 2005, 23:39
Ich denke, Treiber gehören da noch nicht dazu, wenn man mal das OS an sich nimmt. Eigendlich braucht man nur immer die Interfaces für das alles. alles andere gehört ja (streng genommen) nimmer zum OS...
Titel: ToDo Liste
Beitrag von: Legend am 14. May 2005, 00:43
Erzähl das mal auf der LKML oder nem Linux-Zealot ...  :roll:
Titel: ToDo Liste
Beitrag von: joachim_neu am 14. May 2005, 01:21
Was? Meine Aussage? Was is damit?
Titel: ToDo Liste
Beitrag von: hannibal am 14. May 2005, 02:09
linux -> monolyth ;)
Titel: ToDo Liste
Beitrag von: Svenska am 14. May 2005, 14:31
Zitat von: joachim_neu
Ich denke, Treiber gehören da noch nicht dazu, wenn man mal das OS an sich nimmt.

OK, aber ohne Treiber ist ein OS auch sinnlos...wenigstens
Standardtreiber gehören einfach mal dazu. Denn daran ist OS/2
gescheitert - es gab fuer nix Treiber, Netzwerkunterstuetzung konnte man
sich teuer dazukaufen und fremde Treiber installieren ne Wissenschaft
fuer sich.
Wenn das OS weltbekannt ist (wie Windows zB) braucht man auch keine
besonderen Treiber mehr mitliefern, sondern nur ne gute Schnittstelle,
um Treiber einbinden/deinstallieren/benutzen zu können. Die
Hardwarehersteller machen dann den Rest. Da es aber bei CommOS
dazu nicht kommen wird...

Linux konnte in Version 0.0.2 (erste stable) noch keine SCSI-Geräte
ansprechen... aber ob Netzwerke da schon drin waren, weiss ich nicht.
Kann aber sein... ich hab den Kernel nie kompiliert gekriegt (wollte die
Minix-Headerdateien nicht finden).

Svenska
Titel: ToDo Liste
Beitrag von: Another Stupid Coder am 14. May 2005, 14:39
soweit ich weiß, waren die sockets (netzwerk) doch das was Linux zur 1.0 machte, or?
Titel: ToDo Liste
Beitrag von: Svenska am 14. May 2005, 14:42
...das ist nämlich auch mein Gedanke.

Also das sollte man in der heutigen Zeit auf jeden Fall zur 1.0 nehmen.
Netzwerke mit Treibern fuer mindestens NE2000, NE2k (PCI) und
RTL8192 oder wie der heisst *g*

Vergleichbar auch mit allem anderen, was wesentlich ist; wenn wir GUI
haben wollen, sollte der Vesatreiber auch ersetzbar sein (ich hab noch ne
Doku fuer das WD90C26A von meinem Notebook glaubsch...Vesa 1.3
kann ich nur per DOS-TSR nachruesten).

Naja das sind so meine Gedanken dazu.
Und jetzt bitte wieder OnTopic.

Svenska
Titel: ToDo Liste
Beitrag von: B.G. am 14. May 2005, 16:18
Zitat von: PorkChicken
Zitat von: Svenska
Was zu implementieren wäre...
Speichereien, Multitasking, Shell/GUI, Anwendungs-API.
Hardwareschnittstelle mit Treibern, Netz wäre prima, Unterstuetzung
fuer Speichermedien lebensnotwendig (FD, HD, CD). Naja und so weiter halt...


Linux hat all das schon in Version 0.0.1 gehabt. Ich würde sagen, 1.0 ist die Version, die das erste mal im Laden steht/stehen könnte.


Naja, ne GUI lief zum ersten mal als Orest Zborowski X nach Linux partionierte (er musste dafür zuerst ein paar UNIX-Sockets nachproggen). Netzwerk Support war in der ersten Linux Version auch noch nicht drin. Man konnte zwar schon ein Modem verwenden, aber mit Netz ist ja eigentlich nicht das Internet gemeint sondern eben Netzwerk (Ethernet z.B.). Das wurde dann erstmals mit 0.95 (ein Versionsirtum von Linus, er dachte sie wären schon bei etwa 95% eines OSes und nannte es statt 0.13 eben 0.95), allerdings war das noch sehr buggy und es funktionierte erstmals in der Version 1.0 (alias 0.99 Patchlevel 16)

__________

Ein OS das sich 1.0 nennt muss unter sich selbst kompilbar sein (das man dafür Floppy/HDD Treiber braucht ist logisch), auserdem sollte es ohne Abzustürzen laufen. Mehr würde ich nicht erwarten. DOS 1.0 konnte auch nciht so viel.
Titel: ToDo Liste
Beitrag von: Legend am 14. May 2005, 17:39
Zitat von: Svenska
...das ist nämlich auch mein Gedanke.

Also das sollte man in der heutigen Zeit auf jeden Fall zur 1.0 nehmen.
Netzwerke mit Treibern fuer mindestens NE2000, NE2k (PCI) und
RTL8192 oder wie der heisst *g*

Vergleichbar auch mit allem anderen, was wesentlich ist; wenn wir GUI
haben wollen, sollte der Vesatreiber auch ersetzbar sein (ich hab noch ne
Doku fuer das WD90C26A von meinem Notebook glaubsch...Vesa 1.3
kann ich nur per DOS-TSR nachruesten).

Naja das sind so meine Gedanken dazu.
Und jetzt bitte wieder OnTopic.

Svenska


Ein paar Standardtreiber mitzuliefern ist sicher eine gute Idee - sie so fest ins System reinzuhängen wie bei Linux aber nicht, denn es bringt nix (ausser das mein einziges Riesenprojekt hat, Kernel+Treiber) - nicht mal wirklich Performance