This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Anoperating system(OS) is an interface between hardware and user which is responsible for the management and coordination of activities and the sharing of the resources of acomputer, that acts as a host forcomputing applicationsrun on the machine.
A good operating system is defined as that program which could attain the maximum utilization of hardware plus giving an easy interface to the user .
Operating system is also known as kernel.
A kernel offers a number of services to application programs and users. Applications access these services throughsystem calls.
Kernel is mainly divided into two types
· monolithic kernel
Amonolithic kernelis akernelarchitecture where the entire operating system is working in thekernel spaceand alone as supervisor mode.
A microkernel is a kernel which provides a communication facility between the client program and the various services that are also running in the user space. There are many operating systems some of them are as follows
Linux is a monolithic kernel. (Monolithic kernelis a kernelarchitecture where the entire operating system is working in the kernel spaceand alone as supervisor mode.)
Linux features context switching known as Preemption in technical terms. The context switch helps Linux to symmetrical multi processing. This also increases responsiveness and making Linux more suitable for real-time applications.
Linux is written in the version of theC programming languagesupported byGCC(which has introduced a number of extensions and changes to standard C), together with a number of short sections of code written in theassembly language.
Because of the extensions to C it supports,GCCwas for a long time the only compiler capable of correctly building Linux. Many other languages are used in some way, primarily in connection with the kernelbuildprocess .e.g. C++,FORTRAN, or other languages, but this is strongly discouraged. Linux system only officially supports GCC as a kernel and driver compiler.
The Linux kernel has extensive support for and runs on manyvirtual machinearchitectures both as thehost operating system and as aclientoperating system.
In July 2009Microsoftcontributed 20,000 lines of code to the Linux kernel. The contribution consisted ofHyper-Vdrivers, which improve the performance of virtual Linux guest systems in aWindowshosted environment.
There are many distribution present in Linux in which Fedora(Red Hat),openSUSE(Novell),Ubuntu(Canonical Ltd.), and Mandriva Linux(Mandriva) are well known .
Linux is an open source operating system .So it is widely used for the education purpose through it the user can get knowledge of computing and can increase his productivity. User will be able to do much more with your computer and at a fraction of the cost of proprietary operating systems.
Linux versions like Ubuntu are being used in many home PCs. Its a growing software in which independent programmers are contributing
APPLE MAC OS X:
The Mac OS X kernel use hybrid structure called XNU operating system kernel which incorporates Mach as a major component.
XNU contains code based on Mach, Early versions of Mach had monolithic kernels, with much of BSD's code in the kernel. Mach 3.0 was the first microkernel implementation. XNU's Mach component is based on Mach 3.0, although it's not used as a microkernel.
XNUkernel, with standard Unix facilities available from thecommand line interface. Apple released this family of software as afreeandopen sourceoperating system namedDarwin, but it later became partiallyproprietary. On top of Darwin, Apple layered a number of components, including theAquainterface and theFinder, to complete theGUI-based operating system which is Mac OS X.
Mac OS X introduced a number of new capabilities to provide a more stable and reliable platform than its predecessor,Mac OS 9. For example, pre-emptive multitasking andmemory protectionimproved the system's ability to run multiple applications simultaneously without them interrupting or corrupting each other.
Preemptive multitasking involves the use of an interrupt mechanism which suspends the currently executing process and invokes a scheduler to determine which process should execute next. Therefore all processes will get some amount of CPU time at any given time.
Mac OS X includes its ownsoftware developmenttools, most prominently anintegrated development environmentcalledXcode. Xcode provides interfaces tocompilersthat support severalprogramming languagesincludingC,C++,Objective-C, andJava. For theApple Intel Transition, it was modified so that developers could build their applications as auniversal binary, which provides compatibility with both the Intel-based and PowerPC-based Macintosh lines.
Apple inc. has a production range of computer system and it's the most rapidly growing company in the computer field .its upcoming PCs which it named as MAC supports OS X. It is designed to get the best output from that system.
MAC OS X not only work on APPLE inc. systems but it also work on Intel and other processors.
Its attractive themes and its user friendly environment make it a one of the most popular operating system for home users.
In Symbian is said to be a microkernel architected.
It contain a scheduler and a memory management and device drivers, now this make the Symbian which make it not a true microkernel .
Symbian kernel is technical name is EKA2, which is termed as nanokernel contains only the most basic primitives and requires an extended kernel to implement any other abstractions.
EKA2 can be a ROM-based OS. EKA2 is suitable for open but resource-constrained environments. It is designed for mobile phones, and so it needs less of key resources such as memory, power and hard disk than open desktop operating systems such as Windows or Linux.
Symbian is little different from other operating system because it's a single user operating system.
EKA1 was not multi tasking but present Symbian (EKA2) is a multi-tasking. It switches CPU time between multiple threads, giving the user of the mobile phone the impression that multiple applications are running at the same time. EKA2 is a preemptively multi-tasking OS. EKA2 does not rely on one thread to relinquish CPU time to another, but reschedules threads perforce, from a timer tick. EKA2 is a priority-based multi-tasking OS with priority inheritance
Synbian is widely used in mobile technology .It's structure make it perfect for the cellular companies demand. Big guns of mobile industry like Sony Ericson, Nokia, Samsung, LG , Ben-Q and others.
Modern softwares of today's mobiles depend on this operating system.
Windows NT is based on Hybrid kernel.
Hybrid kernel is”monolithic kernel “monolithic kernel is name given by Microsoft its basically has got aspects of microkernel and monolithic kernel , but it seems that a new name is given by marketing purpose. (Just in reply of Symbian nanokernels and exokernels extreme versions of microkernel) .
This kernel structure is similar to a microkernel, but implemented in terms of a monolithic kernel. In contrast to a microkernel, nearly all operating system services are in kernel space. While there is no performance overhead for message passing and context switching between kernel and user mode, as in monolithic kernels.
Window NT's technology is the base for the Microsoft successor operating system i.e. Windows 2000.
Windows NT can be divided into two products:
· Microsoft NT Workstation
· Microsoft NT Server.
The Workstation is designed for users, especially business users, who need faster performance and a system a little more fail-safe than Windows 95 and Windows 98.
Microsoft NT Server is designed for business machines that need to provide services for network-attached computers. The Server is required, together with an Internet server such as Microsoft's Internet Information Server (IIS), for a Windows system that plans to serve Web pages.
The Solaris operating system structure is organized around a UNIX based core kernel with seven type of loadable kernel module
· Scheduling classes
· File system
· Loadable system calls
· Executable formats
· STREAMS modules
· Device and bus drivers
Such a design allows the kernel to provide core services yet allows certain features to be implemented dynamically. For example bus drivers for specific hardware can be added to kernel, and support for different file systems can be added as laudable modules. The overall result resemble a layered system in that each kernel section has defined , protected interfaces ,but it is more flexible than a layered system in that any other module can call any other module .
Further more the approach is like a microkernel, the primery module has only core function and knowledge of how to load and communicate with other modules; but it is more is efficient, because module do not need to invoke messages passing in order to communicate
It is mainly use in server system because of its features like Support LDAP authentification and NDS, Supports automatic and dynamic reconfiguration of hardware devices,Cover various Internet and intranet applications like DNA, Senmail, IPv6, IPsecand most of all high Internet Security makes it little special n a case where the user is fond of internet browsing.