中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS学习入门 & 精彩文章 (教学室) » 原创:DOS启动教学初步(二):IO.SYS模块
作者:
标题: 原创:DOS启动教学初步(二):IO.SYS模块 上一主题 | 下一主题
yiyesong
元老会员




积分 1987
发帖 632
注册 2002-10-27
状态 离线
『楼 主』:  原创: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芯片中的硬件驱动程序发生关联,进而真正实现所要求的输入/输出任务。





[此贴子已经被作者于2002-11-21 19:33:51编辑过]






[flash=550,93]http://dos.e-stone.cn/dosbbs
uploadImages/200311161145850422.swf[/flash]
2002-11-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
MYS
元老会员




积分 5170
发帖 1637
注册 2002-10-16
来自 广东佛山
状态 离线
『第 2 楼』:  

写得非常详细,好!



我的网志
http://hzmys.blog.163.com/
我的网盘
firststep.qjwm.com
fsmys.ys168.com
ssmys.ys168.com
www.brsbox.com/fsmys
www.brsbox.com/ssmys
www.brsbox.com/ccdos
2002-11-18 00:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (2664429)  编辑帖子  回复  引用回复
飘叶钴蓝
初级用户




积分 130
发帖 7
注册 2002-11-21
状态 离线
『第 3 楼』:  

顶!

2002-11-21 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
小辉
初级用户




积分 164
发帖 18
注册 2002-11-30
状态 离线
『第 4 楼』:  

我頂!!
繼續。



我就是我,我要努力。
2002-12-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
banach
初级用户

 弼马温


积分 130
发帖 12
注册 2003-3-29
状态 离线
『第 5 楼』:  

good



发生什么事了?
2003-4-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dosguest
中级用户




积分 381
发帖 75
注册 2002-10-15
状态 离线
『第 6 楼』:  

思路很清晰,不错

2003-4-3 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fjpc
初级用户




积分 119
发帖 7
注册 2003-4-17
状态 离线
『第 7 楼』:  

能不能通过编缉io.sys在加载dos时,选择从软盘或硬盘,或者从光盘启动。而不理会bios
的设定启动顺序。

2003-4-18 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
laochang409
中级用户




积分 297
发帖 44
注册 2004-6-15
状态 离线
『第 8 楼』:  

very good!

2004-6-23 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
linux1234
中级用户




积分 293
发帖 42
注册 2003-10-17
状态 离线
『第 9 楼』:  

好好学习,天天向上

2004-7-13 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hetao
初级用户




积分 175
发帖 64
注册 2005-9-15
状态 离线
『第 10 楼』:  疑问?

msdos.sys不是一个文本文件吗?怎么还有"内核初始化程序DOSINIT",另外内核初始化进行的?

2005-9-17 22:18
查看资料  发送邮件  发短消息 网志  OICQ (254220959)  编辑帖子  回复  引用回复
Michael
钻石会员





积分 10046
发帖 3039
注册 2002-11-11
状态 离线
『第 11 楼』:  

win9x的msdos.sys才是文本文件呢。



简单就是美
2005-9-17 22:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
chujiafu
银牌会员





积分 1329
发帖 591
注册 2004-5-26
来自 安徽 宿州
状态 离线
『第 12 楼』:  

写得不错。学习。(一)在哪儿?

2005-9-18 19:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fdsiuha
高级用户




积分 587
发帖 302
注册 2005-7-25
状态 离线
『第 13 楼』:  

很有用



欢迎造访DOS的小屋!
http://risky.ik8.com
2005-9-19 17:55
查看资料  访问主页  发短消息 网志   编辑帖子  回复  引用回复
hetao
初级用户




积分 175
发帖 64
注册 2005-9-15
状态 离线
『第 14 楼』:  

DOS7.1的msdos.sys也是文本文件

2005-9-24 00:20
查看资料  发送邮件  发短消息 网志  OICQ (254220959)  编辑帖子  回复  引用回复
haoxg
新手上路





积分 2
发帖 1
注册 2005-9-28
状态 离线
『第 15 楼』:  

支持

2005-9-28 21:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: