Operating systems have played a crucial role in the evolution of computer science,
adapting continuously to the evolution of computer hardware and to the increasing
demands of the user communities (Peng et al., 2007). The operating systems have been
the subject of intense research since the early days of computing and have given rise
to some of the most important breakthroughs in the history of computer science. Till
today, operating systems hold the key to efficient computing.
The current paper reports the design and implementation of an operating system.
The operating system has been developed to serve as a pedagogical tool. As a
pedagogical tool, it is meant for intensive analyses and experimentation to understand
the construction and behavior of operating systems (Chakraborty and Saxena, 2009a).
The multiple server microkernel-based architecture (Chakraborty and Gupta, 2007) has
been selected to impart modularity and other benefits in the design of the operating
system. On the other hand, all important entities in the operating system have been
modeled as objects to harness the benefits of object-oriented programming as discussed
by Jones (1978). Thus, the principles of microkernel-based architecture and object-oriented programming have been amalgamated in this study. Moreover, basic principles
of software engineering were used to guide the development process. For the sake of
simplicity and to enhance pedagogy, the operating system was developed for a virtual
machine. Although the operating system is technically a virtual machine operating
system, almost all the fundamental concepts of operating system have been kept intact.
The virtual machine hypothesized in this study is being called JNUVM and the operating
system developed for it is being called the JNUOS.
|