Pat Villani

From Wikipedia, the free encyclopedia
  (Redirected from DOS-C)
Jump to: navigation, search
Pat Villani
Born Pasquale J. Villani
(1954-04-18)18 April 1954
Nocera Inferiore, Italy
Died 27 August 2011(2011-08-27) (aged 57)
Freehold Township, New Jersey, USA
Education Master's in Electrical Engineering from Polytechnic Institute of New York; Master's in Project Management from George Washington University
Known for author of DOS-C, the FreeDOS kernel
Call-sign WB2GBF

Pasquale "Pat" J. Villani[1] (18 April 1954 – 27 August 2011) was an American computer programmer, author, and advocate of free software, best known for his creation of DOS-C, a DOS emulator written in the C language and subsequently adapted as the kernel of the FreeDOS operating system and a number of other projects including DOSEMU for Linux. He used to sign his edits with "patv".

FreeDOS involvement[edit]

Villani had already been working on a DOS-like operating system for use in embedded systems for some while before the advent of FreeDOS.[2]

His efforts started when he developed an MS-DOS 3.1-compatible interface emulator to write device drivers in the C high-level language instead of in assembly language,[3] as was the usual approach at that time. This interface emulator grew into a minimal operating system named XDOS around 1988.[3]

He added an IPL to set up a boot environment before loading the actual operating system and developed an MS-DOS-compatible frontend API to applications.[3] In contrast to MS-DOS, which is not designed to be reentrant, the system calls of his operating system were,[3] which is often a requirement for multitasking and real-time applications in embedded systems. This system was named NSS-DOS and also offered commercially.[3]

When one potential contractor sought to use the OS in a system equipped with Motorola 680x0 processors instead of Intel x86 processors, for which the system was designed originally and which utilize different instruction sets and memory models, Villani was able to redesign his system to become portable across a range of different compilers and target environments.[3] This move to a completely different target platform, while losing binary compatibility with existing applications, would have required a complete rewrite from scratch had his system not been written in a high-level language such as C, which allowed him to reuse large parts. His new DOS/NT used a microkernel architecture with logical separation of file system, memory and task manager.[3]


Villani joined the FreeDOS project in 1994 after reading Jim Hall's announcement of a "PD-DOS" on comp.os.msdos.misc.apps.[4] In response to Hall's announcement, Villani devised a derivative of DOS/NT named DOS-C with a monolithic kernel and an architecture more similar to the non-multitasking MS-DOS,[3] and in 1995 he made it available for dual-use under a GPL[1] open-source license to become the kernel component of the new "Free-DOS" operating system, as "PD-DOS" was called at this time.[5][6]

In 1996, Villani wrote the book FreeDOS Kernel,[3] which describes the design of the DOS-C / FreeDOS kernel and the original FreeDOS COMMAND.COM command line interpreter. The name of the operating system was subsequently officially changed to FreeDOS to reflect the spelling used in the book.[6]

Internally, the FreeDOS kernel was still significantly different from MS-DOS, which, while no problem for embedded applications specifically written for FreeDOS, caused various compatibility issues in conjunction with misbehaving DOS applications. Villani and other contributors analyzed and addressed many of these issues over the years for FreeDOS to become much more MS-DOS compatible.

With some breaks Villani remained active with the FreeDOS project, including preparations for the release of FreeDOS 1.1. Since 2009[5] he had also held the role of the project coordinator, but he had to step down in April 2011 for health reasons.[7] The FreeDOS 1.1 release, published on 2 January 2012, is dedicated to him.


Villani was born in Nocera Inferiore[8] near Naples, Italy,[1] grew up in Brooklyn,[9] New York, USA, and moved to Freehold Township,[8] New Jersey, in 1990.

In 1976 he received his BSEE degree from Polytechnic Institute of Brooklyn[10] and in 1981 an MSEE degree in Electrical Engineering from Polytechnic Institute of New York.[10] In 2008 he also received a Master's certificate in Project Management from George Washington University and he was an adjunct professor at Brookdale Community College beginning in 2010.

He previously worked for Stratus Computers, Inc.[10] on their Continuum fault-tolerant product line and also as a consultant for AT&T Bell Laboratories. At Digital Equipment Corporation[11] / Compaq[10] he worked as a principal software engineer on the OSF1 / Digital UNIX / Tru64 UNIX operating system[10][11] beginning in 1995, and since 2006 had been Acting Director of Communications Infrastructure and Software Architect for Vonage.

He was a member of M.A.R.S., A.R.R.L., and IEEE.[8][12]


  • Pat Villani (1996). FreeDOS Kernel - An MS-DOS Emulator for Platform Independence & Embedded System Development - Master OS Development. R&D Books, Lawrence, ISBN 0-87930-436-7, ISBN 978-0-87930-436-2.
  • Pat Villani (2001). Programming Win32 Under The API. ISBN 978-1-57820-067-2.
  • US patent application number: 12/779,489, publication number: US 2010/0290455 A1, filing date: 2010-05-13, Method and apparatus for communication termination routing, ([8]).
  • US patent application number: 12/897,405, publication number: US 2011/0081009 A1, filing date: 2010-10-04, Method and apparatus for providing an identifier for a Caller ID function in a telecommunication system, ([9]).


  1. ^ a b c Pat Villani (2009-07-28). On the GPL for FreeDOS and Pat Villani's name. ([1]), retrieved on 2011-11-26: "I am of Italian origin and my first name is Pasquale, not Patrick. I use Pat as a nickname."
  2. ^ Jim Hall interviewed on the TV show FLOSS weekly on the network
  3. ^ a b c d e f g h i Pat Villani (1996). FreeDOS Kernel - An MS-DOS Emulator for Platform Independence & Embedded System Development - Master OS Development. R&D Books, Lawrence, ISBN 0-87930-436-7, ISBN 978-0-87930-436-2.
  4. ^ Jim Hall. "PD-DOS project announcement", comp.os.msdos.apps. Retrieved on 2008-06-14.
  5. ^ a b Jim Hall. "History of FreeDOS", Retrieved 2007-05-28.
  6. ^ a b Jim Hall (2002). An Overview of FreeDOS. Retrieved 2011-11-23.
  7. ^ Pat Villani (2011-04-17), Jim Hall (2011-04-22). [2], Retrieved 2011-11-21.
  8. ^ a b c [3]. Retrieved 2011-11-21.
  9. ^ [4]. Retrieved 2012-3-27.
  10. ^ a b c d e Unigroup of New York November 2000 Announcements, [5]. Retrieved on 2011-11-23.
  11. ^ a b [6]. Retrieved 2011-11-21.
  12. ^ [7]. Retrieved 2011-11-21.

External links[edit]