OVERVIEW OF MIDORI OPERATING SYSTEM AND RELATED WORK.
This section contains overview of Midori and its related work.
A. Definitions
Midori is the code name for a managed code operating system being developed by Microsoft Research. Managed code is a computer program code that executes under the management of a virtual machine.It will be a non-Windows operating system based on cloud services, it reflect that it could actually be a service aimed at businesses and governments. Midori is design to achieve concurrency, singularity and virtualization. This is a highly-dependable operating system in which the kernel, applications, and device drivers are all written in managed code. Multiple programs that are spread across many nodes are runs at once. It is expected to be highly componentized, which will allow users to install only what they believe necessary for their application [5].
B. Importance
Midori OS is loaded onto a hardware disk that is physically located on that machine.In this way, the operating system is tied very tightly to respective hardware. As we know that Windows is dependent on hardware, it might face opposition from different ways of working because people are extremely mobile in using different type of devices in order to get diverse information. Due to this, installing different applications on a single computer may lead to many types of compatibility issues whenever the machine requires any sort of …show more content…
DESIGN METHODOLOGY
This section contains Midori overall design methodology. Midori operating system design is based on some important modules like:
• Microkernel architecture
• Software Isolated Processes (SIPs)
• Contract Based Channels
• Metadata Infrastructure
A. Kernel
It is important part of the system. It acts as a bridge between programs and hardware of the system. Its Primary Purpose is to manage the computer’s resources along other programs to run use these resources. The kernel takes responsibilities for deciding at any time which of the running programs should be allocated to the processor and is responsible for deciding that which memory each process can use, determining what to do when not enough memory is available.
It provides convenient methods for using the device
Fig. 1: kernel Architecture
B. Microkernel
This approach defines a simple abstraction of hardware, with a set of primitives or system calls to implement minimal OS services such as multitasking, memory management and inter-process communication [7]. Other services, including networking, are implemented in user space programs and referred to as servers. Microkernels are very easily maintained than monolithic kernels. There is a drawback that is the large number of system calls and context switches might slow down the system because they generate more overhead than other plain function calls. It allows remaining implementation of OS like normal application