Operating Systems Structures
Just like any other software, the operating system code can be structured in different ways. The following are some of the usually used structures.
Simple /Monolithic Structure
In this case, the operating system code has not structure. It is written for the functionality and efficiency (in the terms of time and space). DOS and UNIX are examples of such systems, as shown in Figures and UNIX comprises of two separable parts, the kernel and the system programs. The kernel is further separated into the series of interfaces and devices drivers, which were added and expanded for the years. Everything below the system call interface and over the physical hardware is the kernel, which gives the file system, memory management CPU scheduling, and other OS functions through system calls. Since this is an enormous amount of functionality combined in one level, UNIX is difficult to improve as changes in one section could adversely affect other areas as well. We will discuss about the various components of the UNIX kernel during the course.
Layered Approach explained below
The modularization of the system can be done in number of ways. As shown in Figure in the layered approach the OS is broken up into the number of layers or levels each built on top of the lower layer. The foundation layer is the hardware and the highest layer (layer N) is the user interface. A typical OS layer (layer-M) comprises of data structures and the set of routines which can be invoked by higher- level layers. Layer M in turn can invoke the operations on lower level layers.
Figure The layered structure
The chief advantage of the layered approach is the modularity. The layers are selected so that each uses functions and services of only lower layers. This approach simplifies debugging and the system verification.
The major difficulty with layered approach is cautious definition of layers, because a layer can only use layers below it. It also it tends to be less efficient than the other approaches. Each layer adds overhead to the system call (which is trapped when program executes a I/O operation, for example). This results in a system call which takes longer than does one on the non- layered system. The operating system by Dijkstra and IBM’s OS/2 are the examples of the layered operating systems.
Micro kernels are discussed below
This method/technique structures the operating system by removing all the non-essential components from kernel and implementing as the system and user level programs. The result is the smaller kernel. Micro kernels typically give minimum process and memory management in addition to the communication facility. The major function of the micro kernel is to give a communication service between the client program and the various services which are also running in user space.
The benefits of the micro kernel approach comprises of the ease of extending the OS. All the new services are added to the user space and consequently do not require the modification of kernel. When the kernel has to be modified, the changes tend to be very few because the micro kernel is the smaller kernel. The resulting OS is easier to port from the one hard ware design to another hardware design. It also gives more security and reliability since most services are running as the user rather than kernel processes. Mach, OS/2, MacOS X Server, QNX, and Windows NT are the examples of microkernel based operating systems. As shown in the Figure many types of services can be run on top of Windows NT microkernel thereby allowing applications developed for the different platforms to run under the Windows NT.
Figure Windows NT client-server structure
Virtual Machines are described as follows
Conceptually a computer system is made up of the layers. The hardware is the lowest level in all this kind of systems. The kernel running at the next level uses the hardware instructions to generate a set of system call for use by the outer layers. The system programs above the kernel are then able to use either the system calls or hardware instructions and in some ways these programs do not distinguish between these two. System programs the hardware and the system calls as though they were both at the same level. In some of the systems the application programs can call system programs. The application programs view everything under them in hierarchy as though the latter were part of machine itself. This layered approach is taken to the logical conclusion in the concept of the virtual machine (VM). The VM operating system for the IBM systems is the best illustration of VM concept.
By using the CPU scheduling and virtual memory techniques/methods an operating system can create illusion which a process has its own memory with its own memory.
The virtual machine approach on the other hand does not give any additional functionality but rather it gives an interface which is identical to the underlying bare hardware. Each process is given with a virtual copy of underlying computer. The physical computer shares the resources to create the virtual machines. Figure illustrates the concepts of the virtual machines by a diagram.
Non Virtual Machine Virtual Machine
Figure Illustration of virtual and non- virtual machines
Though the virtual machine concept is quite useful it is difficult to implement. There are two primary advantages of using virtual machines: first one is by completely protecting system resources the virtual machine provides a robust level of the security. Second the virtual machine permits system development to be done without disrupting the normal system operation.
Java Virtual Machine (JVM) loads, verifies, and executes programs which have been translated into Java Bytecode, as shown in Figure VMWare can be run on the Windows platform to generate a virtual machine on which you can install the operating of your choice, like Linux. We have given a couple of snapshots of VMWare on a Windows platform in lecture slides. Virtual PC software works in a similar pattern.
Email based Operating System assignment help - homework help at Expertsmind
Are you searching Operating System expert for help with Operating System Structures questions? Operating System Structures topic is not easier to learn without external help? We at www.expertsmind.com offer finest service of operating system assignment help and operating system homework help. Live experts are available for 24x7 hours helping students in their Operating System Structures related problems. We provide step by step Operating System Structures question's answers with 100% plagiarism free content. We prepare quality content and notes for Operating System Structures topic under operating system theory and study material. These are avail for subscribed users and they can get advantages anytime.
Why Expertsmind for assignment help
- Higher degree holder and experienced tutors network
- Punctuality and responsibility of work
- Quality solution with 100% plagiarism free answers
- Time on Delivery
- Privacy of information and details
- Excellence in solving operating system questions in excels and word format.
- Best tutoring assistance 24x7 hours