![]() |
io.sys
Hallo!
ich bin grad über die Datei io.sys gestolpert. Soweit ich dem netz entnehmen konnte kann diese Datei direkt hardwarkomponenten ansprechen. ist das korrekt? Und wenn ja, wie steuer ich diese Datei dann mit Delphi an? Gruß, Borti |
Re: io.sys
Tut mir leid das sagen zu müssen -> Garnicht!
Denn diese Datei wird soweit ich weis im WinNT nicht mehr benötigt. Bei Win9x war sie auch nur noch wegen der abwärtskompatiblität dabei. Direkt HW ansprechen kann man nur über Treiber. Treiber und Delphi, das Thema hatte wir schon zur genüge. -> Grenzen von Delphi |
Re: io.sys
Das kommt noch aus alten DOS-Zeiten. Du brauchtest nur die COMMAND.COM, die IO.SYS und die MSDOS.SYS, um ein bootfähiges Sytem zu haben. Warum willst du die ansprechen ?
|
Re: io.sys
Wenn du meine Tätigkeiten im Forum dir anschaust, wirst du feststellen, dass ich versuch den LPT-Port anzusprechen.
Ich hab's schon mit einem Treiber geschafft, wollt aber noch nach anderen Möglichkeiten schauen. Gruß, Borti |
Re: io.sys
Zitat:
PS: Die io.sys ist übrigens in WinXP 0 Byte gross, was da wohl drin sein mag :) |
Re: io.sys
Zitat:
|
Re: io.sys
???
IO.SYS stellt die grundlegenden Bearbeitungsroutinen von MS-DOS zur Verfügung. Das Heißt wenn der Rechner bootet, schaut das BIOS nach ob eine Festplatte eingetragen ist(oder Versucht eine zu finden). Ist eine gefunden wird der MBR in den Speicher geladen. Da dieser mit einer Sprungadresse anfängt(dort ist vermerkt welche Datei ausgeführt werden soll), lädt es das Prog und führt es aus. Unter MS-DOS bis Win9x ist es die IO.SYS, unter NT die ntldr. Es gibt aber IBM.SYS (Dr.DOS, Caldera DOS, Novell-DOS). Die Aufgaben von IO.SYS ist es zuprüfen ob es eine Config.sys/Autoexec.bat gibt und die enthaltenen Befehle mit den Commandointerpreter abzuarbeiten. Mehr nicht! Um den LPT anzusprechen, reichen auch die BIOS-Routinen, was anderes nutzt IO.SYS auch nicht. Gruss Alter Mann |
Re: io.sys
Zitat:
Mit Kompatiblität hat das nur insofern zutun, das man sich damals noch nicht entschliessen konnte/wollte komplett auf das NT-System umzusteigen. Wenn Windows erst mal fertig geladen ist hat das natürlich nicht mehr viel mit MS-DOS zu tun, da hast du recht. |
Re: io.sys
Zitat:
|
Re: io.sys
Hi Borti,
gemeint ist Int $17 mit den Funktionen $00 - Zeichen parallel ausgeben, $01 - Initialisierung und $02 - Parallelen Schnittstellenstatus ermitteln.
Delphi-Quellcode:
Gruss
type
registers = record case boolean of true: (ax,bx,cx,dx,bp,si,di,ds,es,flags:Integer); false:(al,ah,bl,bh,cl,ch,dl,dh:byte; end; var cpu : regsiters; status : byte; procedure Init_Drucker(Drucker:Integer); begin cpu.ah := 1; cpu.dx := Drucker; Intr($17, cpu); Status := cpu.ah; end; (aus: PC Profibuch - Sybex Verlag 8. Auflage 1991 - ISBN: 3-88745-836-2) Alter Mann |
Re: io.sys
Zitat:
Das damit ausgelieferte DOS ist voll fünktionsfähig und man den Rechner sogar ohne Windows zu laden starten. Also ist es wohl doch MS-DOS, welches Win 9X zum laufen bringt :zwinker: ...:cat:... |
Re: io.sys
Zitat:
|
Re: io.sys
Zitat:
...:cat:... |
Re: io.sys
Ich will darauf hinaus, ob 16 Bit oder 32 Bit Betriebssystem. Mit 16 Bit lassen sich eben Festplatten von 20 GB nicht mehr ohne Umwege adressieren/ansprechen. Win < 95 war eine Benutzeroberfläche (3.11 usw.) mit dem Betriebssystem MS-DOS. Win >= 95 ist selber ein Betriebssystem, braucht deshalb nicht noch eines und hat deshalb mit MS-DOS nichts mehr zu tun. Seit dieser Zeit gibt es allerdings ein Zusatzprogramm namens "MS-DOS Eingabeaufforderung", welches es ermöglicht in einer Emulation, Dos Programme ablaufen zu lassen. Genau diese Zukunft steht auch den jetzigen WinApi-Programmen bevor.
Microsoft wäre übrigens heilfroh, wenn es möglich gewesen wäre, das Wort "MS-DOS" ersatzlos zu streichen. |
Re: io.sys
Zitat:
Bei 95/98/Me war dies allerdings nicht komplett emuliert wie es bei NT/2000/XP der Fall ist. Dies erkennt man daran, das hier noch die "echte" COMMAND.COM, also eine DOS-Executable aufgerufen wird, während es bei NT-Systemen eine gefakte COMMAND.COM bzw. die CMD.EXE ist, eine 32bit-Windows-Executable, die noch zusätzliche Binaries verwendet (NTDOS.SYS usw.). PS: Auch unter DOS ist ein 32bit Betrieb möglich, er ist halt nur nicht direkt in den "Kernel" integriert. |
Re: io.sys
Zitat:
Unter 9X war es noch das echte DOS, welchem lediglich die Kontrolle übergeben wurde :mrgreen: ...:cat:... |
Re: io.sys
Um noch mal auf den Code von "Alter Mann" zurück zu kommen:
Könnt ihr mir den noch mal genauer erläutern? (Ich versteh nur Bahnhof) Gruß, Borti |
Re: io.sys
Was willst du nur mit der IO.SYS ? Was "Alter Mann" :shock: meint, ist direkt auf die Register des Prozessors zuzugreifen. Aber dafür ist ein Betriebssystem doch da. Was rechnest du dir denn damit für Vorteile aus ? Brauchst du einen neuen Rechner oder wie ? 8)
Da ist ja noch was von Sakura : :zwinker: Zitat:
Stop, anders rum ist es besser. Versuche mal ein ab D3 Programm unter Dos zu starten. :mrgreen: |
Re: io.sys
Zitat:
Die "Dos-Emulation" ist ein eigener Modus (Virtual Real Mode) des Prozessors (wie auch der Real Mode und der Protected Mode). Unter Windows NT kann die Virtual DOS Machine (VDM) mittels eigener Virtual Device Driver (VDD) erweitert werden (so wie zum Beispiel VDMSound eine komplett in Software implementierte Soundkarte für die VDM bereitstellt...). Gruss Nico topic: man kann die Hardware nur über die vorhandenen Schnitstellen (oder sich selbst eine schaffen - Treiber) ansprechen - alles andere sind böse Hacks, die letztendlich nur das Betriebssystem umgehen und nur für Ärger sorgen... |
Re: io.sys
Zitat:
Nein, im Ernst wird drehen uns so langsam im Kreis. Les nochmal genau, was geschrieben wurde. Es hat keiner behauptet, das Win9x mit jedem beliebigen DOS gestartet werden kann. Das liegt daran, weil Microsoft in sein DOS wie beim Sprung von DOS 3.3 zu DOS 5.0 auch beim Sprung zu DOS 7.x (Win95/98 DOS) sehr viele Neuerungen eingebaut haben. Diese Neuerungen sind für Win9x absolut erforderlich, DOS-Versionen anderer Hersteller haben diese aber nicht integriert. DOS wird also seit Windows 95 bis hin zu Me immer mitgeliefert. Entfernt man hingegen den DOS-Teil von seiner Installation (IO.SYS, COMMAND.COM usw.) gibt es keine Chance, Win9x zu starten. Vergleich es doch mal mit Linux: Dort wird der Kernel und die Oberfläche auch in einem Paket "ausgeliefert". Würde jetzt zum Beispiel ein Betriebssystem namens "KDE 2006" herauskommen, wäre Linux trotzdem noch als Unterbau vorhanden. Du könntest dann halt trotzdem kein "KDE 2006" mit einem 2.0 Kernel starten, weil die benötigten Neuerungen fehlen. |
Re: io.sys
Nun gut, du hast es so gewollt. 8) Habe hier noch alte Platte mit Win98 rumliegen. Da lösche ich die 3 wichtigen Dos-Dateien. Egal was passiert und ich auch nur Inlands-Hanseat bin (mit Daniel kann ich nicht mithalten 8) ). Die Platte wird danach sowieso versenkt. Nur eben in der Saar und nicht in der Elbe. :mrgreen:
P.S.: da ist ja noch NicoDEs Beitrag. 8) Jo, da war doch was mit Real und Protected und DOS-Modus :gruebel: |
Re: io.sys
Moin!
Mein Gott habt ihr euch darüber ausgelassen. Ich will dazu auch noch meinen Senf dazugeben: Grundlegend ist es möglich bis Windows 95 auch ein anderes DOS als Untersatz für das Windows zu nutzen. Bei dem DOS 7 zu Windows 95 waren schon die "Chicago" Erweiterungen mit enthalten die dafür sorgten, das der DOS Kommandoprompt bei vorhandenem Handler auch die langen Dateinamen konnte (die "Chicago" getaufte Erweiterung). (Für die Sache mit dem anderen DOS gibt es übrigens mehrere Anleitungen im Internet - und nein, leider muss ich sie erstmal euch schuldig bleiben - klingt doof, ist aber so). Dann ist es so, das eher das DOS von dem Windows abhängt. Viele DOS Funktionen rufen über einen illegalen Opcode den PM Handler in Windows auf um somit über folgenden Code und Registerinhalte Funktionen aus einem 16 Bit Code in einem 32 Bit Code Teile auszuführen (siehe die VDM Calls in DOS). Microsoft versucht doch schon seit Jahren seine Vorherrschaft zu festigen und auszubauen. Gutes Beispiel ist dazu doch auch vor allem der "AARD" Code im damaligen Windows 3.0 bzw. 3.1 (darin standardmässig disabled) der fehl schlug bei nicht echten MS DOS Versionen (um u.a. DR-DOS auszubooten). Grundlegendes: Ich kann euch die Bücher "DOS Internals", "undocumented DOS" und weitere aus der Andrew Schulmann Serie ans Herz legen. Lest die, und dann braucht ihr solche Diskussionen nicht mehr zu führen... Es gab noch mehr Punkte aus eurer Diskussion, aber die lasse ich, da ich schon wieder viel zu Offtopic wurde. Ansonsten Bitte an die Moderatoren: Abspalten... MfG Muetze1 |
Re: io.sys
Zitat:
Zitat:
Gruß, Borti |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz