Comparison of Operating Systems Essay
Keywords: linux advantages and disadvantages, linux vs windows 2000
The main aim of the paper is to clearly distinguish the Comparison between the Linux, Windows Network operating System and Amoeba Distributed operating System. This paper explains clearly about the network operating systems like Linux, windows 2000 and Amoeba, Amoeba can be described as an example of a distributed operating system. Starting from the Linux operating system, this paper describes the Linux operating system evolution, architecture. It also tells the list of Pros and Cons of the Linux operating System and Features involved in that OS. Windows 2000 is one of the powerful operating system in the world. However, This paper also concentrate on Windows 2000 OS with explanation of the architecture, advantages, disadvantages and security of the Windows 2000 .Finally, we discussed about Amoeba distributed Operating System and what are the features of the Amoeba and Understanding the architecture of the Amoeba Distributed Operating System.
An operating system(OS) is a program designed to run other programs on a computer . Operating system runs automatically when the user power switches on and it stops running on the computer when the power switch off. It is act as an interface between user and the CPU. Operating system controls the external devices that are connected to the computer and it can manage files on the computer. Operating system can perform the things like taking the input from the external devices like keyboards, printers, scanners and display the output on computer monitor. By this we can say that it is an inter face between user and the CPU. Responsibility of Operating system is to make sure that both programs and users do not interfere when both the running at the same time. This is also responsible for not to access the system by unauthorized users.
Above figure shows the how the operating system connects to the external device and how the devices are controlled by the Operating System .
These are classified depending on the number of users or tasks using the operating systems.
It enables two or more users can run the programs at the same time.
It enables doing one or more tasks at same time. It is very good method to utilise the time effectively.
It allows running the same program on different CPU’s.
It enables that the program in different locations to run at same time.
Real-time operating systems:
This is for real time applications and in this Operating system. It will respond to input and process the program at the same time.
Most popularly used Operating Systems are Windows 2000, Windows XP and Linux. Operating systems can also be classified as network Operating System and Distributed operating System
Network Operating System:
In this Operating System more number of activities controlled across a network. Some of the network operating systems are UNIX, Linux and Microsoft windows 2000 server. It supports workstations (WS) and personal computer. Examples of network operating systems are LAN and MAN
Distributed Operating System:
It is a collection of independent computers that appears to be a single system to the users. One of the Examples of distributed operating system is amoeba.
It is an operating There are several Operating systems available these days.system (OS) that controls your computer. Linux is the one of the most popular Network Operating System used now days. Linux is basically from the UNIX. If we write any program for UNIX it is also run on the Linux. Difference between UNIX and Linux is Linux comes with GPL license and UNIX comes with BSD-Style license. Linux consisting of all the features of UNIX and it is suitable for both high end servers and middle range servers. Linux is an open source Operating system in the sense people can change, adopt and fix. Linux provide not only the operating system but also some support, updates and provides everything to users. Some peoples think that Linux is difficult because of the complicated commands and It is not user friendly. Those who knows the UNIX they can understand the Linux than the beginners .beginners confused about the Linux due to complicated commands.
Figure 2 Conceptual Structure of the Linux Kernel
The above figure shows the architectural view of the Linux Operating System. There are three major things in the things in the architecture firstly is the user program, second is the kernel, third one is the hardware. We can simply say that there are two major parts in the architecture:
The functionality of the shell is translate the user commands into kernel
In 1991 Linux kernel was developed by Torvalds. At first there was a Linux 0.02 is released after three years Linux 1.0 is released. In 1995 Linux kernel 2.2 is released with some improved features like IPv6, support for variety of Intel chips and file system with improved range .
This is composed of process manager, virtual file system (VFS), memory manager and abstract network services. Kernel is directly interacting with the hardware.
Process manager mange the process, how the process are scheduled. For example if two processes are there it will manage those two processes by implementing the priority technique. Parent -child relationship is also managed by the process manager.
It will manage the memory in the operating system. For example if one process requires more memory than physical memory for execution or programs then it implements the concept of virtual memory.
Virtual File System:
Linux support more number of file systems. Virtual File System manages the controlling of file access and directory.
Abstract network services:
Linux is also support some network requirements such as sockets and TCP/IP networking.
Linux Operating system is a monolithic structure because of any module in the Linux can exchange the information with the other modules. The main thing in the above fig1 is mapping of kernel source code to the program module. Source code for the process manager is Init/; this is a directory consist of initialization code for kernel. Source code for Memory manager is Mm/ .It consists of memory manages codes. Virtual file system composed of Fs/ source code .It contains all the file system codes and Drivers/ consists of all device driver codes. Finally Abstract Network Services has a source code of Net/ .It is a directory with Kernel’s networking codes.
Linux kernel does not have Modifiability capacity because if we modify anything in the kernel that may affect the other parts of the kernel and we can say it is also not suitable for re-usability because of file systems are integrated into the kernel.
Linux is different from the other Operating system in two main aspects those are: firstly, Linux operating System can work on any other computer models for example Windows 95 and Windows 98 can run on only if the CPU’s have the Intel architecture but Linux can run on any other platforms. Second one is the Linux Operating System software is free. If you want to use the Linux you can get the Linux for free but if u wants Linux with some special application you have to pay something to obtain the software. Linux applications are in open source form this enables users to modifies and improve them.
Linux features and performance:
Linux has some attractive features like:
It is open source
It has multi processing capabilities
Very wide range of hard ware compatibility
Millions of installed base
It consist of IP Security and IPV6
Linux Advantages and disadvantages:
Linux has some of the good pros and cons those are
Linux is free:
You do not have to pay anything for the Linux software.
Linux is portable:
If anyone bought a new PC without knowing which Operating System runs on that computer? They can use the Linux because of the portability option.
Linux was made to keep running:
We can keep running the Linux day and night for completing the tasks .by this we can save some time.
Secure and Versatile:
Linux is more secure like a firewall.
In Linux you can add and remove whatever you want it fits all of them.
Linux had short debug times
Linux is not user friendly:
Linux have some complicated commands and problem for beginners.
Too many distributions
Strengths and Weakness of Linux:
Linux is powerful operating system with stability.
Cost of the Linux is low compare to others.
could be use as server.
It is Open source.
It is less user friendly than windows.
Complexity of commands
Fewer desktop titles than windows.
Hard to install a Linux operating in system.
Application of Linux:
Linux provides database and trading services to the online book shops and US post offices.
Internet providers and ISP’s are used Linux as proxy, firewall and web server
Windows 2000 professional is a powerful operating system with 32 bit and it is also solid. Two main things in windows 2000 are server and professional. These two are come from Microsoft family but applications are different. Windows 2000 server does everything what windows 2000 professional do. Windows 2000 server is designed for to run the application on server .windows 2000 professional takes all the advantages from the Windows NT and some extra features are also added to improve the operating system.
Windows 2000 Architecture:
Windows 2000 architecture is consisting of client/server, layered and objects oriented principles. Architecture of windows 2000 was developed by layered approach. In layered approach code in each layer can access only by the layer below to that. By this approach we can improve the operating system because if we change any layer on operating system it does not affect the other parts of the operating system. Windows 2000 architecture was developed by C language code. So, a window 2000 is portable. In this Operating system debugged from staring layer to the end layer.
The above Architecture consists of two main modes those are: user and kernel modes.
Kernel is the heart of the operating system. It is responsible for scheduling the events .kernel mode composed of hardware abstraction layer (HAL), Micro kernel and executive services.
Hardware Abstraction Layer (HAL):
It is in between hardware and kernel. HAL controls the all activities between Kernel and the hard ware in operating system. HAL directly interact with the hard ware for any manipulations. Windows 2000 has a capability of running multiprocessor on computer by using HAL .It abstract the hard ware from kernel and no need to know what type of hard ware used.
It provides time -slice between multiprocessor and handling of interrupt, threads. When the system startup it takes information of which devices are loaded into system from registry.
It contains the I/O manager, cache manager, Virtual memory manager, file systems, object management and process or thread management. I/O manager controls the I/O operations between user applications and hard disk. It is manage the all information coming from any device to computer. I/O manager subdivide into some more sections
Figure (4). Input/Output Manager Components in
It contains cache manager, file system, network drivers and device drivers. Cache manager controls how the disk cache works. File system take care of all files in the system .network drivers manages network protocols in the I/O manager and finally device drivers controls all the devices like keyboard ,mouse and hard disk.
Object manager in executive manages objects that are used by windows 2000 and it can also extend to another object. Process manager manages all the activities done by the processes. Security reference monitor watch if any unsecured thing comes into the computer.
Windowing and graphics system:
It uses Graphic User Interface (GUI) to provide all the graphics to computer.
This mode consists of service, environment sub systems, system process and applications.
System processes :
It contains logon process, session manager and service controller.
It support services like event logger, remote procedure call, alerter and replicator
It provides user applications like MS-DOS, POSIX and WIN32.
The subsystems are again separated into another two parts in user mode .Those are environmental subsystems and Integral sub system.
Environmental Sub systems:
This provides application program interface (API) to the services. POSIX, OS/2, WIN32 are the environmental subsystems in windows 2000 Operating system. It can support other types of applications to windows 2000 by using the client /server architecture. In the environmental subsystems applications are clients and subsystems are servers
Integral sub systems:
Integral subsystem performs functions like creating windows and opening files by calling the WIN32 applications. It has components like virtual memory manager, processor manager, I/O system manager and cache manager.
Windows 2000 features:
It is Multi processor supports.
It supports more number of programs and it will be user friendly.
This is runs totally in protected mode.
It had full user level security
It supports NTFS, FAT & FAT32 file system.
Windows 2000 Benefits:
Compatible and Stable OS.
It consumes low time to for troubleshooting.
Greater performance compared to the Windows 95 and More flexible of operations.
Windows 2000 weakness:
Less security :
Windows 2000 operating system is affected by viruses and an attack on The Operating system is possible.
Not every windows 95/98 programs will run.
If a program writes to run on only 95/98 this program cannot run on the windows 2000.
Windows 2000 is not an open source.
As compare Linux it is not open source.
Windows 2000 security Features:
Windows 2000 provides authentication, data integrity :
Authentications is provided by the using the authentication protocol Kerberos.
It is provided by using the Secure Socket layer protocol.
Differences between Linux Vs Windows 2000 Operating System.
Linux Operating system
Windows 2000 operating system
.It is an open source Operating System
Price of the software is free.
ease of use
Some companies now also do not offer drivers.
Less percentage of people know all about Linux.
less reliable compared to Linux
It is closed source
Microsoft Windows software license cost varies between 50 to 150 US dollars.
Much easier compared with Linux.
It is Better Hardware support.
windows is not secure compared with Linux. and Still Attacks possible.
More people using the Windows
From the years of 1990’s the distributed operating system was came into vision by the idea of S. Tanenbaum at the Vrije Universiteit by the Centre of Computer Science and Mathematics department in Amsterdam doing research for distributed operating system. The aim of this distributed operating system is to connect many computers together. In this, Amoeba operating system the work (or) task was distributed between the processor pools. The user doesn’t know where the execution of the files is going to do because the system share this files in the network with other to gain high performance.
The design goal of Amoeba based on four;
1. Distribution – connecting many machines together
2. Parallelism – multiple CPU’s allows using for individual jobs
3. Transparency – It will act like a single system
4. Performance – it is an efficient manner
It was a distributed system, multiple machines which are not same and connected together. ameoba was connected in LAN. It uses a high performance FLIP network protocol for LAN communication. If the machine is having more than one interface then it automatically uses the FLIP network interface for communication.
Ameoba also supports for parallel system. By this, one job can be divided by the other processors to gain high speed in performance.
It is transparency. The user doesn’t know where the files are storing and the location of CPU’s. It will automatically replicates and handle the issues like file by the users.
Last but not least, is Performance; it has some minimal delays in sending and receiving the files between the machines to machine in high bandwidth.
Amoeba operating system was designed based on the single microcomputer, of the recommended software for the minimum configuration.
2. Processor pool(PP).
A typical Amoeba operating system will consists of three main functional classes of machine. First class, belongs to completely user interface and it doesn’t do any other computing. The workstation used for running is X windows system. The second class is pool of processors; it can be the part of multiprocessors or multi computers and it have megabytes of private memory and it is shared by processors. LAN communication is done by the processor pool.
Figure 5.System Architecture
Third class is for specialized servers such as file and directory servers and it completely dedicated to hardware.
All this three classes are connected to the fast LAN.
(1)Microkernel and Server Architecture:
It is designed with microkernel architecture. In this very operation is goes through the kernel even the I/O and memory management so everything is build on the basis of kernel to give the user space server processes. Some of the user processes runs the application programs and such processes are called clients. Basic function of microkernel is to communicate the client and servers with each other.
In many operating systems, single thread of control is present but in amoeba operating system each process handle as its own thread that means it contains multiple threads. By using this multiple it makes easy in distributed and parallel computing because each process is handle by each thread and all processes are passed through the common block of cache uses synchronization. Kernel allows some threads to access the memory management services.
Remote Procedure Call:
The basic mechanism used for communication is Remote Procedure Call, because each process as to communicate with each other if they are in same shell or block is easy, if they are in different places then RPC is used for communication and special library procedures are called as stubs and these are used for RPC. Amoeba uses a special language called AIL (Amoeba Interface Language) and this automatically produces stub.
Figure (6) Remote Procedure Control
By this function so many problems in distributed and parallel programming are solved due to many applications need to communicate with each other while sending and receiving the data what they are exactly sending for them in same order.
Objects and Capabilities:
When an object is created, server will create a 128 bit value called capability. It prevents in cryptographically from tampering.
It is not having paging and swapping. If one process is executing and other are in memory by this it gives high performance and other Disadvantage is uses larger than physical memory.
This function is also handled by kernel threads.
OUTSIDE THE KERNEL:
Bullet File Server:
It is designed with high performance so it called as Bullet server. It stores files continuously on the dicks and cache memory, the minimum requirement of ram is 16MB if more RAM is there it gives more performance. If user requests a file it sends the file in a single RPC.
Figure (7). Bullet Server Memory
In comparison to the other operating system, amoeba operating system doesn’t handle all functions like other OS’s. In this Bullet server just save the files, its main function is to read, write and save the files to the disks but it doesn’t rename the file name. It having a hierarchical file systems built easily and general structures. By this function it gives high availability to the user and avoids the replications.
Amoeba having some standard compilers likes ANSI, C, PASCAL, MODULA 2, BASIC, FORTAN 77 and GNU C compiler.
It uses a new language for parallel programming called as Orca, which allows users to define their data types which based on Object-based distributed over a LAN. Orac uses the Amoeba IPC facilities make them to share the software objects over the network in efficient manner.
Amoeba offers utilities that work with UNIX for highly parallel configuration manager.
Emulation of UNIX:
To execute the UNIX programs in Amoeba it uses an Ajax offers
POSIX P1003.1 by this function simply compiles the program and link to Amoeba.
Although it uses a FLIP protocol for communication, by using a special
Server it connects to the TCP/IP through RPC’s for internet accessing.
X Windows X11R6 is the special workstation for Amoeba RPC for
Communication by using X Windows it can interface to the TCP/IP server.
Connection to UNIX:
By using a special driver SunOS 4.1.1 it allows the UNIX programs to
Communicate with amoeba programs.
Weakness of Amoeba:
It is does not having any virtual memory.
No binary compatibles to UNIX.
Amoeba is not a NFS support.
It doesn’t have a enough memory.
It is not a well polished system.
Best for experimenting
Supplies a1000 pages of documentation
Finally we conclude that both Windows and Linux are the standard operating systems. First version of the windows provides the graphical user interface (GUI). Windows 2000 is yet to be used as best server Operating system. Windows 2000 has better permanence, Improved reliability, easy to install and improve system recovery .we can create multiple user accounts in windows 2000 .Linux is fast developed operating system. It is open source we can improve the code by modification. There is no restriction on that but windows 2000 Operating system is not an open source. In some aspects windows 2000 is better than Linux like Windows is a user friendly, no Complicated commands and looks better in appearance. This is best used for Personal computers, Home computers and small office network computer .On the other aspects Linux operating system is best. Linux has better security compare to Windows 2000. In big enterprises we can use Linux for networking .Linux is stable and has networking ability. Both operating systems are widely used but depending on our applications we can choose the Operating system.
Amoeba Operating System is having the transparency in work, reliable, it using the Microkernel to increase the speed of the system by user interface. Ameoba also supports for some heterogonous systems. It is free to universities but they need an internet connection to access but they charge $500 for the manual set of documents and it also not a well polished system, it supports for both UNIX programs and X Windows for TCP/IP connection.