Windows 98

Windows 98 (codenamed Memphis while in development) is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems and the successor to Windows 95. It was released to manufacturing on May 15, 1998 and to retail on June 25, 1998.

Like its predecessor, Windows 98 is a hybrid 16-bit and 32-bit monolithic product with the boot stage based on MS-DOS. Windows 98 was succeeded by Windows 98 Second Edition (SE) on May 5, 1999, which in turn was succeeded by Windows ME on June 19, 2000. Microsoft ended mainstream support for Windows 98 and 98 SE on June 30, 2002, and extended support on July 11, 2006.

The famous startup sound for Windows 98 was composed by Microsoft sound engineer Ken Kato, who considered it to be a "tough act to follow."

Development
Development of Windows 98 began in the 1990s, initially under the development codename "Memphis". Many builds were released or leaked, starting with build 1351 on December 15, 1996 and ending with Windows 98 Second Edition.

Web integration and shell enhancements
Windows 98 includes Internet Explorer 4.01 in First Edition and 5.0 in Second Edition. Besides Internet Explorer, many other Internet companion applications are included such as Outlook Express, Windows Address Book, FrontPage Express, Microsoft Chat, Personal Web Server and a Web Publishing Wizard, NetMeeting and NetShow Player (which was replaced by Windows Media Player 6.2 in Windows 98 Second Edition).

The Windows 98 shell integrates all of the enhancements from Windows Desktop Update, an Internet Explorer 4 component, such as the Quick Launch toolbar, deskbands, Active Desktop, Channels, ability to minimize foreground windows by clicking their button on the taskbar, single click launching, Back and Forward navigation buttons, favorites, and address bar in Windows Explorer, image thumbnails, folder infotips and web view in folders, and folder customization through HTML-based templates. Another feature of this new shell is that dialog boxes now show up in the Alt-Tab sequence.

Windows 98 also integrates shell enhancements, themes and other features from Microsoft Plus! for Windows 95 such as DriveSpace 3, Compression Agent, Dial-Up Networking Server, Dial-Up Scripting Tool and Task Scheduler. 3D Pinball is included on the CD-ROM but not installed by default. Windows 98 had its own separately purchasable Plus! pack called Plus! 98.

Title bars of windows and dialog boxes now support two-color gradients. Windows menus and tooltips now support slide animation. Windows Explorer in Windows 98, like Windows 95, converts all uppercase filenames to sentence case for readability purposes; however, it also provides an option Allow all uppercase names to display them in their original case. Windows Explorer includes support for compressed CAB files. The Quick Res and Telephony Location Manager Windows 95 PowerToys are integrated into the core operating system.

Windows Driver Model
Windows 98 was the first operating system to use the Windows Driver Model (WDM). This fact was not well publicized when Windows 98 was released, and most hardware producers continued to develop drivers for the older VxD driver standard, which Windows 98 supported for compatibility's sake. The WDM standard only achieved widespread adoption years later, mostly through Windows 2000 and Windows XP, as they were not compatible with the older VxD standard. Windows Driver Model was introduced largely so that developers would write drivers that were source compatible with future versions of Windows. Device driver access in WDM is actually implemented through a VxD device driver, NTKERN.VXD which implements several Windows NT-specific kernel support functions. NTKERN creates IRPs and sends them to WDM drivers.

Support for WDM audio enables digital mixing, routing and processing of simultaneous audio streams and kernel streaming with high quality sample rate conversion on Windows 98. WDM Audio allows for software emulation of legacy hardware to support MS-DOS games, DirectSound support and MIDI wavetable synthesis. The Windows 95 11-device limitation for MIDI devices is eliminated. A Microsoft GS Wavetable Synthesizer licensed from Roland shipped with Windows 98 for WDM audio drivers. Windows 98 supports digital playback of audio CDs, and the Second Edition improves WDM audio support by adding DirectSound hardware mixing and DirectSound 3D hardware abstraction, DirectMusic kernel support, KMixer sample-rate conversion (SRC) for capture streams and multichannel audio support. All audio is sampled by the Kernel Mixer to a fixed sampling rate which may result in some audio getting upsampled or downsampled and having a high latency, except when using Kernel Streaming or third-party audio paths like ASIO which allow unmixed audio streams and lower latency. Windows 98 also includes a WDM streaming class driver (Stream.sys) to address real time multimedia data stream processing requirements and a WDM kernel-mode video transport for enhanced video playback and capture.

