DOS-C started in 1988 as an experiment in writing device drivers in C for Microsoft's MS-DOS. Both block and character device drivers were written, along with special C data structures to match the MS-DOS request packet. It was then recognized that using the same techniques, an operating system could be written that would take advantage of the C language features and would require much less time to develop than the traditional assembly language techniques. Although UNIX had proven this earlier, it was not tried with a traditional pc operating system. At this time, a minimal operating system using the device drivers written earlier along with a new 8086 interrupt API was developed. It was called XDOS and proved to be a functional operating system. This new operating system was used to develop booting techniques and a C library SDK was developed for it. XDOS enhancements were started in 1989 and MS-DOS was chosen as the new API. A more advanced architecture was also developed. This included the use of an IPL (intermediate program loader) to set up the operating environment prior to loading the operating system itself and reentrant system calls facilitating real-time applications. This version, know as NSS-DOS, was completed and demonstrated in 1991. As a result of these demonstrations, NSS was approached to supply source license for this operating system by a major defense contractor. The only new requirement - it had to run on 68K processors. This presented a new challenge. Due to the MS-DOS model used for the API, NSS-DOS relied heavily on a segmented architecture. To meet this challenge, a major redesign of NSS-DOS was undertaken. New proprietary techniques were developed that allowed the same source to be compiled on a variety of hosts and with a wide range of compilers. This new version, DOS/NT, was the result o of this new project. The kernel was redesigned as a micro kernel along with logical separation of the filesystem, memory and task managers. A new DOS API was designed along with a new DOS SDK to guarantee portability. Additionally, all processor unique code was separated from the core functions. The result is the highly portable operating system that DOS/NT represents. After a number of successful commercial applications, DOS/NT became part of both dosemu and FreeDOS. This version, DOS-C, is the subject of an upcoming book and is intended for binary redistribution, free of any royalty. See the accompanying license.txt file for details. If you have not received this file, contact me at the address below and I will send a copy to you. The DOS-C kernel is also the FreeDOS kernel. FreeDOS is a project designed to provide an alternative to MS-DOS, PC-DOS and DR-DOS that is freely available. See the FreeDOS manifesto for details. Source code for DOS-C is available as part of the book. Also, a GPL version will be available in the future. This will be announced through the FreeDOS project. MS-DOS is a trademark of Microsoft Corporation. UNIX is a trademark of USL, Inc. Author ------ Pat Villani (Pat_Villani@vos.stratus.com) Copyright --------- (c) Copyright 1995 by Pasquale J. Villani All Rights Reserved. License ------- May be freely redistributed provided that: 1. Copright notice remains intact. 2. Changes are clearly marked with date and identification of individual(s) making the change. 3. Information regarding where to obtain package is distributed with this file. November 22, 1994