The cooperative linux will be the next boom in linux.Inorder to understand what is colinux or cooperative linux ,one should know the answers to the following questions.So before starting with the cooperative linux i like to explain the following things.
1)What is a Virtual machine?
2)What is it used for?
3)what make it different from a normal machine?
4)What are its advantages?
5)What are the different types of virtual machines?
Popek and Goldberg were the first to define a virtual machine.They defined it as the as an efficient, isolated duplicate of a real machine.The virtual machines can be classified into two major categories.The first one is System Virtual Machine and the second one is the Process Virtual Machine. The System Virtual Machine supports the execution of a complete operating system whereas the Process Virtual Machine is designed to run a single program, that is it supports a single process.
System Virtual Machine
System Virtual Machines are also called Hardware Virtual Machines.Each virtual machines ahs its own operating system.There is a software layer that is used to run different operating systems on a host computer at the same time.This software is called the hypervisor.The hypervisor is also called Virtual Machine Monitor.
The main advantages of virtual machines are:
1)In a virtual machine there are many OS in which we can switch to different OS without restarting the machine or rebooting .
2)The virtual machine has its own instruction Set Architecture which is different from the ISA of real machine.
The virtual machine has a host OS and guest OS.The Os of the physcal machine is called the Host OS and using this OS we are creating many guest OS Each VM on the same physical machine contains different OS.The different services that used to run on individual machines in order to avoid interference, are instead run in separate VMs on the same physical machine. This use is frequently called quality-of-service isolation (QoS isolation).
Process Virtual Machine
The Process Virtual Machine is also called an Application Virtual Machine.It supports a single process .It runs as a normal application inside an OS.It is created when that process is started and destroyed when that process exit.Every program needs a platform to run.The Platform is a set of hardware architecture which enables the program to run.The purpose of the Process Virtual Machine is to provide platform independent programming environment.
HOW VIRTUALIZATION WORKS?
VIrtualization is the current boom in the software field.VMware is a company that provides virtualization software for x86-compatible computers.virtual machine has its own cpu which is isolated from other virtual machines.Each virtual cpu has its own registers,buffers and control structures.If the host system or the physical machine is intel x86 based then the guest OS will use an intel x86 architecture,the same goes for all other compatable processors like AMD etc.The x86 computer hardware which is the very powerful .The Vmware software is used to transform the hardware resources of a computer ,say it be a x86 based hardware to a completely software part.This transformation is also called the “Virtualization”.This hardware resources includes the RAM,CPU,HARDDISK etc.Thus in brief there would be only one physical machine but many virtual machines.But the main advantage of it is that the harware part that these virtual machines share should not get interfere with each other.
COOPERATIVE LINUX
The Cooperative Linux is also called Colinux.The word cooperative is used to denote two bodies working in parallel.The colinux allows one to run linux freely on Windows 2000/XP without using the pc virtualization software known as the VMWARE Software.There is a company called VMware inc which markets two virtualization products for servers: VMware ESX Server and VMware Server.VM stands for virtual machine.In traditional VMs there is a host OS and guest OS and these guest OS are in an unprivileged mode to control the real machine.In this case the resources are also virtualised for every OS.But in the case of cooperative linux,it gives both the OS complete control of the host machine. The guest kernel which contain special drivers is used to communicate with the host and provide various important devices to the guest OS.The comparisons between the Colinux and traditional VM is shown below:
1) In traditional VM the guest OS is in a less privileged mode than that of the host kernel whereas in Colinux the guest OS and host OS has complete control over the real machine.
2)The stability and security of Colinux is far behind than the traditional VM.
If it is unstable then it has the potential to crash the system.Acquiring root user access on a Cooperative Linux machine can potentially lead to root on the host machine.It will be a great benefit for the attackers who hack the root password.
Steps To Install colinux
1) Download the latest installer from the colinux website and run it under windows.
2) Winpcap* should be downloaded and installed.
Winpcap is a tool for link layer network access in windows environment.It allows applications to capture and transmit network packets.some of the features of Winpcap are the following:
winpcap is
a)Free
Winpcap is free to use and modify.It is relesed under BSD open source license.
b)Popular
It is free as it is used by many tools.Some of the tools that are using winpcap for network access are sniffers, traffic generators, network testers, etc.
c)High Performance
Winpcap has very good performance compaired to others
d)Well documented
winpcap documentation contains all the features of WinPcap.
e)Commercially Supported
3)The Winpcap will then install colinux in C:/program files/colinux but it should be changed to C:/colinux. because the default configuration file expect to find it there.
4)While choosing linux distribution,select the debian installer.The debian installer will then download a small compressed file that is to be expanded to 1 GB. Download the Linux distribution to the folder c:/coLinux.
5)Edit c:/coLinux/coLinux.xml
6)Then go to command mode of windows. The command prompt will be C:/colinux> Execute Colinux-daemon.exe –c colinux.xml. Now the colinux is installed.After invoking the colinux daemon,the colinux started booting.Note that the colinux boots extremely faster.There is a console window attached to colinux-daemon.It helps us to interact with the colinux shell.
7)Next step is to configure colinux.For this go to Control panel>Network Connection>Local Area Connection .Then locate the TAP-WIN 32 adapter and change the name if you wish and add this name to colinux.xml..
8)Next step is to share the internet connectivity.For this right click on the internet connection in network connection window. and select properties.select the advanced tab from it and click “allow other network users to connect through this copmputer’s internet connection” and select the TAP adapter in the “home networking connection”.
Advantages of colinux
One of the main advantages of colinux is that it allows us to run linux applications on microsoft windows.Unlike cygwin linux applications can be executed on colinux without rebuilding.Cygwin is a Linux-like environment for Windows.It gives the windows the look and feel of linux.coLinux is fast because it’s essentially running on the native hardware.
Disadvantages of colinux
The guest operating system runs in a privileged mode in the host kernel.this is a major disadvantages for colinux because it may crash the entire machine.It also has some dependencies on external software for normal operation
Summary
coLinux is novel in its approach. coLinux isn’t perfect, but it’s a great way to use Linux on a standard Windows desktop computer.Let we can wait for the future to see the further boom in the cooperative linux which may interupt our dreams.