florida schrieb: Zuerst installierte ich ein Win95 und danach ein Win3.1.
Dann kopierte ich die Dateien von c:\win31 nach c:\win95, wobei sich dann anstatt eines Win95 ein Win3.1 beim Bootvorgang lud.
Später habe ich dann alle DOS- Dateien im Windows- Verzeichnis und auf C.
Beim Neustart meckerte Windows natürlich rum, dass es den Befehlsinterpreter nicht fand und ich sollte eingeben, wo dieser sich befindet. Da habe ich einfach win.com eingegeben und schon lief 3.1 ohne DOS.
DOS als Betriebssystem ist mehr als nur der shell COMMAND.COM
lösch mal IO.SYS und andere essenzielle DOS-dateien, dann wirst du sehen, dass da nix mehr geht
Da funktioniert wirklich garnichts mehr. Aber normalerweise ist dies dann schon ein kleines Betriebssystem, denn es gibt ja bei meiner 3.1- Version dann keine andere Shell mehr, die als Unterbau dient.
florida schrieb: Da funktioniert wirklich garnichts mehr. Aber normalerweise ist dies dann schon ein kleines Betriebssystem, denn es gibt ja bei meiner 3.1- Version dann keine andere Shell mehr, die als Unterbau dient.
die shell ist sowieso kein unterbau, die ruft das nur auf, aber was das aufgerufene programm braucht sind nur die BIOS- und DOS-Routinen (die nicht von der COMMAND.COM kommen)
ich hab win.com bei mir meistens einfach in die autoexec.bat getan, hat ja prinzipiell den gleichen effekt
Jup, der DOS-Kernel ist das essentielle an DOS. Der Bootsektor lädt den Kernel und der lädt danach die COMMAND.COM.
Bei MS-DOS bis 6.22 steckt der Kernel in der IO.SYS (zuerst) und MSDOS.SYS. Ab MS-DOS 7 ist alles in der IO.SYS. Bei PC-DOS und DR-DOS heissen die Dateien IBMBIO.COM und IBMDOS.COM, bei FreeDOS heisst der Kernel KERNEL.SYS.
Der Kernel macht das ganze Dateisystem (Mappen der vom BIOS erkannten Festplatten und Diskettenlaufwerke auf Laufwerksbuchstaben und Lesen und Schreiben des Dateisystems (FAT12, FAT16 und FAT32 bei FreeDOS/MS-DOS 7), sowie serielle und parallele Ports und bietet diese über ein Software-Interrupt-API den DOS-Programmen an.
Ohne diesen DOS-Kernel (genannte Dateien + Bootsektor) läuft Windows nicht.
Die COMMAND.COM selber ist nur die Shell, welche ein paar Befehle zu Verfügung stellt. Man kann die COMMAND.COM aber problemlos durch ein anderes DOS-Programm ersetzen, was auf den DOS-Kernel zurückgreift, was auch problemlos Dateien Lesen und Schreiben kann, welches dann von dem Kernel gestartet wird.
Nur für Batch-Dateien oder Shell-Befehle benötigt man eine originale COMMAND.COM, welche man aber meistens über die %COMSPEC%-Umgebungsvariable angeben kann.
Und weiß jemand, was die Unterschiede an der Programmierung von io.sys und ntldr sind?
Erstaunlicherweise habe ich deren Größe verglichen und sie waren beide gleich groß.
28.03.2010 15:40
Windows NT
Windows NT-User
Beiträge: 1.060
Registriert seit: Aug 2009
florida schrieb: Und weiß jemand, was die Unterschiede an der Programmierung von io.sys und ntldr sind?
Erstaunlicherweise habe ich deren Größe verglichen und sie waren beide gleich groß.
Ähm, das sind zwei komplett unterschiedliche Dateien, die io.sys ist ein Teil des MS-DOS Kernels und der ntldr ist der Bootloader von Windows NT (und auch Windows 2000 bis XP, bei Vista und 7 bin ich mir nicht sicher, ob ntldr da noch die gleiche Funktion hat)
28.03.2010 16:11
clik!84
Erfahrener Benutzer
Beiträge: 10.069
Registriert seit: Oct 2009
florida schrieb: Und weiß jemand, was die Unterschiede an der Programmierung von io.sys und ntldr sind?
Erstaunlicherweise habe ich deren Größe verglichen und sie waren beide gleich groß.
Ähm, das sind zwei komplett unterschiedliche Dateien, die io.sys ist ein Teil des MS-DOS Kernels und der ntldr ist der Bootloader von Windows NT (und auch Windows 2000 bis XP, bei Vista und 7 bin ich mir nicht sicher, ob ntldr da noch die gleiche Funktion hat)
ntldr gibts doch bei Vista/7 nicht mehr. da ist alles viel komplizierter!
28.03.2010 16:46
clik!84
Erfahrener Benutzer
Beiträge: 10.069
Registriert seit: Oct 2009