Windows Driver Model also includes Broadcast Driver Architecture, the backbone for TV technologies support in Windows. WebTV for Windows utilized BDA to allow viewing television on the computer if a compatible TV tuner card is installed. TV listings could be updated from the Internet and WaveTop Data Broadcasting allowed extra data about broadcasts to be received via regular television signals using an antenna or cable, by embedding data streams into the vertical blanking interval (VBI) portion of existing broadcast television signals.

USB
Windows 98 had more robust USB support (e.g. support for USB composite devices) than Windows 95 which only had support in OEM versions (OSR2.1 or later). Windows 98 supports USB hubs, USB scanners and imaging class devices. Windows 98 also introduces built-in support for some USB Human Interface Device class (USB HID) and PID class devices such as USB mice, keyboards, force feedback joysticks etc. including additional keyboard functions through a certain number of Consumer Page HID controls.

USB audio device class support is present from Windows 98 SE onwards. Windows 98 Second Edition improved WDM support in general for all devices, and it introduced support for WDM for modems (and therefore USB modems and virtual COM ports). Microsoft driver support for both USB printers, and for USB mass-storage device class is not available for Windows 98; support for both was introduced in Windows 2000; however generic third party free drivers are available today for USB MSC devices.

ACPI
Windows 98 introduced ACPI 1.0 support which enabled Standby (ACPI S3) and Hibernate (ACPI S4) states. However, hibernation support was extremely limited, and vendor-specific. Hibernation was only available if compatible (PnP) hardware and BIOS are present, and the hardware manufacturer or OEM supplied compatible WDM drivers, non-VxD drivers. However, there are hibernation issues with the FAT32 file system, making hibernation problematic and unreliable.

Other device support improvements
Windows 98, in general, provides improved—and a broader range of—support for IDE and SCSI drives and drive controllers, floppy drive controllers and all other classes of hardware than Windows 95. There is integrated Accelerated Graphics Port (AGP) support (although the USB Supplement to Windows 95 OSR2 and later releases of Windows 95 did have AGP support). Windows 98 has built-in DVD support and UDF 1.02 read support. The Still imaging architecture (STI) with TWAIN support was introduced for scanners and cameras and Image Color Management 2.0 for devices to perform color space transformations. Multiple monitor support allows using up to 8 multiple monitors and/or multiple graphics adapters on a single PC. Windows 98 shipped with DirectX 5.2 which notably included DirectShow. Windows 98 Second Edition shipped with DirectX 6.1.

