Autor Thema: C Kernel starten  (Gelesen 17462 mal)

freecrac

  • Beiträge: 86
    • Profil anzeigen
Gespeichert
« Antwort #40 am: 22. June 2011, 09:03 »
Hallo,


Keinen Texteditor. :-P
Stimmt.

Wenn Du möchtest das ich zur nächsten Präzisionshaarspaltung ansetze wüste ich aber schon gerne was Du mit "irgendwas einschränkendes" meinst. ;)


Grüße
Erik
Ich vermute das damit die Möglichkeit eines RM-OS jederzeit auch in den PM schalten zu können gemeint ist und das dieser Punkt bei der Betrachtung, dass man vom RM nur ein MByte adressieren kann, dadurch eingeschränkt wird. So habe ich es verstanden.

Dirk

kevin

  • Administrator
  • Beiträge: 2 767
    • Profil anzeigen
Gespeichert
« Antwort #41 am: 22. June 2011, 09:34 »
Meines Erachtens ist ein OS, das in den PM schaltet, kein RM-OS mehr.

Aber selbst wenn man es so sieht, dass alles ein RM-OS ist, in dem die Anwendungen (aber nicht zwingend der Kernel oder Treiber) im RM laufen, welchen Vorteil hat der RM denn bitte gegenüber dem PM? Ich sehe keinen anständigen Grund, das zu tun. Außer vielleicht Nostalgie.

Die Möglichkeit für den Realmode den gesamten XMS-Speicher zu benutzen zeigt ja nur das es eben möglich ist weit aus mehr Speicher zu verwenden, als nur die erwähnten 640 KByte.
Der RM-Code kann den gesamten XMS-Speicher eben nicht direkt nutzen. Er kann PM-Code aufrufen, der die Daten für ihn im Speicher herumschiebt. Das ist aus Sicht des RM-Programmieres maximal eine Art schneller Swapspeicher, aber kein direkt nutzbarer RAM.

EMS kommt dem direkt nutzen schon näher, aber das ist dann endgültig PM.

Zitat
LOL. Was möchtest du uns damit eigentlich sagen, dass ein Rechner ohne PM nicht in den PM schalten kann und es somit besser wäre, ein RM-OS zu entwickeln für den Fall, das man gelegentlich auch mal solche exotische Retro-Hardware verwendet
Gibt es denn andere Gründe, sich den RM anzutun als "exotische Retro-Hardware"?
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 #42 am: 22. June 2011, 09:40 »
Zitat
LOL. Was möchtest du uns damit eigentlich sagen, dass ein Rechner ohne PM nicht in den PM schalten kann und es somit besser wäre, ein RM-OS zu entwickeln für den Fall, das man gelegentlich auch mal solche exotische Retro-Hardware verwendet
Gibt es denn andere Gründe, sich den RM anzutun als "exotische Retro-Hardware"?
Eventuell langeweile.  :wink:
 
Das ist zumindest bei mir immer mal wieder ein Grund, warum ich teilweise ziemlich bescheuerte Projekte starte.  :-D

freecrac

  • Beiträge: 86
    • Profil anzeigen
Gespeichert
« Antwort #43 am: 22. June 2011, 10:34 »
Zitat
LOL. Was möchtest du uns damit eigentlich sagen, dass ein Rechner ohne PM nicht in den PM schalten kann und es somit besser wäre, ein RM-OS zu entwickeln für den Fall, das man gelegentlich auch mal solche exotische Retro-Hardware verwendet
Gibt es denn andere Gründe, sich den RM anzutun als "exotische Retro-Hardware"?
Eventuell langeweile.  :wink:

Was ist das, kann man das auch essen :? Die Worte kommen mir zwar bekannt vor, aber dessen Bedeutung habe ich bis heute immer noch nicht begriffen.
Ich selber habe so viele verschiedene Interessen, die ich zu meiner Lebzeit wohl niemals alle auch nur Ansatzweise nachgehen könnte.
So fällt es mir auch sehr schwer eine Langeweile zu verstehen was damit überhaupt gemeint ist.

Zitat
Das ist zumindest bei mir immer mal wieder ein Grund, warum ich teilweise ziemlich bescheuerte Projekte starte.  :-D

Ich würde ein Projekt dessen ich mich widme niemals als bescheuert bezeichnen. Auch wenn man sich damit quasei auf einem Holzweg begibt ist es doch zumindestens dafür nützlich zu erkennen, dass es nicht der richtige Weg war und um dieses erkennen zu können, dafür muss man halt auch mal solche Wege einschlagen.

