CO-LINUX-“The Cutting Edge Technology For Virtualization”
“Great achievement is usually born of great sacrifice, and is never the result of selfishness.” Napoleon HillLinux has been emerging as a substitute for Windows in our PC’s. Linux based technology are now catching up fast with other technology in the world. What is the reason behind this emerging boom? Is it because of itz Reliability, Flexibility or Security?
Let us examine this in context with an emerging technology in Linux virtualization – COOPERATIVE LINUX or Co-Linux, which may in near future replace VmWare in virtualization. Lets have a check, why?
In order to understand what is colinux or cooperative linux, one should know the answers to the following questions:
- What is a Virtual machine?
- What is it used for?
- What make it different from a normal machine?
- What are its advantages?
- What are the different types of virtual machines?
So before starting with cooperative linux, I would like to explain about the above things.
Popek and Goldberg were the first to define a virtual machine. They defined it 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 an operating system completely 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 has 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:
- In a virtual machine there are many OS and we can switch between different OS without restarting the machine or rebooting.
- The virtual machine has its own Instruction Set Architecture(ISA) 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. Separate VM’s on the same physical machine can be used to run different services, which otherwise would have to be run on individual machines in order to avoid interference. This use is commonly 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 and runs as a normal application inside an OS. It is created and destroyed as and when that process starts and exits.
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. Each virtual machine has its own share of CPU, memory, network interfaces etc 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 compatible processors like AMD etc.
VMware is a company that offers virtualization software products for x86-compatible computers. 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 “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 hardware part, these virtual machines share will not get interfered with each other.
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. VMware inc offers two virtualization products for servers: VMware ESX Server and VMware Server. VM stands for virtual machine.
In traditional VM’s 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 virtualized 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 main comparisons between the Colinux and traditional VM is shown below:
- 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.
- 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.
Steps To Install colinux
- Download the latest installer from the colinux website and run it under windows.
- Winpcap* should be downloaded and installed.
Winpcap is free to use and modify. It is released under BSD open source license.
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.
- High Performance
Winpcap has very good performance compaired to others
- Well documented
Winpcap documentation contains detailed description of all the features of Winpcap.
- Commercially Supported
*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:
- The Winpcap will then install colinux in C:/program files/colinux but it should be changed to C:/colinux because it is the location where the default configuration file will look for.
- While choosing linux distribution, select the debian installer because it’s the smallest . 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.
- Edit c:/coLinux/coLinux.xml
- Then go to command mode of windows. Go to C:/colinux> Execute colinux-daemon.exe â€“c colinux.xml This will install colinux. After invoking the colinux daemon, the colinux will start 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.
- 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..
- 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 and click “Allow other network users to connect through this computer’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 provides 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 disadvantage for colinux because it may crash the entire machine. It also has some dependencies on external software for normal operation.
CoLinux is novel in its approach. CoLinux isn’t perfect, but it is one of the best way to use Linux on a standard Windows desktop computer. Let us wait for the future to see the further boom in Cooperative linux.
About the author:
Sherin Sunny has been working in Bobcares for the past 11 months. He has experience both in php programming and Linux server administration. Linux is his passion and one of his main hobby is philately. He also loves playing chess and is a great fan of Viswanathan Anand 🙂