Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
IO.SYS
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Distinguish|IOSYS}} {{more citations needed|date=August 2014}} {{Short description|System file (DOS BIOS in MS-DOS, combined with DOS kernel in Windows 9x)}} {{Use dmy dates|date=April 2019|cs1-dates=y}} {{Use list-defined references|date=December 2021}} {{Mono|'''IO.SYS'''}} is an essential part of [[MS-DOS]] and [[Windows 9x]]. It contains the default MS-DOS [[device driver]]s<ref name="Microsoft_Built-in_devices"/> (hardware interfacing routines) and the DOS initialization program. == Boot sequence == In the [[IBM PC compatible|PC]] bootup sequence, the first sector of the boot disk is loaded into memory and executed. If this is the DOS [[boot sector]], it loads the first three sectors of {{Mono|IO.SYS}} into memory and transfers control to it. {{Mono|IO.SYS}} then: # Loads the rest of itself into memory. # Initializes each default [[device driver]] in turn ([[System console|console]], disk, [[serial port]], etc..). At this point, the default devices are available. # Loads the DOS kernel and calls its initialization routine. The kernel is stored in {{Mono|[[MSDOS.SYS]]}} with MS-DOS and in {{Mono|IO.SYS}} with Windows 9x. At this point, "normal" file access is available. # Processes the {{Mono|MSDOS.SYS}} file with Windows 9x. # Processes the {{Mono|[[CONFIG.SYS]]}} file, in MS-DOS 2.0 and higher and Windows 9x. # Loads {{Mono|[[COMMAND.COM]]}} (or other [[operating system shell]] if specified). # Displays the [[bootsplash]] in Windows 9x. If {{Mono|[[LOGO.SYS]]}} is present, it is used as the bootsplash. Otherwise, the bootsplash in {{Mono|IO.SYS}} is used. The {{Mono|IO.SYS}} filename was also used by {{ill|Disk Control Program|de}} (DCP), an MS-DOS derivative by the former East-German [[VEB Robotron]].<ref name="Robotron_1988_DCP1700"/><ref name="DCP_2016"/> [[IBM PC DOS]] and [[DR DOS]] use the file {{Mono|[[IBMBIO.COM]]}} for the same purpose; it in turn loads {{Mono|[[IBMDOS.COM]]}}. In Windows 9x, the {{mono|IO.SYS}} not only contains the [[DOS BIOS]], but also holds the DOS kernel, which previously resided in {{mono|MSDOS.SYS}}. Under some conditions, Windows 9x uses the alternative filenames {{Mono|WINBOOT.SYS}}<ref name="Paul_1997_OD-A3"/> or {{Mono|JO.SYS}} instead. When Windows 9x is installed over a preexisting DOS install, the Windows file may be temporarily named {{Mono|IO.W40}} for as long as Windows' dual-boot feature has booted the previous OS. Likewise, the {{Mono|IO.SYS}} of the older system is named {{Mono|IO.DOS}} for as long as Windows 9x is active. [[DR-DOS 7.06]] (only this version) also follows this scheme and the {{mono|IO.SYS}} filename in order to become bootable via MS-DOS boot sectors. Similarly, [[FreeDOS]] uses a combined system file as well, but names it {{Mono|KERNEL.SYS}}. == Disk layout requirements == * The two first entries of the root directory must be allocated by {{Mono|IO.SYS}} and {{Mono|MSDOS.SYS}}, in that order.<ref name="msrq"/><ref name="Duncan_1988_MS-DOS_Encyclopedia"/> * {{Mono|IO.SYS}} must be the first file stored in the [[<!-- Design of the FAT file system#Directory table|-->FAT directory table]] for files.<ref name="msrq"/><ref name="Duncan_1988_MS-DOS_Encyclopedia"/> * The files {{Mono|IO.SYS}} and {{Mono|MSDOS.SYS}} must be [[Fragmentation (computing)|contiguous]].<ref name="msrq"/><ref name="Duncan_1988_MS-DOS_Encyclopedia"/> However, MS-DOS version 3.3 allows sector 4 and higher to be fragmented; version 5.0 allows the first 3 sectors of {{Mono|IO.SYS}} to be allocated anywhere (as long as they are contiguous).<ref group="nb" name="NB_PC_DOS_Contiguous_files"/><ref name="Chappell_1994_DOS-Internals"/><ref name="msrq"/><ref name="rxp"/> {{Mono|COMMAND.COM}} can be treated like any ordinary file. ==See also== * [[MSDOS.SYS]] * [[IBMBIO.COM]] * [[DRBIOS.SYS]] * [[COMMAND.COM]] * [[List of DOS system files]] * [[Hardware abstraction layer]] (HAL) * [[Remote Program Load]] * [[Architecture of Windows 9x]] == Notes == {{Reflist|group="nb"|refs= <ref group="nb" name="NB_PC_DOS_Contiguous_files">The [[MS-DOS 5.0]] manual incorrectly states that the system files no longer need to be contiguous. However, for the boot process to work the system files still need to occupy the first two directory entries and the first three sectors of IO.SYS still need to be stored contiguously. [[SYS (DOS command)|SYS]] continues to take care of these requirements.<!-- See Chappell "DOS Internals" for further details --></ref> }} == References == {{Reflist|refs= <ref name="msrq">{{cite web |title=SYS.COM Requirements in MS-DOS Versions 2.0–6.0 |date=2003-05-23 |version=Revision 2.0 |id=KB66530. Q66530 |publisher=[[Microsoft]] |url=http://support.microsoft.com/kb/66530/en-us |url-status=dead |archive-url=https://archive.today/20120717061828/http://support.microsoft.com/kb/66530/en-us |archive-date=2012-07-17}}</ref> <ref name="rxp">{{cite web |title=Re: [vox-tech] rescuing winxp? |author-first=Mark K. |author-last=Kim |date=2004-09-24 |website=mail-archive.com |url=http://www.mail-archive.com/vox-tech@lists.lugod.org/msg08837.html |access-date=2019-04-06 |url-status=live |archive-url=https://web.archive.org/web/20190406143045/https://www.mail-archive.com/vox-tech@lists.lugod.org/msg08837.html |archive-date=2019-04-06}}</ref> <ref name="Microsoft_Built-in_devices">{{cite web |title=MS-DOS Device Driver Names Cannot be Used As File Names |date=2003-05-12 |version=Revision 2.0 |id=KB74496. Q74496 |publisher=[[Microsoft]] |url=http://support.microsoft.com/kb/74496/en-us |url-status=dead |archive-url=https://archive.today/20120721143046/http://support.microsoft.com/kb/74496/en-us |archive-date=2012-07-21}}</ref> <ref name="Duncan_1988_MS-DOS_Encyclopedia">{{Cite book |title=The MS-DOS Encyclopedia: versions 1.0 through 3.2 |author-first1=Ray |author-last1=Duncan |author-first2=Steve |author-last2=Bostwick |author-first3=Keith |author-last3=Burgoyne |author-first4=Robert A. |author-last4=Byers |author-first5=Thom |author-last5=Hogan |author-first6=Jim |author-last6=Kyle |author-first7=Gordon |author-last7=Letwin |author-link7=Gordon Letwin |author-first8=Charles |author-last8=Petzold |author-link8=Charles Petzold |author-first9=Chip |author-last9=Rabinowitz |author-first10=Jim |author-last10=Tomlin |author-first11=Richard |author-last11=Wilton |author-first12=Van |author-last12=Wolverton |author-first13=William |author-last13=Wong |author-first14=JoAnne |author-last14=Woodcock |contribution=Technical advisors |contributor-first1=Mark |contributor-last1=Zbikowski |contributor-link1=Mark Zbikowski |contributor-first2=Paul |contributor-last2=Allen |contributor-link2=Paul Allen |contributor-first3=Steve |contributor-last3=Ballmer |contributor-link3=Steve Ballmer |contributor-first4=Reuben |contributor-last4=Borman |contributor-first5=Rob |contributor-last5=Borman |contributor-first6=John |contributor-last6=Butler |contributor-first7=Chuck |contributor-last7=Carroll |contributor-first8=Mark |contributor-last8=Chamberlain |contributor-first9=David |contributor-last9=Chell |contributor-first10=Mike |contributor-last10=Colee |contributor-first11=Mike |contributor-last11=Courtney |contributor-first12=Mike |contributor-last12=Dryfoos |contributor-first13=Rachel |contributor-last13=Duncan |contributor-first14=Kurt |contributor-last14=Eckhardt |contributor-first15=Eric |contributor-last15=Evans |contributor-first16=Rick |contributor-last16=Farmer |contributor-first17=Bill |contributor-last17=Gates |contributor-link17=Bill Gates |contributor-first18=Michael |contributor-last18=Geary |contributor-first19=Bob |contributor-last19=Griffin |contributor-first20=Doug |contributor-last20=Hogarth |contributor-first21=James W. |contributor-last21=Johnson |contributor-first22=Kaamel |contributor-last22=Kermaani |contributor-first23=Adrian |contributor-last23=King |contributor-first24=Reed |contributor-last24=Koch |contributor-first25=James |contributor-last25=Landowski |contributor-first26=Chris |contributor-last26=Larson |contributor-first27=Thomas |contributor-last27=Lennon |contributor-first28=Dan |contributor-last28=Lipkie |contributor-first29=Marc |contributor-last29=McDonald |contributor-link29=Marc McDonald |contributor-first30=Bruce |contributor-last30=McKinney |contributor-first31=Pascal |contributor-last31=Martin |contributor-first32=Estelle |contributor-last32=Mathers |contributor-first33=Bob |contributor-last33=Matthews <!-- |contributor-link33=Robert Matthews (scientist)??? --> |contributor-first34=David |contributor-last34=Melin |contributor-first35=Charles |contributor-last35=Mergentime |contributor-first36=Randy |contributor-last36=Nevin |contributor-first37=Dan |contributor-last37=Newell |contributor-first38=Tani |contributor-last38=Newell |contributor-first39=David |contributor-last39=Norris |contributor-first40=Mike |contributor-last40=O'Leary |contributor-first41=Bob |contributor-last41=O'Rear |contributor-link41=Bob O'Rear |contributor-first42=Mike |contributor-last42=Olsson |contributor-first43=Larry |contributor-last43=Osterman |contributor-first44=Ridge |contributor-last44=Ostling |contributor-first45=Sunil |contributor-last45=Pai |contributor-first46=Tim |contributor-last46=Paterson |contributor-link46=Tim Paterson |contributor-first47=Gary |contributor-last47=Perez |contributor-first48=Chris |contributor-last48=Peters |contributor-first49=Charles |contributor-last49=Petzold |contributor-link49=Charles Petzold |contributor-first50=John |contributor-last50=Pollock |contributor-first51=Aaron |contributor-last51=Reynolds |contributor-link51=Aaron R. Reynolds |contributor-first52=Darryl |contributor-last52=Rubin |contributor-first53=Ralph |contributor-last53=Ryan |contributor-first54=Karl |contributor-last54=Schulmeisters |contributor-first55=Rajen |contributor-last55=Shah |contributor-first56=Barry |contributor-last56=Shaw |contributor-first57=Anthony |contributor-last57=Short |contributor-first58=Ben |contributor-last58=Slivka |contributor-first59=Jon |contributor-last59=Smirl |contributor-first60=Betty |contributor-last60=Stillmaker |contributor-first61=John |contributor-last61=Stoddard |contributor-first62=Dennis |contributor-last62=Tillman |contributor-first63=Greg |contributor-last63=Whitten |contributor-first64=Natalie |contributor-last64=Yount |contributor-first65=Steve |contributor-last65=Zeck |date=1988 |edition=Completely reworked |publisher=[[Microsoft Press]] |location=Redmond, Washington, USA |isbn=1-55615-049-0 |lccn=87-21452 |oclc=16581341}} (xix+1570 pages; 26 cm) (NB. This edition was published in 1988 after extensive rework of the withdrawn 1986 first edition by a different team of authors. [https://www.pcjs.org/pubs/pc/reference/microsoft/mspl13/msdos/encyclopedia/])</ref> <ref name="Chappell_1994_DOS-Internals">{{cite book |title=DOS Internals |author-first=Geoff |author-last=Chappell |editor-first1=Andrew |editor-last1=Schulman |editor-first2=Amorette |editor-last2=Pedersen |date=January 1994 |edition=1st printing, 1st |series=The Andrew Schulman Programming Series |publisher=[[Addison Wesley Publishing Company]] |isbn=978-0-201-60835-9 }} (xxvi+738+iv pages, 3.5"-floppy [https://web.archive.org/web/20190421200111/https://gopher.tildeverse.org/gopher.viste.fr/9/programming/PC/DOS/DOS%2520Internals/DOS_Internals.zip][https://web.archive.org/web/20200222111608/https://www.pcjs.org/pubs/pc/programming/DOS_Internals/]) Errata: [https://web.archive.org/web/20200222111742/http://www.geoffchappell.com/notes/dos/internals/][https://web.archive.org/web/20200222111853/https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/DOS/DOS%2520Internals/crtdrvr][https://web.archive.org/web/20200222111945/https://gopher.tildeverse.org/gopher.viste.fr/1/programming/PC/DOS/DOS%2520Internals/xmswatch]</ref> <ref name="DCP_2016">{{cite web |title=Betriebssystem DCP |author-first1=Rüdiger |author-last1=Kurth |author-first2=Martin |author-last2=Groß |author-first3=Henry |author-last3=Hunger |date=2016-11-29 |orig-date=2007 |language=de |website=www.robotrontechnik.de |url=http://www.robotrontechnik.de/html/software/dcp.htm |access-date=2019-04-28 |url-status=live |archive-url=https://web.archive.org/web/20190403061152/http://www.robotrontechnik.de/html/software/dcp.htm |archive-date=2019-04-03}}</ref> <ref name="Paul_1997_OD-A3">{{cite web |author-first=Matthias R. |author-last=Paul |title=Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM - README.TXT and BOOT.TXT - A short description of how OpenDOS is booted |url=http://www.uni-bonn.de/~uzs180/download/ibmbioa3.zip |date=1997-10-02 |orig-date=1997-09-29 |access-date=2009-03-29 |url-status=dead |archive-url=https://web.archive.org/web/20031004074600/http://www-student.informatik.uni-bonn.de/~frinke/ibmbioa3.zip |archive-date=2003-10-04}} [https://web.archive.org/web/20181225154705/http://mirror.macintosharchive.org/max1zzz.co.uk/+Windows%20&%20DOS/DOS/System/Novell/Support/Bins/Op702src.zip<!-- op702src.zip is an unofficial renamed distribution of the ibmbioa3.zip file -->] (NB. Also has a few bits on how other DOSes are booted.)</ref> <ref name="Robotron_1988_DCP1700">{{cite book |title=Anwenderdokumentation - Anleitung für den Systemprogrammierer - MOS DCP 1700 |id=C3013-0000-0 M3030, Textdiskette DCP1700 T1/2 C3010-9991-2M3020, Disk-Nr.: 5962 /88 ROBOTRON PROJEKT DRESDEN KA2 DD-DS 80*16*256 |language=de |publisher=[[VEB Robotron-Projekt Dresden]] |version=3.20 |location=Dresden, East-Germany |date=1988-01-29 |url=http://www.robotron-net.de/Service/Dokus/DCP20sys.pdf |access-date=2021-12-03 |url-status=live |archive-url=https://web.archive.org/web/20210829191036/http://www.robotron-net.de/Service/Dokus/DCP20sys.pdf |archive-date=2021-08-29}}</ref> }} {{DOS system files}} [[Category:DOS files]] {{operating-system-stub}} {{Windows-stub}}
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Asbox
(
edit
)
Template:DOS system files
(
edit
)
Template:Distinguish
(
edit
)
Template:Ill
(
edit
)
Template:Mono
(
edit
)
Template:More citations needed
(
edit
)
Template:Operating-system-stub
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Use dmy dates
(
edit
)
Template:Use list-defined references
(
edit
)
Template:Windows-stub
(
edit
)