The Java OS Design and Architecture, 1st edition
Authors: Tom Saulpaugh, Charles Mirho
Venue:  (1999)

From the Book:Preface I've been hooked on operating systems ever since I took my first OS course at Cal Poly, San Luis Obispo. I was lucky enough to land a job right after graduating, in 1982, working on operating systems for Digital Research Inc. (DRI) in Monterey, California. In June of 1985, I joined Apple's MacOS group. Apple enjoyed tremendous growth from 1985 to 1990. Each new release of the OS added more functionality (QuickDraw in color, 32-bit addressing, SCSI bus support) for more and more flavors of Macintosh. The pace of addition was staggering, so much so that Apple never had time to recode the low-level OS and fix some of its shortcomings. By 1990, these shortcomings, including no preemptive multitasking and no memory protection for applications, began to affect the quality of the product. The Mac was the easiest computer to use but also one of the most fragile. Mac users quickly learned the location of the reboot button on the back of the box. In June of 1990, I had lunch with Bill Bruffey of the MacOS group. Bill is a great engineer who designed the Mac's innovative file systemthe Hierarchical File System (HFS). Bill had grown tired of waiting for Taligent to produce a new MacOS and he had received permission to build a new microkernel, called NuKernel, tuned for the Macintosh operating system. He envisioned a microkernel that ran Mac applications in a virtual machine and supported a new modern concurrent input/output (I/O) system. Bill hired me as employee number one on a project that was eventually known as Copland. Fred Brooks could easily write a modern version of The Mythical Man-Month about the Copland project. Copland started lean andmean, with Bill hiring just four more engineers during that first year. After just a few months of work, we five demonstrated to management a microkernel-based MacOS running on a MacII-ci. The project gained steam over the next few years and eventually grew to more than 500 employees, and Bill and I became two contributing engineers with no management authority. Somewhere during the middle of the Copland project, management asked me to back-port some Copland I/O technology to a new family of Macintosh computers sporting the PCI expansion bus. I took a year off from the Copland project and helped Apple ship a PowerPC-native device driver architecture for its new PCI-based Macs. The PCI team was focused and lean. A small team of engineers built and deployed a large amount of software in a year's time with none of the bureaucratic overhead of the Copland project. My time working on PCI for System 7.5 proved to be the most enjoyable year of my Apple career. When I returned to the Copland project in June of 1995, I found a mess. The Copland leadership had decided to recode the toolbox and break popular existing system extensions such as After Dark. Apple had gambled that users and developers wouldn't mind a new OS that wasn't a hundred percent backward compatible! I made up my mind that summer to leave Apple. In May of 1995, Sun Microsystems introduced Java at SunWorld. As the Java phenomenon materialized over the next six months, Jim Mitchell and Peter Madany of Sun's JavaSoft began to build a new OS(code-named Kona) to run only Java software. I was hired in March of 1996 to design an I/O architecture for Kona, soon to be renamed JavaOS(TM). The early Kona team consisted of seven people. The team was extremely focused and produced the first official release of the JavaOS operating system in just 15 months. After my experience with the Copland project, I felt lucky and honored to be working with bright, focused people on an innovative operating system. In early 1997, JavaSoft handed over control of JavaOS to SunSoft. Late that year, the SunSoft JavaOS team, headed by Bob Rodriguez, began working closely with an IBM team to build the next release of JavaOS, eventually renamed JavaOS for Business(TM). The contributions from IBM were significant and included many key architectural features. This book provides an inside look at the results of Sun's and IBM's efforts to build a new thin-client operating system. The book uses the name JavaOS throughout, but the version of the JavaOS operating system presented here is JavaOS for Business. Tom Saulpaugh Senior Staff Engineer Sun Microsystems, Inc. When I first learned about the JavaOS operating system, I was a second-year, part-time law student at Santa Clara University, with a full-time job writing patents during the day. The last thing I needed was another distraction in my life. But I have always been fascinated by operating systems, which I consider the most intricate and complex software programs on the planet. A new operating system based around, and written in, the Java programming language was intriguing. Think of the possibilities: system services loaded on demand and distributed execution between client and server, or even on multiple clients and multiple servers! A single OS code base, regardless of client or server hardware architecture, residing in a central location. An end to complicated software upgradessimply subscribe to your operating system and applications, and the latest upgrades and bug fixes magically appear each time you boot up. These are some of the possibilities opened up by JavaOS technology. When I first met Tom Saulpaugh, he was an Apple Computer refugee who had just recently joined JavaSoft. The JavaOS team was only about ten people, and there was a sense that the rest of JavaSoft didn't see the potential of this new technology. Someone needed to get the word out. Tom, myself, and a hard-driving Sun technical writer, Tom Clements, set out to do just that. First came an article in BYTE magazine, a bit of undisguised evangelism. Next a meeting with James Gosling, at which we pitched the merits of JavaOS with regards to the Java language itself. Things started to happen. A Sun product group took responsibility for the JavaOS operating system from JavaSoft, Chorus was purchased for their microkernel technology, IBM signed on to co-develop and market JavaOS, and the team grew. I'm certainly not going to take credit for making JavaOS a success; I was mostly an outsider looking in, but I like to think my early enthusiasm had some impact on getting folks to stand up and take notice. It is safe to say that the time for a book on JavaOS has arrived. Inside the JavaOS(TM) Operating System is about using Java technology to make an operating system simpler, more reliable, more powerful, and easier to maintain. In this spirit of simplicity and power, we have tried to create a book that explains the workings of JavaOS in simple, concise terms. This was not always easy, because operating systems are by their nature obscure and complex beasts. I hope you enjoy reading about JavaOS as much as we enjoyed writing about it. Charles Mirho