Dirk

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #44 am: 22. June 2011, 11:30 »
EMS kommt dem direkt nutzen schon näher, aber das ist dann endgültig PM.
EMS ist gerade garkein PM. Höchstens Offtopic. ;-)

Ich würde ein Projekt dessen ich mich widme niemals als bescheuert bezeichnen. Auch wenn man sich damit quasei auf einem Holzweg begibt ist es doch zumindestens dafür nützlich zu erkennen, dass es nicht der richtige Weg war und um dieses erkennen zu können, dafür muss man halt auch mal solche Wege einschlagen.
Aber wie nennst du es, wenn man schon vorher weiß, dass es ein Holzweg sein wird und es trotzdem tut?

Gruß,
Svenska

freecrac

  • Beiträge: 86
    • Profil anzeigen
Gespeichert
« Antwort #45 am: 22. June 2011, 11:49 »
Meines Erachtens ist ein OS, das in den PM schaltet, kein RM-OS mehr.

Ein OS das nur kurzzeitig in den PM schaltet, um den XMS-Speicher zu verwalten und unmittelbar danach wieder zurück in den RM schaltet, um alles Andere im RM zu erledigen, wie z.B. Bios-Interrupts zu benutzen, um darüber Geräte zu steuern, das würde ich nicht als PM-OS bezeichnen. DOS wird aus diesem Grund als ein RM-OS bezeichnet, auch dann wenn es Treiber zur Verfügung stellt die kurzzeitig in den PM und wieder zurück in den RM schalten.

Wenn du allerdings DOS, oder eine anderes OS das ebenfalls nur kurzzeitig in den PM und dann gleich wieder zurück in den RM wechselt als PM-OS bezeichnest,  dann weicht deine Definition aber erheblich von der allgemeinen Definition hierbei ab.

Zitat
Aber selbst wenn man es so sieht, dass alles ein RM-OS ist, in dem die Anwendungen (aber nicht zwingend der Kernel oder Treiber) im RM laufen, welchen Vorteil hat der RM denn bitte gegenüber dem PM? Ich sehe keinen anständigen Grund, das zu tun. Außer vielleicht Nostalgie.

Einen Vorteil sehe ich darin das es im RM keine Protection gibt und man sich daher mit solchen Begebenheiten wie Zugriffsrechte und deren Verletzung überhaupt nicht kümmern muss. So ist es vergleichsweise einfacher für einen noch relativ unerfahrenen Entwickler eines OS mit dem RM zu beginnen, als mit dem PM. Dann kann man im RM auch diverse Bios-Funktionen benutzen, die einem im PM nicht zur Verfügung stehen. So muss man sich um solche Dinge im PM selber kümmern, womit der gesamte Aufwand ein OS zu entwickleln erheblich ansteigt.

Zitat
Die Möglichkeit für den Realmode den gesamten XMS-Speicher zu benutzen zeigt ja nur das es eben möglich ist weit aus mehr Speicher zu verwenden, als nur die erwähnten 640 KByte.
Der RM-Code kann den gesamten XMS-Speicher eben nicht direkt nutzen. Er kann PM-Code aufrufen, der die Daten für ihn im Speicher herumschiebt. Das ist aus Sicht des RM-Programmieres maximal eine Art schneller Swapspeicher, aber kein direkt nutzbarer RAM.

Ja genau, der nutzbare XMS-Speicher kann nur indirekt dem RM zur Verfügung gestellt werden. Trotzdem bleibt damit DOS ein RM-OS laut allgemeiner Definition. Ob das nun über einen Treiber erledigt wird, oder bereits im Kernel eines RM-OS selber integriert wurde ist dabei nicht von Bedeutung, sondern nur ob die meisten Funktionen des Kernels auf dem RM basieren, oder eben nicht.

Zitat
EMS kommt dem direkt nutzen schon näher, aber das ist dann endgültig PM.

Auch EMS-Speicher wird von DOS über einen entsprechenden Treiber zur Verfügung gestellt. Trotzdem wird DOS auch weiterhin als ein RM-OS bezeichnet, weil der V86-Mode sich eben ähnlich wie der RM verhält.

Zitat
Zitat
LOL. Was möchtest du uns damit eigentlich sagen, dass ein Rechner ohne PM nicht in den PM schalten kann und es somit besser wäre, ein RM-OS zu entwickeln für den Fall, das man gelegentlich auch mal solche exotische Retro-Hardware verwendet
Gibt es denn andere Gründe, sich den RM anzutun als "exotische Retro-Hardware"?

Ich verwende den RM mit Vorliebe auch auf moderner Rechnern, wie z.B. auf meinen Asus Striker 2-Rechner mit Intel Core2quad @2.8Ghz und einer Nvidia GTX 295 mit VBE3 Bios und einen daran angeschlossenen 28"LCD in 1920x1200x32. Ist dir diese Hardware modern genug?

Gerne könnte die CPU für mich und meine RM-Anwendungen noch 1000 fach schneller sein, solange der RM auch weiterhin zur Verfügung steht. Der wichtigste Grund für mich ist es Spaß damit zu haben etwas Eigenes zu entwickeln, ohne mich mit den Einschränkungen und Richtlinien eines bereits vorhandenenes OS und deren in Stein gemeisselten Funktionsweise herumplagen zu müssen. Hierbei kann man doch bei der Verwendung von Closed-Source-Treiber es nur lernen wie man, im übertragenen Sinne, einen Lichtschalter an und aus schaltet, nicht jedoch wie man einen solchen Schalter sich selber baut. Für mich ist das einfach zu unbefriedigend etwas für Windows, oder Linux (+Derivate) zu programmieren.

Ich hatte auch noch nie das Bedürfniss mir eine eigenes OS zu entwickeln, mir genügt es wenn meine Anwendungen auch ohne ein PM-OS funktionstüchtig zum laufen zu bringen sind.

Zitat von: Svenska
Aber wie nennst du es, wenn man schon vorher weiß, dass es ein Holzweg sein wird und es trotzdem tut?
Entweder ist es dann noch keine Holzweg und/oder man erhofft sich noch andere Merkmale daran zu finden die einen wichtig erscheinen.

Dirk
« Letzte Änderung: 22. June 2011, 11:56 von freecrac »

erik.vikinger

  • Beiträge: 1 277
    • Profil anzeigen
Gespeichert
« Antwort #46 am: 22. June 2011, 14:21 »
Hallo,


meinen Asus Striker 2-Rechner mit Intel Core2quad @2.8Ghz und einer Nvidia GTX 295 mit VBE3 Bios und einen daran angeschlossenen 28"LCD in 1920x1200x32.
Angeber! :-P


Ganz offensichtlich könnte ich noch etliche male darauf hinweisen das der Speicher oberhalb der 1 MB-Grenze zwar vom Real-Mode aus verwaltet werden kann (wenn die nötigen Verwaltungsstrukturen unterhalb der 1 MB-Grenze liegen) aber eben nicht direkt benutzt werden kann. Klar kann man Teile des Programms per XMS oder EMS Auslagern und nur temporär ins untere MB holen (per Overlay-Techniken u.ä.) aber schön ist das nicht und von Compilern wird das auch nicht unterstützt so das man hier einiges an Assembler-Kram bauen müsste. Ein dickes Office-Programm das mehr als 1 MB Code hat wird man nicht so einfach als reines x86-Real-Mode-Programm realisieren können.

Das DOS selber immer noch ein reines RM-OS ist liegt daran das es auch ohne himem.sys und emm386.exe voll funktionsfähig und nutzbar ist, auch wenn dann die 640kB deutlich enger werden.

Wenn UEFI sich weiter verbreitet und zukünftige OSe/Bootloader nicht mal mehr beim Starten mit dem Real-Mode in Berührung kommen fällt auch die Notwendigkeit für diesen weg so das Intel und AMD sicher bald auf die Idee kommen werden den Real-Mode komplett aus der CPU zu entfernen (ernsthafte Nutzer gibt es schon lange nicht mehr). Dabei wird dann hoffentlich auch endlich das A20-Gäte und ein paar andere Altlasten (wie z.B. der ISA-DMA-Controller) gleich mit entfernt. Sollte dieser Schritt tatsächlich passieren wäre das auf jeden Fall ein echter Fortschritt für die x86-Plattform.


Grüße
Erik
Reality is that which, when you stop believing in it, doesn't go away.

freecrac

  • Beiträge: 86
    • Profil anzeigen
Gespeichert
« Antwort #47 am: 23. June 2011, 01:55 »
Wenn UEFI sich weiter verbreitet ...

Grüße
Erik

