Entwickler-Ecke
Off Topic - betriebssystem?
fcg - Di 11.02.03 16:39
Titel: betriebssystem?
tachchen
mal so ne genrelle frage: ist es möglich in (turbo) pascal nen eigenes betriebssystem zu schreiben was nicht auf irgendwelchem microsoft quatsch berüht?
mfg
flip
O'rallY - Di 11.02.03 17:06
Ich wüsste nichts was dagegen spricht. Windows und Linux sind zwar beide mit C/C++ geschrieben, aber Object Pascal ist genauso "mächtig" wie C bzw. C++. Allerdings habe ich noch nie versucht ein eigenes OS zu programmieren :mrgreen:
Delete - Di 11.02.03 17:14
Wir haben mal unseren Info Leher (der hat inFormatik Studiert) gefragt, ob der das machen könnte (mit Delphi) er meinte,´ja wenn wir ihm 3-5 Jahre geben würden, könnt er es schon *G*
Also viel Spaß beim OS-Proggen *G*
nGerrit
fcg - Di 11.02.03 17:20
ich hab zeit :lol:
ne jetzt mal: ich hät auch schon so gar keine idee wie ich anfangen sollte...
Alibi - Di 11.02.03 17:24
Hi,
du könntest dir doch ne uralte Linux Version angucken, wie Linus das gemacht hat. Uralt deshalb, weil ich schätze, dass das *ein wenig* übersichtliche ohne viele Features ist. :)
fcg - Di 11.02.03 17:27
für den anfang sicherlich besser :wink:
aber wo bekomme ich sowas her?
littlemike1005 - Di 11.02.03 17:33
@fcg
ich hätte da auch schon einen name für dein os.
fcg doors. wenn ms mit fenstern geld macht warum du dann nicht mit türen. :lol:
Delete - Di 11.02.03 17:37
Assembler-Kenntisse wären bestimmt auch nicht schlecht.
Und ich glaube du unterschätzt die Aufgaben eines Betriebssystems: Treiberverwaltung, Speicherverwaltung, Datenträgerverwaltung mit Dateisystem, das Format der ausführbaren Dateien usw.
Wenn man also bedenkt, was da so alles drinsteckt, hat MS mit Windows2000/X schon ganz schön was geleistet. Und die Bugs und Sicherheitslöcher gehören einfach dazu. Probiert hir mal ein Programm mit 1000'den von Code-Zeilen zu schreiben in 100'ten von Modulen (die auch noch zusammenspeilen müssen). Ich möchte nicht wissen, wie lange man da braucht und wie vile Tests, bis das einigermaßen ordentlich läuft.
tommie-lie - Di 11.02.03 18:32
Also Assembler bräuchte man sicherlich.
Aber Linux ist ein schlechter einsteig: die alten Versionen sind relativ schlecht dokumentiert und es ist kein Mircokernelsystem. Minix bietet sich da eher an. Ich bin zwar auch gegen Microkernels, aber wenn man wissen will, wie ein OS arbeitet, sollte man lieber mit einem Microkernel anfangen, weil er kleiner ist und die ganze OS-Struktur nunmal überischtlicher ist. Später kann man ja immer noch das Ding erweitern.
Du müsstest auf jeden Fall mit den Syscalls anfangen. Wenn du ein Unix-Basiertes system schreiben willst, gibt's dafür ellenlange Listen, die im Internet (bei SCO?) kursieren, was ein Unix alles leisten muss. Dann brauchst du viel Hardwarewissen, und zwar auf BIOS-Ebene, weil's ja kein OS gibt. Um ein wenig Assembler kommst du also nie herum. Schon allein der Festplattentreiber braucht Zugriff über das BIOS. Ein Dateisystem musst du dir auch ausdenken, wenn du nicht ext, rfs oder fat nehmen willst. Ziemlich komplex das ganze.
Linux ging übrigens aus einem Terminal-Programm hervor, das Linus programmiert hat, weil ihm das, was bei seinem Rechner dabei war, nicht gut genug war. Vielleicht sollte man so auch erstmal anfangen und später Plattentreiber, Dateisystemmanagement, Speicherverwaltung und so weiter hinzufügen.
CenBells - Mi 12.02.03 13:36
Moin, sonst such noch mal nach dem Buch
Operating System Design - The XINU Approach vom Comer/Fossum
Da wird erklärt, wie ein Betriebssystem funktioniert, welches nur 2000 Zeilen code hat. Ich habe das sogar mal nachprogrammiert und zum laufen bekommen. Recht spartanisch, aber es läuft.
Gruß
Ken
torstenheinze - Mi 12.02.03 14:01
selber machen ist bestimmt schwer.
wenn du so was wie windows machen willst, dann bedenke, das daran viele leute mitgearbeitet haben. also als einzelkämpfer brauchst du zeit.
obwohl, linux wurde ja zuerst von nem 16 jährigen entwickelt.
viel glück bei deinem "fcg doors" :wink:
fcg - Mi 12.02.03 15:17
@CenBells:
in welcher Sprache den geschrieben?
tommie-lie - Mi 12.02.03 15:25
@torsten: Wenn er ein Unix-basiertes System nimmt (egal ob Microkernel oder nicht), dann gibt's schon einen Windowmanager. Nennt sich X, in Varianten auch X11 bzw XFree86, läuft auf jedem Unix, wenn man es dort kompiliret (ab und zu geringfügig anpassen) und mit KDE sieht's soagr fast so aus wie Windows, obwohl ich lieber Gnome nehme. Im Prinzip braucht man nur das Grundgerüst, also das Betriebssystem selber. Init, eine Shell, Module usw gibt's doch alles schon. Linus hat auch nicht alles neu geschrieben, sondern auch nur die Grundstruktur. Als Shell hat er zum Beispiel auch eine modifizierte bsh genommen, die er bash genannt hat, weil's eine Art Neuauflage war.
fcg - Do 13.02.03 19:14
ich glaube ich hab so ne art pascal-os im i-net gefunden.
http://www.thegaineys.fsnet.co.uk/
jetzt weiß ich nur nich weiter. wie kann ich es starten...
Alibi - Do 13.02.03 19:18
Ich tipp mal drauf, einfach von Diskette zu booten? Diskimage ist da ja angeboten.
fcg - Sa 15.02.03 12:13
ich habe schon alles versucht bekomme das os aber nciht zum laufen. was mache ich falsch.... *AHHHH*
thÄnX
1Stein - So 16.02.03 00:09
boa du hast lange weile oder? naja trozdem viel glück bei fcg Doors :mrgreen:
Andreas L. - So 16.02.03 10:29
Ein OS zu proggen wäre wirklich fett!
@fcg: Falls du wirklich ein OS proggen willst, helfe ich gerne!
patrick - So 16.02.03 20:17
eins versteh ich nich (ich hab mich mit sowas nie ausereindergesetzt deshab verzeiht mir die dumme frage)
aber ich hab gedacht. wenn man programme mit pascal programmiert. braucht man ein betriebsystem als grundlage das das prgramm überhaupt funktioniert?
Andreas L. - So 16.02.03 20:25
@patrick: Ja, aber in diesen fall werden die Pascal-Dateien als .cn oder anders übliche systemdateien kompiliert!
majolo - So 16.02.03 20:37
Kennt denn einer vielleicht deutsche Literatur zu dem Thema Betriebssystem selbst programmieren oder ein gutes Tutorial, das vor allem das Programmieren eines Betriebssystems mit Pascal erklärt? Würde mich nämlich auch mal interessieren.
Ein Tutorial habe ich gefunden falls interessiert:
http://www.tutorials.de/tutorials20706.html
Gruss
majolo
mimi - So 16.02.03 21:49
also ein einges OS wollte ich auch schon immer mal schreiben aber es kommen so viele Fragen auf wie z.B.
Wie kann ich den boot sektokr beschreiben ?
(also das da mein programm gestratet wird)
Wie kann ich.........
da gibt es einfach zu viele Fragen.
Wir könntes uns ja auch als Team machen und es dann versuchen weil jeder kann was dazu beitragen;)
Man kann auch mit Delphi ein OS schreiben dazu muss man nicht TP nehmen.
fcg - So 16.02.03 21:59
aber auf meinem Laptop läuft nur Turbo Pascel ;-)
nee, aber mit einem Team kommt man wahrscheinlich besser und schenller voran. gute idee.
mimi - So 16.02.03 22:00
wer würden denn mit machen ?
nutzen wir Delphi ?
oder TP ?
ich währe für Delphi 5 oder 6.
also ich würde damit machen.
Aber nur oberflächlich ;)
fcg - So 16.02.03 22:04
ich auf jeden fall. bin für delphi 6.
PS:dies tutorial da ist ganz gut
Andreas L. - Mo 17.02.03 08:54
Ich würd auch gern mitmachen! Delphi 6 Personal wäre mein Favorite!
PS: Wenn wir Tino und Marc fragen, bekommen wir vielleicht ein Thema in den Gemeinschaftprojekten in den nur unsere Mitglieder posten dürfen!
Tino - Mo 17.02.03 10:12
| onlinehome hat folgendes geschrieben: |
| PS: Wenn wir Tino und Marc fragen, bekommen wir vielleicht ein Thema in den Gemeinschaftprojekten in den nur unsere Mitglieder posten dürfen! |
Natürlich! Einfach eben bescheid sagen!
Gruß
TINO
Andreas L. - Mo 17.02.03 18:38
DANKE Tino. Mal schauen ob aus den OS Progger Club was wird!
fcg - Mo 17.02.03 19:15
hoffentlich ;-)
Andreas L. - Mo 17.02.03 19:51
| fcg hat folgendes geschrieben: |
| hoffentlich ;-) |
Jup, ich bin dabei!
fcg - Mo 17.02.03 19:59
@onlinehome:wunderbar.
das os aus dem tutorial da oben funzt 1a. ist aber in assembler. könnten wir nicht darauf in pascal aufbauen??
Andreas L. - Mo 17.02.03 20:05
Bestimmt. Wenn die mit C++ auf den Asembler aubauen können, können wir das auch mit Turbo Pascal!
fcg - Mo 17.02.03 20:12
@ all: wann gehts los?
wann werden wir reich ;-) :?:
Andreas L. - Mo 17.02.03 20:15
Wenn wir ein gutes OS machen können, das auf i386 mit minimal Anforderung laufen kann und wir gute Software produzieren! Kann es ja nicht lange dauern, dass erste Linux das es gab, verkaufte sich ganz gut, für was neues auf den Markt!
Alibi - Mo 17.02.03 20:18
| onlinehome hat folgendes geschrieben: |
| Bestimmt. Wenn die mit C++ auf den Asembler aubauen können, können wir das auch mit Turbo Pascal! |
Ohne Assembler werded ihr wohl nicht weit kommen...
Andreas L. - Mo 17.02.03 20:21
| Alibi hat folgendes geschrieben: |
| onlinehome hat folgendes geschrieben: | | Bestimmt. Wenn die mit C++ auf den Asembler aubauen können, können wir das auch mit Turbo Pascal! |
Ohne Assembler werded ihr wohl nicht weit kommen... |
Hab ja auch nicht geasagt das wir keinen Assembler benutzen werden!
majolo - Mo 17.02.03 20:28
Also ich würde mich versuchen zu beteiligen. Wird ein Opensourceprojekt oder, dass dann mit den Auq-membern entwickelt wird? So kann jeder seinen Teil leisten.
Gruss
majolo
Andreas L. - Mo 17.02.03 20:40
@majolo: OpenSource, denk ich mal ja! Das mit den AUQ-Member musst du genauer erklären!
tommie-lie - Mo 17.02.03 20:48
Habt ihr euch eigentlich schon überlegt, was ihr da überhaupt machen wollt?
Welches Grundsystem? Win32 (geht nicht, keine genauen Daten, aber ihr könnt ja ein bisschen backward engeneeren...), UNI*, Atari, C64? Oder gar was ganz eigenes?
Welche Shells wollt ihr nehmen? Für Win32-likes könnte man ja die command.com nehmen.
Wenn ihr ein UNI*-System machen wollt, wo bekommt ihr die ganzen Syscalls her? Ich kenne keine Site, die sämtliche Syscalls und deren Bedeutung aufgelistet hat, und damit meine ich weder die X-API, noch sonstwas, was relativ high-level ist, sondern das, was vor INIT geschieht.
Wo bekommt ihr einen Festplattentreiber her?
Noch viel wichtiger: Welches Dateisystem? FAT-based oder mit Datenbank? Oder gleich MS-FAT? Oder doch lieber ext? FAT12 beitet sich für kleine Festplatten auch an...
Alibi - Mo 17.02.03 20:56
| onlinehome hat folgendes geschrieben: |
| Alibi hat folgendes geschrieben: | | onlinehome hat folgendes geschrieben: | | Bestimmt. Wenn die mit C++ auf den Asembler aubauen können, können wir das auch mit Turbo Pascal! |
Ohne Assembler werded ihr wohl nicht weit kommen... |
Hab ja auch nicht geasagt das wir keinen Assembler benutzen werden! |
Dann hab ich den Satz wohl missverstanden, klang so wie "Was die mit Assembler hinkriegen schaffen wir auch mit Turbopascal" :)
Andreas L. - Mo 17.02.03 20:57
Soweit ich jetzt weiß und hoffe das wir dies auch machen:
Das System sollte auf weniger als 10 Disketten drauf passen (ohne Software), es sollte FAT16, FAT32, ext2 und was eigenes (kein problem) haben, mehrere Oberfläche bieten (ähnlich wie KDE und Gnome in Linux), es wird wahrscheinlich OpenSource, auf minimalen i386 Rechner lauffähig sein, ob wir was eigenes machen oder auf Unix aufbauen ist noch nicht sicher (wahrscheinlich was eigens), usw.
Falls irgendwas nich stimmt, soll mich fcg ausbessern!
tommie-lie - Mo 17.02.03 20:57
ach ja, glaubt ja nicht, daß ihr damit reich werdet. Linus Torvalds ist es auch nicht (nicht direkt durch Linux).
Ihr könnt es zwar laut GPL auch verkaufen, wenn der Quellcode zugänglich ist, selbst der Quellcode darf verkauft werden, aber es wird keiner haben wollen, wenn es nicht verdammt gut ist. Und da die meisten eh keine Ahnung haben und lieber MS-Kram nehmen als irgendwas Alternatives, werdet ihr es schwer haben, gegen Linux, BSD und so weiter anzukommen. Vor allem, wenn ihr das Ding nicht 200-prozentig kompatibel mit Linux macht. Eine neue Betriebsystemstruktut hat der Welt gerade noch gefehlt...
Andreas L. - Mo 17.02.03 21:01
| Alibi hat folgendes geschrieben: |
| onlinehome hat folgendes geschrieben: | | Alibi hat folgendes geschrieben: | | onlinehome hat folgendes geschrieben: | | Bestimmt. Wenn die mit C++ auf den Asembler aubauen können, können wir das auch mit Turbo Pascal! |
Ohne Assembler werded ihr wohl nicht weit kommen... |
Hab ja auch nicht geasagt das wir keinen Assembler benutzen werden! |
Dann hab ich den Satz wohl missverstanden, klang so wie "Was die mit Assembler hinkriegen schaffen wir auch mit Turbopascal" :) |
Ich meinte: wenn die auf assembler aufbauen, und dann mit c++ weiter machen, können wir auch auf Assembler aufbauen und dann mit Turbo Pascal weitermachen!
Andreas L. - Mo 17.02.03 21:04
| tommie-lie hat folgendes geschrieben: |
ach ja, glaubt ja nicht, daß ihr damit reich werdet. Linus Torvalds ist es auch nicht (nicht direkt durch Linux).
Ihr könnt es zwar laut GPL auch verkaufen, wenn der Quellcode zugänglich ist, selbst der Quellcode darf verkauft werden, aber es wird keiner haben wollen, wenn es nicht verdammt gut ist. Und da die meisten eh keine Ahnung haben und lieber MS-Kram nehmen als irgendwas Alternatives, werdet ihr es schwer haben, gegen Linux, BSD und so weiter anzukommen. Vor allem, wenn ihr das Ding nicht 200-prozentig kompatibel mit Linux macht. Eine neue Betriebsystemstruktut hat der Welt gerade noch gefehlt... |
Da haben wir bestimmt gute chancen, mit was dass mit Linux und BSD gleich steht! (wenn wir es schaffen) Außerdem gibts ja auch noch die Entdecker, wie ich, die jedes sch...ß neue Teil saugen und installieren! Außerdem will ich gar kein Geld machen, naja OK, ein bisschen!
fcg - Mo 17.02.03 21:07
naja, nen bisschen kohle wäre ja schon nicht schelcht ;-) ;-)
tommie-lie - Mo 17.02.03 21:11
| onlinehome hat folgendes geschrieben: |
Das System sollte auf weniger als 10 Disketten drauf passen (ohne Software) |
Ohne Software? Was betrachtet ihr denn als Software? Streng genommen ist das Betriebssystem nur der Kernel und der Bootloader.
Oder wollt ihr auch gleich eine Shell mitliefern?
| onlinehome hat folgendes geschrieben: |
, es sollte FAT16, FAT32, ext2 und was eigenes (kein problem) haben |
Dann besorgt euch schonmal die Techdocs von FAT32. An FAT16 kommt man ja noch leichter ran. Aber warum zum Teufel ext2? Kein einziges JFS dabei?
Und "was eignes, kein Problem"? Überlegt euch schonmal eine Struktur, bin ja mal gespannt, was da raus kommt. Das meiste ist nämlich schon patentiert worden. Zumindest das sinnvollste (JFS und FAT-based).
| onlinehome hat folgendes geschrieben: |
, mehrere Oberfläche bieten (ähnlich wie KDE und Gnome in Linux), |
Beide genannten sind nur Desktop envrionments. Was du meinst ist die Differenzierung der Fesntermanager, wie zum Beispiel der Unterschied zwischen Sawfish, Metacity, IceWM und so weiter. Ich würde an eurer Stelle X nehmen, dann habt ihr schon alles, was Linux auch hat. Überhaupt würde ich alles nehmen, was auf Unix läuft, weil das nunmal weesentlich einfacher ist.
| onlinehome hat folgendes geschrieben: |
auf minimalen i386 Rechner lauffähig sein, |
Das will ich ja wohl hoffen!
Der XP-Kernel würde wahrscheinlich acuh auf einem 486er laufen, wen man den ganzen Grafik-Müll vom Explorer rauswirft.
| onlinehome hat folgendes geschrieben: |
ob wir was eigenes machen oder auf Unix aufbauen ist noch nicht sicher (wahrscheinlich was eigens) |
Wahrscheinlich was eigenes? Na viel Spaß. Ihr wisste, das ihr dann ALLES neu machen müsst? Von 'nem popeligen Bootloader, über die Shell, bis hin zum Grafikserver? Ihr solltet lieber erstmal mit 'nem kleinen Kernel anfangen, und versuchen, den mit Lilo oder sonstigen Bootloadern zu laden (natürlich entsprechend modifizierten Bootloadern, LiLo macht zwar viel mit, aber ich bezweifle, daß er sowas mitmacht...). Wenn das dann läuft, könnt ihr weitersehen...
Naja, ich bin ja mal gespannt, wie weit ihr kommt. Mag zwar jetzt ein bisschen fies klingen, aber ist nunmal so.
tommie-lie - Mo 17.02.03 21:13
| onlinehome hat folgendes geschrieben: |
Da haben wir bestimmt gute chancen, mit was dass mit Linux und BSD gleich steht! (wenn wir es schaffen) |
Weißt du eigentlich, was BSD leistet? Das kriegt man nicht eifnach so hin. Die Entwicklung haben ausgebildete Programmiertechniker aus Berkeley über 10 Jahre hinweg gemacht. Und glaub mir, DIE hatten Ahnung!
fcg - Mo 17.02.03 21:15
wir ham ja zeit. kannst ja mithelfen, dann gehts schenller ;-)
Andreas L. - Mo 17.02.03 21:20
Also! Das mit den Bootloadern is wirklich kein Problem, der Windows-Bootloader und Lilo können beide Binärdateien booten, also kein Problem!
Eigenes dateisystem, da gibts fach Literatur von Linus Torvalds persönlich!
Kernel hab ich mal Google gesucht, und habe einige Tuts gefunden, leider hab ich keine Kinks aufgeschrieben!
UND: Lob und Kritik ist immer gut, alles von beiden.
Kannst ja mithelfen tommie-lie!
Andreas L. - Mo 17.02.03 21:22
| tommie-lie hat folgendes geschrieben: |
| onlinehome hat folgendes geschrieben: |
Da haben wir bestimmt gute chancen, mit was dass mit Linux und BSD gleich steht! (wenn wir es schaffen) |
Weißt du eigentlich, was BSD leistet? Das kriegt man nicht eifnach so hin. Die Entwicklung haben ausgebildete Programmiertechniker aus Berkeley über 10 Jahre hinweg gemacht. Und glaub mir, DIE hatten Ahnung! |
Ja, aber die haben ja auch zwischen drin über ein Jahr gepennt! Und der Support dort ist auch sch..ße. Das Installationsprogramm is erst recht zum kotzen!
Delete - Mo 17.02.03 21:27
Wie lange habt ihr eigentlich schon Programmiererfahrung egal in welcher Sprache? Könnte ihr Assembler programmieren, so als wenn ihr einen Brief schreibt? Kennt ihr den Unterschied zwischen Word und Windows? Wißt ihr, was ein Betriebssystem überhaupt ist? Also nicht nur das oberflächliche Wissen, was jeder Programmierer weiß, sondern auch wie es detailiert funktioniert?
Wenn ihr auch nur eine dieser Fragen mit "Nein" beantwortet, dann solltet ihr euch erstmal intensiv damit beschäftigen. Und dann könnt ihr in zwei Jahren noch mal überlegen, ob ihr das machen wollt.
Nur weil ihr den Sopurce von dem Tutorial abgetippt habt und es funktioniert habt, scheint ihr der Meinung zu sein, der Rest wäre ein Kinderspiel.
Tut mir leid, aber ich glaube, ihr seit da etwas illusorisch was es bedeutet ein Betriebssystem zu entwickeln und dass dann auch noch groß rausbringen zu wollen. Seit erst mal froh, wenn ihr wirklich ein minimales System zu Hause bei euch zum Laufen bringt.
Programmiert doch erst mal mit TurboPascal einen grafiscchen Texteditor (wie der Editor unter DOS mit den Menüs usw.) der unter DOS bzw. in der Konsole läuft. Wenn ihr das Ding habt, können wir weiterreden, aber auch noch nicht über ein eigenes OS.
Andreas L. - Mo 17.02.03 21:30
Das System sollte wie Linuk starten, und nicht wie Windows!
Alibi - Mo 17.02.03 21:31
So als Abschätzung, was auf euch zukommt, auf
http://ftp.kernel.org finded ihr Linux Sources für alle möglichen Versionen.
Andreas L. - Mo 17.02.03 21:33
| Luckie hat folgendes geschrieben: |
Nur weil ihr den Sopurce von dem Tutorial abgetippt habt und es funktioniert habt, scheint ihr der Meinung zu sein, der Rest wäre ein Kinderspiel.
|
Habe ich gar nicht!
Alibi - Mo 17.02.03 21:36
Hui, schau mir Linux 0.99.11 (Also gaaaaanz frühe Version) gerade bisschen an.
Schon die hat 2.84 MB an reinem Sourcecode!! Soviel hab ich im Leben noch nicht geschrieben...
fcg - Mo 17.02.03 21:36
irgendwie haben die etwas gegen unser betriebssystem :(
Andreas L. - Mo 17.02.03 21:36
ich kenn Freedos, bin nicht zu sehr begeistert damit!
Andreas L. - Mo 17.02.03 21:37
| Alibi hat folgendes geschrieben: |
Schon die hat 2.84 MB an reinem Sourcecode!! Soviel hab ich im Leben noch nicht geschrieben... |
Noch nicht, dann wird aber Zeit!
Andreas L. - Mo 17.02.03 21:37
| fcg hat folgendes geschrieben: |
| irgendwie haben die etwas gegen unser betriebssystem :( |
Du hast recht, vielleicht sollten wir uns wo anders weiter unterhalten!
fcg - Mo 17.02.03 21:38
geht ja erstmal hier. vielleicht ist die kritik ja auch brauchbar
Andreas L. - Mo 17.02.03 21:39
| fcg hat folgendes geschrieben: |
| geht ja erstmal hier. vielleicht ist die kritik ja auch brauchbar |
stimmt.
Klabautermann - Di 18.02.03 11:31
Hallo,
| fcg hat folgendes geschrieben: |
| irgendwie haben die etwas gegen unser betriebssystem :( |
das glaube ich nicht. Die wollen euch nur ein wenig drauf vorberreiten auf was ihr euch einlasst. Ein OS zu Proggen ist keineswegs trivial, besonders wenn es etwas Unixartiges sein soll.
Ich habe mal eine Vorlesung "Betriedsystem UNIX" besucht diese hatte 4 Semester Wochenstunden und lief ein Semester. In der vorlesung ging es weniger um "wie bediene ich Unix" als viel mehr um "wie Arbeitet Unix". Es war also eine Vorlesung über arbeitsweisen von Betriebsystemen. Mit dieser Grundlade würde ich sagen ich haten einen leisen Hauch von Ahnung zu dem Thema
aber keinesfalls mehr, obwohl unser Dozent seinen Job durchaus gut gemacht hat und ich auch alles verstanden habe.
Das Feld ist einfach so riesig, deshalb konnten wir uns nur ein paar Details genauer angucken. Besonders interessant fand ich die Arbeitsweise von ext2 und Semaphore für die Sceduling-Strategien.
Ich würde euch daher empfehlen erst einmal mit einem kleineren OS das kein Multitaskin und ähnlich luxoriose Technicken beherrscht zu beginnen um erfahrungen zu sammeln. Wenn ihr das hinbekommen habt, dann könnt ihr euch noch immer an das Unixartige Projekt machen.
Das hat 3 vorteile:
1. Ihr erhaltet früher Ergebnisse.
2. Die Gefahr das ihr scheitert ist nicht so groß.
3. Ich macht weniger Anfängerfehler im Unix-Projekt, da ihr ja schon erfahrungen habt.
Wenn ihr das ganze beginnt, müsst ihr euch darüber im klaren sein, dass ihr euch so oder so über Jahre damit beschäftigen müsst.
Zu guter letzt möchte ich euch noch einen Autoren ans Herz legen (denn mit fällt der Titel des Buches nicht mehr ein [vieleicht weiß wer weiter]) dieser heißt Andrew S Tannenbaum (kein Scherz) und hat das Standartwerk zum Thema OS-Entwicklung geschrieben. Dieses erklährt die funktionsweise seines Lehrbetriebsystemes "Minix" und dokumentiert die Quelltexte. Aus diesem Buch könnt ihr sicher viel lernen allerding wurde es meines wissens nach nie ins Deutsche übersetzt.
Gruß
Klabautermann
Tino - Di 18.02.03 11:39
| Klabautermann hat folgendes geschrieben: |
| denn mit fällt der Titel des Buches nicht mehr ein |
"Operating Systems: Design and Implementation". Außerdem gibt es noch das Buch "Modern Operating Systems"
Auf
dieser [
http://www.cs.vu.nl/~ast/minix.html] Site findet Ihr ein paar Infos über das OS Minix von dem o. g. Author.
Gruß
TINO
Klabautermann - Di 18.02.03 11:40
| Tino hat folgendes geschrieben: |
| Klabautermann hat folgendes geschrieben: | | denn mit fällt der Titel des Buches nicht mehr ein |
"Operating Systems: Design and Implementation". Außerdem gibt es noch das Buch "Modern Operating Systems" |
Danke.
Andreas L. - Di 18.02.03 16:11
DANKE @all, dass ihr uns helfen wollt!
tommie-lie - Di 18.02.03 16:33
Gegen welches Betriebssystem sollten wir (oder besser ich, denn ich bin vermutlich gemeint...) was haben? Es gibt doch noch gar keins... :twisted:
Im Ernst, ich will euch nur vor einem großer Fehler bewahren. Ihr scheint absolut keine Ahnung davon zu haben, wie ein Betriebssystem im Detail funktioniert. Ich weiß das auch nicht vollständig, aber immerhin weitgehend. Den Windows-Bootloader könnt ihr schonmal nicht nehmen, weil ihr euch dann Ärger mit MS einhandeln könntet. Klabautermann hat mich noch auf das Multitasking gebracht, was auch noch ein wichtiger Punkt ist, ohne den ein heutiges OS nicht mehr auf die Welt losgelassen werden sollte (back to the roots ist zwar manchmal nicht so schlecht, aber ins DOS-Zeitalter müssen wir doch nun wirklich nicht mehr, oder?). Das Buch von Tanenbaum (nur ein n, meines Wissens nach, hab nirgends nachgeschaut) ist gar nicht so schlecht. Linus Torvalds hat darauf auch sein Linux gegründet, sogar genau auf den Minix-Code, den er aber relativ schnell so erneuert hatte, daß er nicht mehr wiederzuerkennen war. Das Problem ist, das Tanenbaums Minix ein Mircokernel war, und Linus das nicht wollte, also ging er relativ schnell dazu über, den Kernel neu zu schreiben. Wenn ihr alles von irgendwelchen Tutorials oder OpenSource-Projekten holt, ist das kein eigenes OS mehr, sondern ein Patchwork aus allem Möglichen. Daß ihr euch da evtl sogar Patentverfahren holen könnt, wie andere Leute Geschlechtskrankheiten (vergleich passt sogar, da "überall rumgemacht" wird), ist vermutlich nicht zu vermeiden. Selbst Sachen, die ihr euch selber ausdenkt, können bereits geschützt sein, weil jemand anderes schon vorher auf die gleiche Idee kam. Multitasking ist wirklich ein komplexes System. Ihr müsst Threads verwalten und Zeitscheiben entwickeln, da ihr davon ausgehen müsst, das im System nur ein Prozessor ist. Ihr müsst Assembler wirklich gut beherrschen, denn einen Plattentreiber ohne Assembler zu schreiben, nämlich ohne BIOS-Zugriff ist unmöglich. Und es reicht nicht, wennd as OS auf nur einem System mit einem Chipset und einem BIOS läuft, es muss auf jedem Chipset mit jeder Platte und jedem BIOS laufen. U.U. könnt ihr da schon unter euch Probleme haben, wenn der eine Code für seinen Pentium schreibt und ihn jemand anderem mit 'nem Athlon schickt. Ganz zu schweigen von verschiedenen Assemblerversionen.
Es soll wirklich nicht böse gemeint sein, aber ich will euch tatsächlich ein bisschen abschrecken. Linus wollte nie ein Betriebssystem schreiben, geschweige denn es veröffentlichen. Es hat sich so entwickelt. Und was passiert, wenn man ein OS plant sieht man ja an MS, das mit einem eher schlechten als rechten DOS angefangen hat, und mit einem Windows BigBrother weitergeht. BSD mag zwar schlecht dokumentiert sein und eine schlechte Installationsroutine haben, aber es hat nie behauptet, daß es sowas besäße. Es ist ein Serversystem, und die brauchen keine Installationsroutinen. Der privatanwender mag mehrmal sim Monat sien OS neu isntallieren, weil mal wieder ein Programm die Shell zerschossen hat, aber bei einem Server geht das nicht so einfach. Da wird das einmal installiert und läuft dann für die nächsten 2 Jahre, ohne angetastet zu werden im Keller. Bis euer System soweit ist, annähernd unendlich viele Tasks ohne den geringsten Verwaltungsaufwand abzuarbeiten, wird es Betriebssysteme im heutigen Sinn vielleicht schon nicht mehr geben. Ihr müsst verdammt gut sein, um gegen irgendwen antreten zu können, denn schon Minix ist nicht so schlecht, wie es sich anhört, und wenn ihr nicht sämtliche Assemblercodes für alle CPUs (Intel, AMd und Cyrix waren nie das gleiche, sind nicht da gleiche und werden nie das gleiche sein!) im Schlaf beherrscht, könnt ihr gleich einpacken (IMHO).
Ach ja, FreeDOS ist ein DOS-Klon. Ich glaube der sit aus DR-DOS hervorgegangen, aber korrigiert mich, wenn ich falsch liege. In meinen Augen solltet ihr euch nicht damit beschäftigen. DOS ist viel zu veraltet. Ihr könnt euch höchstens Teile des Dateisystemtreibern und des Speichermanagers anschauen, damit ihr seht, wie man sowas macht.
Und der 0.99er Kernel war nicht gaaaanz früh. Da war nach (nach Ansicht der Entwickler) bereit zu 99% fertig. Versucht mal den 0.1er ausfindig zu machen. Wird zwar schwieriger, weil der erst nachträglich veröffentlicht wurde, aber der ist bei weitem nicht so groß und wesentlich sinnvoller einsetzbar.
Klabautermann - Di 18.02.03 17:12
Hallo Leute,
im gegensatz zu tommie-lie will ich euch das ganze nicht ausreden, denn es wird sicherlich ein sehr lehrreiches Projekt. Egal ob ihr es zuende bringt oder nicht. Selbst wenn ihr in zuge eurer Informationsbeschafung merkt wieviel Arbeit es ist und das ganze dann verweft, habt ihr schon einiges über Betriebsysteme gelernt.
Dammit ihr anfangen könnt hier einmal eine
kurze Beschreibung [
http://home.zhwin.ch/~wna/is/ablauf/Betriebssysteme/g2_betriebsysteme_grundlagen.html] was ein Betriebsystem überhaupt ist.
@Tommie-lie: MS-DOS war nur bedingt ein "geplantes" OS. Es wurde von einer Firma deren namen ich nicht Parat habe unter der Bezeichnung QDOS entwickelt um mal diese neuen noch völlig unbekannten Intel Prozessoren zu Testen. QDOS stand hier für
Quick and
Dirty
Operating
System. Nach den Test verswand dieses in einer Schublade und wurde nach einer weile von einem gewissen Bill Gates für einen relativ geringen Preis gekauft, immerhin gab es Geld für ein Abfallproduckt, dass nie als etwas anderes konzipiert war.
Freilich habt Herr Gates ein vielfaches wieder über IBM verdient.
Gruß
Klabautermann
Andreas L. - Di 18.02.03 18:35
@tommie-lie: Wir haben nichts gegen dich, und du warst auch nicht allein gemeint, sondern was das allgemein gemeint!
@klabautermann: DAnke für die Aufklärung und die Links!
@Lunkie: Danke für die Links!
@all: Wenn ich mich jetzt noch ein paar mal bedanke wird das ein paar Seiten lang, DANKE @ all!
fcg - Di 18.02.03 18:41
wer jetzt lust hat mitzumachen (wie weit auch immer wir kommen) meldet sich dann mla kurz hier oder per pn
Andreas L. - Di 18.02.03 18:46
Also ich bin (logischer weise) dabei!
tommie-lie - Di 18.02.03 18:48
@Klabautermann: Da habe ich aber andere Informationen. QDOS war das Standardbetriebssystem für den Sinclair QL und bedeutete ausgeschrieben QL Disk Operating System. Quick and Dirty Operating System ist nur ein Spitzname, den das System aufgrund seiner Unzulänglichkeiten erhielt. Aber da du vermutlich genauso nachgelesen hast wie ich, können wir nicht überprüfen, welches richtig ist...
Woraus MS-DOS entstand, weiß ich nicht. Ich weiß zwar, daß es auch abkegupfert ist, aber nicht von wem.
Klabautermann - Di 18.02.03 19:12
Hallo,
| tommie-lie hat folgendes geschrieben: |
| Woraus MS-DOS entstand, weiß ich nicht. Ich weiß zwar, daß es auch abkegupfert ist, aber nicht von wem. |
nach meinen Informationen Kaufte M$ QDOS für $50.000 von Seattle Computer Products benante es in MS-DOS 1 um und habelte mit IBM aus, dieses selbst zu vertreiben.
Ich kann nicht sagen, ob eine andere Firma ebenfalls ein Produkt mit diesem Namen entwickelt hat, aber ich habe in mehreren Quellen von
diesem QDOS [
http://nt1.alp.dillingen.de/telumm/schilfglossar/glossar/q/qdos.htm] gelesen. Immer im oben dargestellten Zusammenhang mit M$-DOS.
Aber du hast natürlich recht, keiner von uns war damals dabei (mal abgesehen davon, das ich im zarten alter von 4 auch nicht wirklich viel von den vorgängen verstanden hätte ;)) daher wird sich das nicht wirklich sicher klären lassen.
Gruß
Klabautermann
PS: Der in dem Artikel beschriebene Rückzug von DR beruhte nach meinen Infos auf nicht unerheblichen finanziellen zuwändungen von IBM.
mimi - Di 18.02.03 21:13
so ich melde mich auch mal wider:
nach meinen infos hat IBM und MS zusammen an OS2 Gearbeitet, und daovon ist Windows entstanden ;)
Und das ist glaube ich auch so entstanden,
aber egal,
hier geht es ja nicht um die entstehungs geschiechte von DOS oder WINDOWS oder LINUX, sondenr um ein eigens OS.
Das wir sowas wie Windows oder ga linunx schreiben werden, glaube ich nicht, aber die Grundlagen sollten wir schaffen dazu zählen z.B. eine gute Shell(die am besten so ist wie DOS), ein Dateisystem(am besten ein neues, oder wir nehmen FAT.
........
tommie-lie - Di 18.02.03 21:19
das meine ich!
Hier wird versucht, gleich oben anzufangen: Shell, Dateisystem und das auch noch vollkommen neu, wie noch nie dagewesen.
Ihr müsst es erstmal hinkriegen, den Kernel überhaupt in den Speicher zu laden. Schon alleine das ist eine kleine Aufgabe für sich, da man ja nichts hat, womit man arbeiten kann. Dann wäre ein Festplattentreiber und ein Floppytreiber nicht schlecht. Oder soll das gesamte OS im ROM sitzen und weder auf Festplatte noch sonstige Preipherie zugreifen? Dann fehlt eine Bildschirmausgabe. Das ist auch nicht so einfach, denn print wird der Computer als Ausgabebefehl wohl nicht akzeptieren. Und bevor eine Shell läuft, muss das alles stehen. Plus das komplette Dateisystem, Speicherverwaltung und Peripherieansteuerung. Oder worin soll die Shell laufen?
Edit: Aber dannach habt ihr recht. Wenn der Kernel gut ist und möglichst viel grundlagen schon implementiert, ist die Shell relativ einfach programmiert. Aber nur relativ im Vergleich zum Speichermanagement, Threadmanagement, Dateisystemverwaltung und Arbeitskernel...
mimi - Di 18.02.03 21:39
Und wenn wir doch kein OS schreiben können machts auch nichts, weil wir wissen immerhin mehr als jetzt über ein OS ;)
achja was auch noch kommt:
Das os muss mit der Hardware zusammen arbeiten und sie verbinden.
also ich denke wir sollten klein anfagen und nicht gleuch das Dach vom Haus bauen wolllen ohne den Rest zu bauen.
Nacher bekommen wir nichts hin nur weil wir uns zu viel vorgenommen haben ;)
Anonymous - Di 18.02.03 21:41
Ihr solltet auch bedenken, daß Microsoft (so schlecht ist diese Softwarefirma auch nicht) drei Anläufe brauchte um ein Multitasking Betriebssystem rauszubringen. Eigentlich haben die das nicht hingekriegt und wollten nach Windows 2 die Arbeit an Windows einstellen. Zufällig hatten sie einen neuen Mitarbeiter bekommen der ein wenig an Windows 2 rumgebastelt hat. Der hat Bill überedet es noch mal zu versuchen. Dann die Sache mit Unix. Am anfang war es auch nicht so ein tolles B-System und schon garnicht Multidingsbums. Die erste Version war ultraschlecht. Die zweite Version wurde komplett neu geschrieben.
Fangt also langsam an und sammelt mit einem Quick and Dirty System erst Erfahrungen. Beim Zweiten könnt ihr dann richtig loslegen.
tommie-lie - Di 18.02.03 21:54
Windows 1? Windows 2? Wurden die veröffentlicht? Warum weiß ich davon nix?
Aber wenn dann müsstest du auch noch den experimentellen Windows-Vorgänger DOS-Shell mitzählen, der bei DOS 5.1 dabei war. In 6 war er auch schon wieder weg *g*
War auch grafisch (wer kennt GEMapps?) und angeblich auch Multitasking fähig. Hat anscheinend damals nicht so wirklich funktioniert und schon war's wieder raus aus'm DOS-Package.
Klabautermann - Mi 19.02.03 10:51
Hallo,
| Popov hat folgendes geschrieben: |
| Die zweite Version wurde komplett neu geschrieben. |
das gild auch für OS/2 nachdem IBM die Kooperation mit M$ in diesem Projekt aufgekündigt hat haben sie OS/2 Version 2 komplett neu geschrieben. (Nur am Rande: Aufgrund der beteiligung an der Ersten Version hat M$ das Recht ein Eigenes Produkt mit dem Namen OS/2 rauszubrinden deswegen hat IBM ab Version 3 Erweiterungen wie WARP im Namen seines Betriebsystems).
Desweiteren währe interessant, wie viel vom Originalcode noch im LINUX drin ist.
| tommie-lie hat folgendes geschrieben: |
| Windows 1? Windows 2? Wurden die veröffentlicht? Warum weiß ich davon nix? |
Soviel ich weiß gab es die schon, die wollte nur niemand haben. Nach den erzählungen wahren die eher mit der DosShell zu vergleichen als mit Windows 3.x. Aber gesehen habe ich einen solchen Titel auch nie.
Gruß
Klabautermann
Anonymous - Mi 19.02.03 12:08
| Klabautermann hat folgendes geschrieben: |
| Soviel ich weiß gab es die schon, die wollte nur niemand haben. Nach den erzählungen wahren die eher mit der DosShell zu vergleichen als mit Windows 3.x. Aber gesehen habe ich einen solchen Titel auch nie. |
Kannst du hier gucken:
http://www.winhistory.de
Windows 2 hab ich mir mal zum Spaß installiert. Windows 1 kriegt man mit den heutigen Rechnern nicht mehr zum laufen.
Andreas L. - Mi 19.02.03 19:28
| Popov hat folgendes geschrieben: |
Windows 2 hab ich mir mal zum Spaß installiert. Windows 1 kriegt man mit den heutigen Rechnern nicht mehr zum laufen. |
Hab ich auch mal, das ist nicht mehr wie ein grafischer MS-DOS Dateimanager! Wenn man bedenkt, dass vor ein paar Jahren viele Rechner auf der ganzen Welt mit so nen Teil gefüllt war!
fcg - Do 20.02.03 17:42
wer auf jedenfall lust hat an unserem eigene os mitzuproggen meldet sich bei mit oder -onlinehome per pn
DER - Mi 26.02.03 21:13
Hallo,
also ich möchte zwar nicht bei eurem OS mitmachen (hab erst vor sehr kurzer zeit mit delphi angefangen) aber ich wundere mich :roll:
habt ihr jetzt etwa mit dem OS aufgehört ?
wenn ja , bitte fangt wieder an :lol:
wenn nein ,
1.)wo kann man die neusten news über das OS lesen (gibts schon ne website drüber ?)
2.)was haltet ihr davon aus der entwicklung des OS gleich ein Riesiges Tutorial zu machen (denn gibt es entlich mal eins zu dem thema)
THX ,DER :wink:
tommie-lie - Mi 26.02.03 21:54
Ein Tutorial? Und ich dachte schon mein MMAPI-Tutorial wäre lang *g*
Wie lang soll denn das dann werden?
CenBells - Mi 26.02.03 22:12
also ich würde vorschlagen zu den verschiedenen prozessortypen optimierte tutorials wegen der ganzen assembler anweisungen und so. *g* und dann natürlich auch ein tutorial zu scheduling und den ganzen festplattentreibern und und und
naja, ist schon in ordnung, wenn nur ein kleines draus wird *g* :wink:
Gruß
Ken
DER - Do 27.02.03 15:49
wie nun ?
1.)wollt ihr nun noch ein OS machen ?
2.)habt ihr schon ein Forum bzw. ne website drüber ?
3.)es muss ja kein tutorial sein, kann ja auch eine Dokumentertion sein oder sogar ein Buch :shock:
Tino - Do 27.02.03 16:09
| DER hat folgendes geschrieben: |
| habt ihr schon ein Forum |
Die Diskussion findet hier im Forum statt in einer extra Sparte die allerdings nur bestimmte Mitglieder sehen können. Wenn Du mit an dem Projekt arbeiten möchtest oder nur Infos dann schicke am besten dem User
onlinehome [
http://www.delphi-forum.de/profile.php?mode=viewprofile&u=896] (Gruppen-Moderator) eine PN.
Gruß
TINO
Andreas L. - Do 27.02.03 17:52
Wir arbeiten noch an den OS. Eine Webseite ist noch nicht erstellt worden! Wer mithelfen will kann sich ja melden!
TheNeon - So 02.11.03 09:05
Titel: :D
:wink2: Hallo Kameraden,
ist doch immer wieder nett, auf welche Schätze man so stößt, wenn man was sucht. Hab mir hier ein wenig was durchgelesen und wollte nun nach 8 Monaten nachfragen, ob ihr wirklich weitergemacht habt?! Denn dann müsste ja was vorliegen, oda?!? :o
da ich morgen oder so formatiere wollt ich mal nachfragen wie es aussieht mit einer Kostprobe 8)
Salut :wave:
Andreas L. - So 02.11.03 12:05
Das Projekt gibts nimmer. Sorry
MrSaint - So 02.11.03 13:37
*g* also ich hab das Topic gerade erst entdeckt und muss (leider) sagen: mir war schon vom anfang an (also von der ersten seite des Topics) klar, dass das nix wird. sorry, aber mit TurboPascal oder gar Delphi kann man definitiv kein OS proggen (zumindest net, wenn man nacher die Executables noch ganz heftig bearbeitet; und das bringts ja net). TubroPascal hat nämlich Interrupt Aufrufe etc. von DOS drin (und ihr habt ja kein DOS, also kann ein TP-Programm [ evtl. sogar der Kernel ?!? ] au net drauf zugreifen. und Delphi? also bitte... man kann kein OS in Delphi schreiben, da es Windows-API-Calls drin hat und die Windows API steht ja definitiv net zur Verfügung! Das OS unter
http://www.thegaineys.fsnet.co.uk/ hatte ich mir auch mal angeguckt, hab es aber nich kompiliert bekommen, weil der Typ die Compiler-Version net angegeben hat, mit der er das gemacht hat. Is übrigens NICHT TurboPascal, sondern FreePascal. Mit dem soll sowas ja dann möglich sein.. aber au net direkt. Das FP generiert da nämlich erst ASM-Code, der dann in ne Executable (keine EXE sondern COM) umgesetzt wird und der dann (wenn man die richtige Version hat), keine DOS-Funktionen mehr verwendet... hab ich aber au net zum laufen gebracht, wie gesagt... Man kommt wohl bei OSes net um Assembler (sowieso) und C(++ / #) net rum... no chance...
naja.. ich weiß eigentlich au net, warum ich hier jetzt no reinposte, das Thema is ja eigentlich schon gestorben, aber egal 8)
MrSaint
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!