自win 95发行以来,微软公司坚持对win 9x系统内核技术保密,用户难以获得win 9x启动过程更底层的技术资料,它始终是一个黑色的过程。掌握系统的启动过程是全面控制系统和优化系统的关键,现在根据公开的技术资料和实践经验,仅从应用角度,对win 9x(包括95、96(95osr1)、97(95 osr2.x)、98、98se)的启动过程全面揭密,并对各技术细节加以必要的说明。
win 9x家族主要由四个版本系列组成,其中windows 95是第一个版本,正是它开创了pc世界新纪元,并将比尔·盖茨推向世界首富的宝座。该版本并不完善,bug最多,在推出一个多月后就开始提供修正软件包。
win 96即win 95的osr1版(称其为96,是因其发布于96年,97同此),该版本几乎重写了win 95的内核,纠正了win 95在实际应用中的种种问题,由于与win 95发布时间太近,流传不广。
win 97即win 95的osr2.x,该版本发生了质的飞跃,其最大的变化是提供了新磁盘的格式fat 32,集成了inte.net浏览器ie 3.0,这表明微软的系统发展战略开始转向因特网。osr2.x有三种版本,即osr2.0、osr2.1和osr2.5,其中osr2.1支持usb和agp显卡,osr2.5则提供了ie4.0。由于fat 32使osr2.x与win 95和dos不兼容,微软只将其做为oem产品而不提供零售版,win 97因此也成为win 95后最流行的版本。
win 98是以dos为基石的windows系列的最后辉煌。它将因特网技术和操作系统紧密结合,同时提供了ie4.0和directx5.0,但没有提供更激动人心的东西,更象是win 97的零售版。
win 98 se是win 98的第二版,与win 98相比只是提供了ie5.0和directx6.1a,别无新意。
windows 2000是以windows nt为基础的网络操作系统,它已经是与win9x截然不同的产品了,而新推出的windows me则是windows 9x的替代产品,但除了借用windows 2000的界面外,尚没有更新的发现。
win 9x版本沿革比较复杂,其核心却保持着相对的稳定,没有根本性变化,启动过程也几乎完全相同,这是本文存在的依据。
一、win 9x启动概述
win 9x的启动过程继承了dos的传统并进行了必要的扩充,主要由两个阶段组成,即扩展的dos实模式启动和gui(即图形界面)32位保护模式启动,win 9x的技术核心集中在后一阶段中。
该启动过程依次由引导记录、io.sys、msdos.sys、command.com、config.sys、autoexec.bat、gui启动命令win.com和其它必要的相关文件完成,其中与dos的系统文件完全同名的文件实际上发生了质的变化。
win 95/96提供了彻底的双重启动功能,即用户可以用win 95/96和dos(6.22以下)两种方式启动系统,互不干扰,解决了新旧系统的兼容问题,最大限度地维护了用户的利益。但为了逐渐摆脱落后的dos对pc世界的影响,从win 97开始,微软公司尝试限制双重启动功能,使win 97/98的启动系统必须修改才能实现双重启动。目前,双重启动功能在实际上的需要确已越来越少。
二、引导记录
引导记录的作用是将操作系统的核心文件调入内存,以启动系统。
所有系统的引导记录均位于磁盘的起始位置,微机加电启动时,直接从固定位置将引导记录调入内存,引导系统启动。不同版本系统的引导记录自然不同。
dos引导记录的版本标志为msdos5.0,支持fat 12(各版本均用于软盘或小于16m的硬盘)、fat 16磁盘格式,指定的系统引导文件是io.sys、msdos.sys。
win 95/96的引导记录与dos(6.22前独立版本)的完全兼容,版本标志为mswin4.0,支持fat 12、fat 16磁盘格式,支持双重启动,指定的引导文件是winboot.sys(io.sys在旧版dos下使用时的文件名)和io.sys、msdos.sys。
win 97/98的引导记录与dos有了本质的区别,版本标志为mswin4.1,使用32位指令代码,支持fat 12、fat 16和fat 32三种磁盘格式,固定引导io.sys,这导致不经修改,win 97/98不能直接支持双重启动。
win 97/98的全新磁盘格式fat 32可以支持大容量硬盘,取消了fat 16的容量限制,与传统的fat 16完全不兼容,当然不能为dos、windows 95/96识别。这种磁盘格式下多数原dos、windows 95/96软件均能正常运行,但与磁盘格式有关的软件如磁盘工具等不能继续使用。由于主流的硬盘容量正在超过8.4g,fat 32的应用越来越广。
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器