Networking enhancements
Windows 98 networking enhancements to TCP/IP include built-in support for Winsock 2, SMB signing, a new IP Helper API, Automatic Private IP Addressing (APIPA) (also known as link-local addressing), IP multicasting (including IGMPv2 support and ICMP Router Discovery – [//tools.ietf.org/html/rfc1256 RFC 1256]), and performance enhancements for high-speed high bandwidth networks (TCP large windows and time stamps – [//tools.ietf.org/html/rfc1323 RFC 1323], Selective Acknowledgement (SACK) – [//tools.ietf.org/html/rfc2018 RFC 2018], TCP Fast Retransmit and Fast Recovery). Multihoming support with TCP/IP is improved and includes RIP listener support.

The DHCP client has been enhanced to include address assignment conflict detection and longer timeout intervals. NetBT configuration in the WINS client has been improved to continue persistently querying multiple WINS servers if it failed to establish the initial session until all of the WINS servers specified have been queried or a connection is established.

NDIS 5.0 support means Windows 98 can support a wide range of network media, including Ethernet, Fiber Distributed Data Interface (FDDI), token ring, Asynchronous Transfer Mode (ATM), wide area networks (WANs), ISDN, X.25, and Frame Relay. Additional features include NDIS power management, support for QoS, WMI and support for a single INF file format across all Windows versions.

Windows 98 Dial-Up Networking supports PPTP tunneling, support for ISDN adapters, multilink support, and connection-time scripting to automate non-standard login connections. Multilink channel aggregation enables users to combine all available dial-up lines to achieve higher transfer speeds. PPP connection logs can show actual packets being passed and Windows 98 allows PPP logging per connection. The Dial-Up Networking improvements are also available in Windows 95 OSR2 and downloadable for earlier Windows 95 releases.

For networked computers that have user profiles enabled, Windows 98 introduces Microsoft Family Logon which lists all users that have been configured for that computer, enabling users to simply select their names from a list rather than having to type it in. The same feature can be added to Windows 95 if Internet Explorer 4.0 is installed.

Windows 98 supports IrDA 3.0 that specifies both Serial Infrared Devices (SIR) and Fast Infrared (FIR) devices, which are capable of sending and receiving data at 4 Mbit/s. Infrared Recipient, a new application for transferring files through an infrared connection is included. The IrDA stack in Windows 98 supports networking profiles over the IrCOMM kernel-mode driver. Windows 98 also has built-in support for browsing DFS trees on SMB shares.

Windows 98 Second Edition added Internet Connection Sharing (IP forwarding and NAT capabilities). Windows ME later supported NAT traversal by means of UPnP. UPnP and NAT traversal APIs can also be installed on Windows 98 by installing the Windows XP Network Setup Wizard.

Performance improvements
Windows 95 introduced the 32-bit, protected-mode cache driver, VCACHE replacing SMARTDrv to cache the most recently accessed information from the hard drive in memory, divided into chunks. However, the cache parameters needed manual tuning as it degraded performance by consuming too much memory and not releasing it quickly enough, forcing paging to occur far too early. The Windows 98 VCACHE cache size management for disk and network access, CD-ROM access and paging is more dynamic compared to Windows 95 resulting in no tuning required for cache parameters. On the FAT32 file system, Windows 98 has a performance feature called MapCache that can run applications from the disk cache itself if the code pages of executable files are aligned/mapped on 4K boundaries, instead of copying them to virtual memory. This results in more memory being available to run applications, and lesser usage of the swap file.

Windows 98 registry handling is more robust than Windows 95 to avoid corruption and there are several enhancements to eliminate limitations and improve registry performance. The Windows 95 registry key size limitation of 64 KB is gone. The registry uses less memory and has better caching.

WinAlign (Walign.exe and Winalign.exe) are tools designed to optimize the performance of executable code (binaries). WinAlign aligns binary sections along 4 KB boundaries, aligning the executable sections with the memory pages. This allows the Windows 98 MapCache feature to map directly to sections in cache Walign.exe is included in Windows 98 for automatically optimizing Microsoft Office programs. Winalign.exe is included in the Windows 98 Resource Kit to optimize other programs.

Disk Defragmenter has been improved to rearrange program files that are frequently used to a hard disk region optimized for program start.

Windows 98 also supports a Fast Shutdown feature that initiates shutdown without uninitializing device drivers. Windows 98 supports write-behind caching for removable disk drives. A FAT32 converter utility for converting FAT16 drives to FAT32 without formatting the partition is also included.

Other system tools
A number of improvements are made to various other system tools and accessories in Windows 98. Microsoft Backup supports differential backup and SCSI tape devices in Windows 98. Disk Cleanup, a new tool, enables users to clear their disks of unnecessary files. Cleanup locations are extensible through Disk Cleanup handlers. Disk Cleanup can be automated for regular silent cleanups.

Scanreg (DOS) and ScanRegW are Registry Checker tools used to back up, restore or optimize the Windows registry. ScanRegW tests the registry's integrity and saves a backup copy each time Windows successfully boots. The maximum amount of copies could be customized by the user through "scanreg.ini" file. The restoration of a registry that causes Windows to fail to boot can only be done from DOS mode using ScanReg.

System Configuration Utility (also known as Msconfig) is a new system utility used to disable programs and services that are not required to run the computer. A Maintenance Wizard is included that schedules and automates ScanDisk, Disk Defragmenter and Disk Cleanup. Windows Script Host, with VBScript and JScript engines is built-in and upgradeable to version 5.6.

System File Checker checks installed versions of system files to ensure they were the same version as the one installed with Windows 98 or newer. Corrupt or older versions are replaced by the correct versions. This tool was introduced to resolve the DLL hell issue and was replaced in Windows ME by System File Protection.

The Windows 98 Startup Disk contains generic, real-mode ATAPI and SCSI CD-ROM drivers and has been preconfigured to automatically start MS-DOS mode with CD-ROM support enabled. For computers without an operating system and that do not support booting from optical drives, the Startup disk can be used to boot into MS-DOS and automatically start Windows 98 setup from the CD.

The system could be updated using Windows Update. A utility to automatically notify of critical updates was later released.

Windows 98 includes an improved version of the Dr. Watson utility that collects and lists comprehensive information such as running tasks, startup programs with their command line switches, system patches, kernel driver, user drivers, DOS drivers and 16-bit modules. With Dr. Watson loaded in the system tray, whenever a software fault occurs (general protection fault, hang, etc.), Dr. Watson will intercept it and indicate what software crashed and its cause. All of the collected information is logged to the \Windows\DrWatson folder.

Windows Report Tool takes a snapshot of system configuration and lets users submit a manual problem report along with system information to technicians. It has e-mail confirmation for submitted reports.