ACCESSDATA SUPPLEMENTAL APPENDIX Introduction to DOS and FAT OPERATING SYSTEMS The term operating system refers to the software that is required to manage a computer system and run applications on the system. Operating systems come in a variety of packages, but all have a common function: to manage the system. At the heart of all operating systems is the kernel. The kernel is the lowest level of software that is loaded into memory before any functions can be performed on the system. The kernel controls disk access, manages memory resources, organizes task scheduling, and manages access to other hardware devices. 7-29-08 2008 AccessData Corporation. All Rights Reserved 1
AccessData Supplemental Appendix OPERATING SYSTEMS (CONTINUED) When computers were first developed, human operators would manually load programs into memory to allow the computer to function. Today the operating system software is stored locally and is initiated during the boot process. The purpose of an operating system is to organize and control software and hardware so that the device it controls behaves in a flexible but predictable way. Operating systems provide a stable, consistent way for applications to deal with the physical hardware without having to know all the details of the hardware. An operating system is not limited to just computers. Now it s common to find an operating system on many portable devices such as cell phones, PDAs, and even wireless access points. Note: This information was taken from http://en.wikipedia.org/wiki/operating_system. 2 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN MS-DOS DEVELOPMENT Tim Paterson, a programmer at a small Tukwila hardware shop called Seattle Computer Products (SCP), wrote an operating system for a 16-bit processor. In the ragged informality of 1980, the program was called QDOS, or Quick and Dirty Operating System. Microsoft acquired the rights to QDOS and renamed it officially 86-DOS. Microsoft also licensed a version to their secret client, IBM. QDOS was created because SCP sales of its 8086 computer kit were languishing because of the absence of an operating system. The only software that SCP could propose with the board was the standalone Microsoft BASIC-86, Microsoft s foundation product. Its development was facilitated by the fact that SCP previously gave Microsoft a prerelease version of their 8086 board. Microsoft was very eager to get their software working on the new processor and they participated in the June demonstration of the computer kit. In May 1981, Microsoft hired Tim Paterson to port QDOS to the IBM- PC, which used the slower and less expensive Intel 8088 processor and had its own galaxy of proprietary peripherals. 7-29-08 2008 AccessData Corporation. All Rights Reserved 3
AccessData Supplemental Appendix KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) In August 1981, IBM announced the IBM 5150 personal computer. It included a 4.77 MHz Intel 8088 processor, 40 KB ROM, 64 KB RAM, a single 5.25-inch floppy diskette, and PC-DOS 1.0. There was no hard disk support. PC-DOS 1.0 sold for less than $60 if purchased with the new IBM personal computer. The total bundled price was $3,000. This version of DOS supported only a single-sided disk drive with a capacity of 160 KB (40 tracks, 8 sectors per track, and 512 bytes per sector). There was no hard disk support. 4 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) In May 1982, Microsoft released MS-DOS 1.1 to IBM. It was shipped on the IBM PC as IBM PC-DOS 1.1. It supported 320 KB double-sided floppy disk drives but still had no hard disk support. Although out-of-the-box, this version of the operating system did not support hard disk drives (HDDs), and there were several companies offering expansion products to DOS that did support HDD. 7-29-08 2008 AccessData Corporation. All Rights Reserved 5
AccessData Supplemental Appendix KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) DOS 2.0 was introduced in 1983 along with IBM XT. The updated operating system included support for 10 MB hard drives, subdirectories, and 360 KB diskettes. The major feature of DOS 2.0 was hard disk drive support and a hierarchical file structure. This file structure enabled users to create, change, and remove subdirectories. These features greatly increased the flexibility of the operating system, making it look almost like UNIX. DOS 2.0 increased the storage capacity of both single- and double-sided drives. By increasing the sectors per track from 8 to 9, 160 KB drives became 180 KB drives, and 320 KB double-sided drives became 360 KB drives. DOS 2.0 also introduced the ability to add device drivers so the hardware and software did not need to be changed each time new technology was developed. 6 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) In 1984, IBM released the PCjr. It was IBM's attempt to penetrate the home-computer market. It was sold with DOS 2.1. These machines were still expensive and custom built to user specifications. DOS 2.1 simply corrected some bugs in version 2.0 and fixed backup and restore commands. This version of DOS also supported the soon-tobe-announced portable PC. DOS 3.0 was released in August 1984 to support the new IBM PC AT. DOS 3.0 included support for 1.2 MB floppy disk drives. These disks were 5.25-inch floppy disks that had 80 cylinders, 15 sectors per track, and support for large (larger than 10 MB) hard disks. This version was designed to support newer IBM AT hardware and some very preliminary LAN features. DOS introduced the ability to execute external commands without having to first set the path or change the default directory. These command extensions were.com,.exe, and.bat. Other new features included the ability to set file attributes and a volume label. In November 1984, Microsoft released MS-DOS 3.1, which had more LAN features. 7-29-08 2008 AccessData Corporation. All Rights Reserved 7
AccessData Supplemental Appendix KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) In January 1986, Microsoft released MS-DOS 3.2 with support for 3.5- inch, 720 KB floppy drives. DOS 3.2 included the following key update features: Support for EGA high-resolution graphics modes. The Format command now required that you specify the drive letter, and the current disk was no longer used as the default. The command required you to specify the disk volume label and warned that all the data on the disk would be lost. XCopy was introduced to copy entire folder structures at one time. In August 1987, Microsoft released MS-DOS 3.3, which supported the IBM PS/2; 3.5-inch, 1.44 MB floppy drives; and multiple hard disk partitions. DOS 3.3 was the first operating system in this line to interrogate the system BIOS, then install itself differently depending on the version of the ROM BIOS. 8 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) DR-DOS originated in 1987 at Digital Research, Inc. It was acquired by Novell in the early 1990s and in 1996, DR-DOS was acquired by Caldera. In 1998, DR-DOS was spun out to Lineo (a Canopy company) and in October 2002, DR-DOS was acquired by Devicelogics, which was recently renamed DRDOS. Microsoft released MS-DOS 4.0 in June 1988. The 4.0 version included several improvements such as XMS support, support for larger hard disk partitions (up to 2 GB), and a mouse-driven graphical interface called the DOS shell. However, MS-DOS 4.0 had an abnormally large number of bugs, many of which were fixed in version 4.01 that was released a few months later. 7-29-08 2008 AccessData Corporation. All Rights Reserved 9
AccessData Supplemental Appendix KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) Microsoft released MS-DOS 5.0 in June 1991. MD-DOS 5.0 had better memory management features. Previously, parts of DOS could be loaded in the high memory area, and certain device drivers and TSRs could run in unused parts of the upper memory between 640 KB and 1 MB. MS-DOS 5.0 also included several shell enhancements, such as task swapping, a full-screen editor, and utilities like Undelete and Unformat. It also included the DOS shell that was introduced in MS-DOS 4.0 and supported 3.5-inch disk capacities of 2.88 MB. Instead of GWBASIC.EXE, MS-DOS 5.0 shipped with QBASIC.EXE, which was based on Microsoft QuickBasic. 10 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) MS-DOS 6.0 was released in March of 1993. It included additional utilities for such things as disk compression, built-in anti-virus protection, and better memory management. It maintained logical partition support up to 2 GB. There was never an MS-DOS 6.1 because IBM released PC-DOS 6.1. MS-DOS 6.2 was released to fix bugs that were present in MS-DOS 6.0. It also added the ScanDisk utility to check the storage media for errors. 7-29-08 2008 AccessData Corporation. All Rights Reserved 11
AccessData Supplemental Appendix KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) Following legal action by Stac Electronics, Microsoft released MS-DOS 6.21 in February 1994. The only change in this version was that is removed the DoubleSpace utility. MS-DOS 6.22 was released June in 1994. This version included the DoubleDisk disk compression package that Microsoft licensed from Vertisoft Systems. Microsoft renamed the disk compression utility DriveSpace. 12 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) In August 1995, Microsoft released Windows 95. MS-DOS 7.0 (also called Windows DOS) was an integral part of the operating system and could not be purchased separately. MS-DOS 7.0 provided support for long filenames but only when Windows was running. Several other utilities were removed and only available from the installation CD. 7-29-08 2008 AccessData Corporation. All Rights Reserved 13
AccessData Supplemental Appendix KEY DATES IN MS-DOS DEVELOPMENT (CONTINUED) In August 1996, Windows 95b was released with MS-DOS 7.10. This DOS version was an integral part of OSR 2 and later versions of Windows. The main change was support for FAT 32, a more efficient way of storing data on large hard disks. FAT 32 supported partitions up to 2 TB. Large Disk Support became an option in the FDISK application. In September 2000, Microsoft released Windows Me with MS-DOS 8.0. This version changed IO.SYS and COMMAND.COM to remove Real Mode Support and the SYS command. This meant that in a standard installation, it was not possible to boot into a true DOS environment. Otherwise, MS-DOS 8.0 was identical to MS-DOS 7.10. 14 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT FILE SYSTEMS Common file systems make use of an underlying data storage device that offers access to an array of fixed-size units. The units are sometimes called sectors and are usually 512 bytes in size. The file system software is responsible for organizing these sectors to store file and folder data. The file system software also keeps track of which sectors belong to which file and which sectors are not being used. File systems typically have directories that associate filenames with files. This association is usually maintained by connecting the filename to an index in a File Allocation Table, such as the FAT in an MS-DOS file system or a run list in the NTFS file system. Directory structures may be flat or may allow hierarchies where directories contain subdirectories. 7-29-08 2008 AccessData Corporation. All Rights Reserved 15
AccessData Supplemental Appendix FILE SYSTEMS (CONTINUED) Common file system in today's computers include the following: Microsoft File Allocation Table (FAT): Uses a flat table to track the allocated status of cluster/allocation units. It uses either a 12-, 16-, or 32-bit numbering scheme to address these areas. Microsoft New Technology File System (NTFS): Uses a series of metadata files to store information about all objects stored on the media. Data for files or folders can be stored completely within a flat table of records called the Master File Table. If the data size is large, it can be stored in the cluster/allocation units and retrieved from pointers stored within the file record entry. NTFS has several improvements over FAT, such as improved support for metadata; the use of advanced data structures to improve performance, reliability, and disk space utilization; and additional extensions such as security access-control lists and file system journaling. Extended File System 2 and 3 (EXT2 / 3): A file system for the Linux kernel. It was initially designed by Rémy Card as a replacement for the extended file system. Because it is fast, it is used as the benchmarking standard. Its main drawback is that it is not a journaling file system. Its successor, ext3, is a journaling file system and is almost completely compatible with ext2. High Performance File System (HPFS): A file system created specifically for the OS/2 operating system to address the limitations of the FAT file system. It was written by Gordon Letwin and others at Microsoft and was added to OS/2 version 1.2, which, at that time, was still a joint undertaking between Microsoft and IBM. 16 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT Macintosh Hierarchical File System (HFS): Mac OS X uses a file system that it inherited from Mac OS called HFS Plus. HFS Plus is a metadata-rich and case-preserving, but case-insensitive, file system. Due to the UNIX roots of Mac OS X, UNIX permissions were added to HFS Plus. Later versions of HFS Plus added a journal to prevent corruption of the file system structure and introduced a number of optimizations to the allocation algorithms that attempt to automatically defragment files requiring an external defragmenter. 7-29-08 2008 AccessData Corporation. All Rights Reserved 17
AccessData Supplemental Appendix MICROSOFT FILE SYSTEMS The Microsoft file systems includes the following: File Allocation Table (FAT): Uses a flat table to track the allocated status of cluster/allocation units. It uses either a 12-, 16-, or 32-bit numbering scheme to address these areas. New Technology File System (NTFS): Uses a series of metadata files to store information about all objects stored on the media. File and folder data is stored within a flat table of records called the Master File Table. If the data is large, it can be stored in the cluster/allocation units and retrieved from pointers stored within the file record entry. NTFS has several improvements over FAT, such as improved support for metadata; the use of advanced data structures to improve performance, reliability, and disk space utilization; and additional extensions such as security access control lists and file system journaling. 18 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT FAT FILE SYSTEMS A File Allocation Table (FAT) is a file system that was developed for DOS. It is the primary file system for consumer versions of MS-DOS and Microsoft Windows up to and including Windows Me, as well as Windows NT 3.x and NT 4. The FAT file system is considered relatively uncomplicated. Consequently, it is a popular format for floppy disks. Moreover, it is supported by virtually all existing personal computer operating systems. The FAT file system is often used to share data between several operating systems booting on the same computer (a multi-boot environment). FAT is also used extensively on memory cards and other similar devices in modern hardware. 7-29-08 2008 AccessData Corporation. All Rights Reserved 19
AccessData Supplemental Appendix KEY DATES IN FAT DEVELOPMENT The FAT file system was invented by Bill Gates and Marc McDonald in 1977 to manage disks in Microsoft Disk BASIC. In August 1980, Tim Paterson incorporated FAT into his 86-DOS operating system for the S-100 8086 CPU boards. The file system was the main difference between 86-DOS and CP/M. Note: CP/M is an operating system created for Intel 8080/85 and Zilog Z80-based microcomputers developed by Gary Kildall of Digital Research, Inc. This initial version of FAT is now referred to as FAT 12. It was developed as a file system for floppy disks and had a number of limitations including no support for hierarchical directories; 12-bit cluster addresses, which made code manipulating the FAT a bit tricky; and disk size stored as a 16-bit count of sectors, which limited the size to 32 MB. 20 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN FAT DEVELOPMENT (CONTINUED) In 1987, FAT 16 was introduced. In 1988, the improvement became generally available through MS-DOS 4.0. FAT 16 limited the partition size by the 8-bit signed count of sectors per cluster, which could reach a maximum power-of-two value of 64. This limit gave 32 KB clusters the usual 512 bytes per sector, fixing the FAT 16 partition size at 2 GB. Note: Much later, Windows NT increased the maximum cluster size to 64 KB by considering the sector-per-cluster count as unsigned. However, the resulting format was not compatible with any other FAT implementation at the time and it generated massive internal fragmentation. Because the system area for the partition is set during the format operation, the root directory in FAT 16 systems was limited to a maximum of 512 entries. 7-29-08 2008 AccessData Corporation. All Rights Reserved 21
AccessData Supplemental Appendix KEY DATES IN FAT DEVELOPMENT (CONTINUED) Virtual File Allocation Table (VFAT) is a virtual installable file system driver that was introduced with Windows 95. VFAT is not a file system. VFAT operates in protected mode and serves as an interface between applications and FAT. VFAT added support for long filenames, breaking the 75-character limit on FAT 12/16 partitions. 22 2008 AccessData Corporation. All Rights Reserved 7-29-08
Introduction to DOS and FAT KEY DATES IN FAT DEVELOPMENT (CONTINUED) FAT 32 was introduced to overcome the 2 GB volume size limit of FAT 16. To do this, Microsoft developed a newer generation of the File Allocation Table that used 32-bit cluster numbers, of which only 28 bits are currently used. In theory, FAT 32 can support a total of approximately 268,435,438 (< 228) clusters, supporting drive sizes in the range of 2 TB. However, because of limitations in the Microsoft ScanDisk utility, FAT 32 is not allowed to grow beyond 4,177,920 (< 224) clusters. This limit places the volume limit at 124.55 GB, unless ScanDisk is not needed. Windows 2000 and XP limit the size of FAT 32 partitions at 32 GB and the maximum possible file size for a FAT 32 volume is 4 GB minus 1 byte (232-1 bytes). Another advantages of FAT 32 is that it removes the root directory limitations of FAT 16, so more than 512 entries are allowed at the root. FAT 32 was introduced with Windows 95 OSR2; however, users were required to reformat their drives to use the FAT 32 features and DriveSpace 3 (the version that came with Windows 95 OSR2 and Windows 98) never supported FAT 32. Windows 98 introduced a utility to convert existing hard disks from FAT 16 to FAT 32 without loss of data. Full support for FAT 32 came with Windows 2000. 7-29-08 2008 AccessData Corporation. All Rights Reserved 23