Gutes Multitasking fähiges OS
-
@geyken
ich denk, die methode, dass man alle privilegienringe des protected mode ausnützt, ist sinnvoll. dadurch bekommt man straff abgegrenzte bereiche. der kernel macht eben das prozess- und speichermanagment. das ist alles. man könnte überlegen, ob er auch das dynamic linking miteinbezieht. zb als teil des prozessmanagments.
alle anderen dinge werden von system diensten, die einfach prozesse mit höherer priorität sind bzw in höheren ringen laufen als normale user space programme, erledigt. man könnte einfach auch nur shared libs in höhere ringe laden, die der dynamic linker dann über call gates zu den programmen verlinkt...
das is meine idee. was denkt ihr darüber?die treiber würd ich objektorientiert aufbauen:
dei basisklasse aller treiber ist zb die klasse generic_driver oder so. als erste ableitungen gibts network_driver, console_driver usw. wäre eine möglichkeit.
der spezielle treiber für ein bestimmtes stück hardware zb für den vga modus wäre dann eben der vga_driver mit der basisklasse console_driver. console_driver hat virtuelle methoden um zb ein zeichen am bildschirm anzuzeigen und von der vga_driver klasse wird die methode eben implementiert... jeder treiber ist in einer art plugin enthalten, oder kann direkt eincompiliert werden.
die frage ist nun, wie so ein plugin aufgebaut werden muss bzw wie das module geladen werden soll.
linux verwendet ein ähnliches system. statt den virtuellen methoden sind es function pointer. zb bei den netzwerk treibern.das io system sollte auch modular sein, bis auf das lokale dateisystem. nachdem die module geladen werden müssen, müssen sie ja auch irgendwo existieren. eine uri könnte zb eine http-url sein, eine lokale datei, eine datei weiß gott wo. zu jeder "source" gibt s dann attribute und rechte. diese beiden können auch teileiweise modular sein.
ein weiteres module ist das "raw" module mit dem man auf die hardware zugreifen sollte. zb "raw://ide[0]/disk[0]/partition[0]" ist die erste partition der ersten platte des ersten ide controllers. "raw://smartcard[0]" ist die erste smartcard zb. dadurch hat man eine einheitliche schnittstelle. programm merken gar nicht, ob sie über webdav eine datei schreiben, oder ob die von einer smartcard kommt.
eine api könnte so aussehen, dass im namespace "io" die klasse source existiert.
mit io::source laufwerka("raw://floppy[a]"); könnte man die das erste floppy laufwerk öffnen.
mit io::source memory("shm://server-verbindung"); könnte man das shared memory mit der bezeichnung server-verbindung öffnen.
ich weiß, das sieht sehr nach den io slaves unter kde aus. is es auch die idee ist nämlich nicht schlecht.@snorredev
die frage is, wer so eine site macht. und wer den server dafür hat.björn
-
Wenn ihr wollt, stell ich etwas von meinem Space bereit - soviel Daten werden es wohl nicht werden. Allerdings müßt ihr euch um die Website selbst kümmern. Dafür fehlt mir die Zeit. Ich könnte euch einen Webscript zum Hochladen der Dateien bzw. zum administrieren bereitstellen. Das FTP Password geb ich nicht raus, was ja verständlich ist
-
Platz hätte ich auch noch. Ich weiß nur nicht, wie viel Zeit ich ihm nächsten Semester habe aber ansonsten ist es kein Problem
Meine aktuellen Sourcen stehen jetzt unter http://www.informatik.uni-oldenburg.de/~geyken/os-0.00.01.tar.gz
einfach die disk.bin mit dd eine Diskette schreiben[ Dieser Beitrag wurde am 07.04.2003 um 21:13 Uhr von geyken editiert. ]
-
Ich weiß nicht ob das jemanden interessiert, aber werft doch mal einen Blick darauf: http://lusitanos.hybrid-2k.freeddns.com/
-
sorry, dass ich so lange nichts geschrieben hab. war ziemlich krank. bin es immer noch.
ich habe mir gedacht, dass vielleicht so ein phpbb board praktisch wäre. verschiedene foren zb über speicher/prozessmanagment, hardware treiber, netzwerke, dateisystem könnte man einrichten. wäre eine idee, nur ist die frage, ob das wirklich nötig ist und wer das macht. ich kann es nicht. kenn mich da nicht so gut aus. (dh ich müsste mir das genauer ansehen.)
der primäre sinn für mich persönlich ist es, über ideen zu diskutieren. leider gibt s ja nicht mehr all zu viele hier, die sich an der diskussion beteiligen. wenn sich doch wirklich jemand für so ein forum interessieren würde, sollte sich vielleicht hier mit einem kurzen posting melden. wenn das nur 2 oder 3 sind, dann is der aufwand für ein board wahrscheinlich zu groß.
björn
-
-
Ich denke es wären nicht so viele an einem Board interessiert..ich denk mal nicht viel mehr als so 5...es gibt leider viel zu viele Leute im Internet die nichts besseres zu tun haben als rumzustänkern
-
*unfreundlichbinweilgenervt*
Jammer hier doch nicht unnötig herum - schau ins Assembly-Forum und poste dort ein paar Details dann wirds vielleicht ja auch mit dem Surkevin-OS-Team was...
-
http://www.acm.uiuc.edu/sigops/roll_your_own/
http://www.mega-tokyo.com/os/os-faq.html
http://w3studi.informatik.uni-stuttgart.de/~staigesn/betriebssysteme.html
http://www.cs.utah.edu/flux/oskit/
http://www.cs.washington.edu/homes/tom/nachos/
-
http://linuxgazette.sourceforge.net/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=111&page=1
http://linuxgazette.sourceforge.net/modules.php?op=modload&name=Sections&file=index&req=viewarticle&artid=112&page=1Gibt es hiervon eigentlich eine Fortsetzung?
[ Dieser Beitrag wurde am 02.05.2003 um 17:05 Uhr von Erhard Henkes editiert. ]
-
Die englischen Originalseiten sind übrigens hier:
http://www.linuxgazette.com/issue77/krishnakumar.html
http://www.linuxgazette.com/issue79/krishnakumar.htmlandere Seiten:
http://www.themoebius.org.uk/tutes/ http://www.themoebius.org.uk/tutes/ckernel.html
-
Gibt es eigentlich ein durchgängiges Tutorial zum Schreiben eines OS ausgehend von einem PC mit MS Windows als OS? Das habe ich bisher nirgends gefunden.
-
Hier noch ein kleines Tutorial für Einsteiger (Kernel und Bootlader gut erklärt):
http://www.tutorials.de/tutorials20706.htmlHier eine größere Sammlung von Wissen zum Thema OS:
http://www.nondot.org/sabre/os/articles[ Dieser Beitrag wurde am 02.05.2003 um 21:04 Uhr von Erhard Henkes editiert. ]
-
Es gibt übrigens eine Fortsetzung des obigen hervorragenden Zweiteilers
http://www.linuxgazette.com/issue79/krishnakumar.html(für Einsteiger in die Materie ideal):
*
"Krishnakumar is unable to continue this series himself due to other commitments, so he has handed it over to his junior colleagues, Raghu and Chitkala, who have written part III."
*
http://www.linuxgazette.com/issue82/raghu.html[ Dieser Beitrag wurde am 04.05.2003 um 14:08 Uhr von Erhard Henkes editiert. ]
-
@Erhard: Wirst du irgendwie von Google bezahlt für das Raussuchen und Posten der Links?
-
@Luckie: Für Leute wie Dich mache ich das nicht, sondern für Einsteiger.
-
Original erstellt von Erhard Henkes:
@Luckie: Für Leute wie Dich mache ich das nicht, sondern für Einsteiger.Danke für deine positive Einschätzung meines Könnens und Wissens.
Dein HP ist kommt übrigens bei den Links auf meiner Seite ganz gut an.
-
Danke! Bitte setze den Link um auf www.henkessoft.de (neuer schnellerer Server, die alte page pflege ich nicht mehr.)
-
wenn wir schon dabei sind ich suche infos wie ntfs implementiert wurde.
-