中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-13 04:15
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS学习入门 & 精彩文章 (教学室) » 原创:DOS启动教学初步(二):IO.SYS模块
可打印版本  3,313 / 14
第1楼 yiyesong 发表于 2002-11-18 00:00
元老会员 发帖 632 积分 1,987
原创:DOS启动教学初步(二):IO.SYS模块
由教学(一)我们知道计算机启动后,ROM-BIOS首先去检测BOOT引导程序的位置,引导程序BOOT是由格式化命令FORMAT写在软盘或硬盘的相对0扇区上的,它是一个很小的程序,其任务首先检查驱动器A或C是否为DOS系统盘,再检查A盘或C盘的根目录下头两个文件是否为IO.SYS和MSDOS.SYS。如果为真,则把IO.SYS文件读入内存,完成引导DOS进入的任务。
此时,IO.SYS就取得系统的控制权,正式在DOS启动中登场了(在PC-DOS中被称为IBMBIO.COM)。
I0.SYS模块主要完成基本输入/输出的管理工作,它由两部分组成:
  1、系统初始化程序SYSINIT;
  2、一组设备驱动程序。
  系统初始化程序SYSINIT的主要工作有如下6个方面:
  1、确定内存容量;
  2、装入并定位MSDOS.SYS模块;
  3、调用MSDOS.SYS的内核初始化程序DOSINIT,完成对内核的初始化;
  4、解释CONFIG.SYS文件,设置系统运行环境;
  5、加载可安装的设备驱动程序;
  6、装入COMMAND.COM模块。
  由此可见,从引导程序BOOT那里接过系统的控制权后,SYSINT在DOS系统的整个启动过程中起着主导作用,由它安排全部的系统初始化工作,直到把COMMAND.COM从磁盘读入主存,才把控制权移交给后者的初始化程序CMDINIT,然后被覆盖消失,最终完成对DOS的启动使命(在屏幕上出现DOS的提示符)。
设备驱动程序是指能让MS-DOS使用某个物理设备或往MS-DOS里添加某项功能的程序,系统初启时,共有如下6类设备驱动程序:
1、标准输入输出设备驱动程序:支持键盘和显示器,逻辑设备名均为CON。
2、标准打印设备驱动程序: 支持打印机,逻辑设备名为PRN、LPT1、LPT2、LPT3。
3、辅助输入输出设备驱动程序: 支持异步串行通信接口,逻辑设备名为AUX、COM1、COM2。
4、时钟设备驱动程序: 支持时间和日期的服务,逻辑设备名为CLOCK$。
5、“空”设备驱动程序: 支持应用程序的模拟操作,逻辑设备名为NUL。
6、块设备驱动程序: 支持软盘和硬盘的操作,无逻辑设备名。
IO.SYS模块在DOS的层次结构中处在内核模块MSDOS.SYS与ROM-BIOS之间,DOS内核通过调用IO.SYS里的设备驱动程序,对具体的输入/输出请求加以解释,转换成不同硬件设备控制器的有关控制命令,再由这些命令与固化在ROM-BIOS芯片中的硬件驱动程序发生关联,进而真正实现所要求的输入/输出任务。





第2楼 MYS 发表于 2002-11-18 00:00
元老会员 发帖 1,637 积分 5,170 来自 广东佛山
写得非常详细,好!
第3楼 飘叶钴蓝 发表于 2002-11-21 00:00
初级用户 发帖 7 积分 130
顶!
第4楼 小辉 发表于 2002-12-02 00:00
初级用户 发帖 18 积分 164
我頂!!
繼續。
第5楼 banach 发表于 2003-04-02 00:00
初级用户 发帖 12 积分 130
good
第6楼 dosguest 发表于 2003-04-03 00:00
中级用户 发帖 75 积分 381
思路很清晰,不错
第7楼 fjpc 发表于 2003-04-18 00:00
初级用户 发帖 7 积分 119
能不能通过编缉io.sys在加载dos时,选择从软盘或硬盘,或者从光盘启动。而不理会bios
的设定启动顺序。
第8楼 laochang409 发表于 2004-06-23 00:00
中级用户 发帖 44 积分 297
very good!
第9楼 linux1234 发表于 2004-07-13 00:00
中级用户 发帖 42 积分 293
好好学习,天天向上
第10楼 hetao 发表于 2005-09-17 22:18
初级用户 发帖 64 积分 175
疑问?
msdos.sys不是一个文本文件吗?怎么还有"内核初始化程序DOSINIT",另外内核初始化进行的?
第11楼 Michael 发表于 2005-09-17 22:42
钻石会员 发帖 3,041 积分 10,056
win9x的msdos.sys才是文本文件呢。
第12楼 chujiafu 发表于 2005-09-18 19:54
银牌会员 发帖 595 积分 1,339 来自 安徽 宿州
写得不错。学习。(一)在哪儿?
第13楼 fdsiuha 发表于 2005-09-19 17:55
高级用户 发帖 302 积分 587
很有用
第14楼 hetao 发表于 2005-09-24 00:20
初级用户 发帖 64 积分 175
DOS7.1的msdos.sys也是文本文件
第15楼 haoxg 发表于 2005-09-28 21:02
新手上路 发帖 1 积分 2
支持
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023