Ich habe allerdings die Befürchtung das mit UEFI auch Digital Rights Management(DRM) immer weiter verbreitet wird und so alle User zukünftig für jeden Mouseklick beim Klickibunti zigfach zahlen müssen. Ob diese feindliche Übernahme unserer PCs dann noch zu stoppen ist bleibt abzuwarten. So sehe ich die Entwicklung mit gemischten Gefühlen entgegen und ich frage mich, ob so ein Hobby mir dann überhaupt noch Spaß macht, denn Fernsehen sehe ich auch, wegen nur noch 24 Stunden Teletubie-Folter auf allen Kanälen, schon seit einigen Jahren überhaupt gar nicht mehr. Das ganze erinnert mich immer mehr an den Begriff einer Kathodenstrahl-Marionette, denn es ist ja auch noch gar nicht so lange her, da hat man sich noch zur Tageschau einen Anzug angezogen und den Nachrichtensprechen ebenfalls mit einem "guten Abend" vor der Glotze begrüßt, so als wenn man im Fernsehstudio die Zuschauer ebenfalls sehen und hören könnte. Nun haben wir ja schon freiwillig unsere Radio-Hypnotic Intracereberal Mindcontrol-Transmitter-Handicaps akzeptiert. Morgen gibt es dann wohl gleich nach der Geburt den Gutmenschen-Chip implantiert.

Dirk
« Letzte Änderung: 23. June 2011, 02:00 von freecrac »

Svenska

  • Beiträge: 1 792
    • Profil anzeigen
Gespeichert
« Antwort #48 am: 23. June 2011, 03:01 »
Mit Projekten wie coreboot wird die Freiheit unserer Computersysteme auch weiterhin gewährleistet bleiben.

Mit coreboot ist es u.a. möglich, eine BIOS- (SeaBIOS) als auch eine UEFI-Schnittstelle (TianoCore) bereitzustellen, außerdem gibt es noch verschiedenste andere Payloads (z.B. direkt einen Linux-Kernel im BIOS-Flash). AMD unterstützt coreboot mit Dokumentation und Code und ein GSoC-Projekt möchte coreboot auf ARM portieren.

Also wenn schon vieles schwarz ist, so ist es doch nicht alles. (Und selbst wenn, Development-Boards und Mikrocontroller bleiben uns auch enthalten - und in den kleineren ist kaum Platz für DRM.)

freecrac

  • Beiträge: 86
    • Profil anzeigen
Gespeichert
« Antwort #49 am: 23. June 2011, 09:24 »
http://de.wikipedia.org/wiki/Extensible_Firmware_Interface
Zitat
EFI wurde dafür kritisiert, mehr Komplexität ins System zu bringen, ohne nennenswerte Vorteile zu bieten[13] und das vollständige Ersetzen mit einem Open-Source-BIOS wie OpenBIOS und Coreboot unmöglich zu machen[14]. Es löse nicht eines der langjährigen Probleme des BIOS - nämlich, dass die meiste Hardware zwei unterschiedliche Treiber benötigt.[15] Es sei nicht klar, warum es nützlich sein soll, zwei komplett unterschiedliche Betriebssysteme gleichzeitig in Betrieb zu haben, die im Grunde die selben Aufgaben erledigen, oder warum ein neues Betriebssystem von Grund auf neu geschrieben werden müsste.[15] EFI gilt einem Entwickler von Coreboot zufolge in sicherheitskritischen Einsatzumgebungen - wie etwa in Banken - als ein mögliches Sicherheitsrisiko, da etwa mit dem implementierten Netzwerkstack die theoretische Möglichkeit bestünde, Daten unbemerkt vom Betriebssystem an eine beliebige Adresse zu senden. Auch für DRM-Zwecke könnte EFI benutzt werden, um etwa den I/O-Datenstrom auf digitale Wasserzeichen hin zu überwachen. Aus diesen Gründen plädieren einige Anwender eher für ein quelloffenes System wie Coreboot (ehemals LinuxBIOS).

Ich denke das es nur sehr wenige PC-Benutzer geben wird die ihr neu eworbenes UEFI-Bios gegen ein Coreboot-Bios austauschen werden und so werden wohl die Nachteile dieser Entwicklung sich am Markt durchsetzen, so das die meisten Kunden hierbei durch restriktive Gängelungen von Seiten der Konzerne bei der Frage der individuellen Selbstbestimmung, sich über den Tisch ziehen lassen werden und nur ein bedeutungsloser Anteil an kritikfähigen Individualisten sich dieser Sache entziehen werden.

Im weitem Umfeld sieht man ja auch schon am Vertrag von Maastricht deutlich genug in welche Richtung es nach dem Willen unser führenden Entscheidungsträger geht. (Kontroverse Kritik darüber findet man u.A. in Beiträgen von Karl Albrecht Schachtschneider. http://www.kaschachtschneider.de/)

Dirk
« Letzte Änderung: 23. June 2011, 09:47 von freecrac »

 

Einloggen