SlideShare a Scribd company logo
1 of 7
Download to read offline
1 --- Cooperative Linux
.
COOPERATIVE LINUX
Mr. Ankit Singh
Final year, Computer Engineering,
AISSMS’s College of Engineering, Pune.
Email : ankit***@***.com
Contact no. : - +91-9******5
Mr. Sushant Bhadkamkar
Final year, Computer Engineering,
AISSMS’s College of Engineering, Pune.
Email : ***sushant@***.com
Contact no. : - +91-9*****4
2 --- Cooperative Linux
.
Abstract
In this paper we will describe Cooperative
Linux (short-named coLinux), an effective
way to run Linux under other operating
system such as Windows, Linux etc. The
paper briefly presents technical details as
to how cooperation between two operating
systems is achieved. We will compare
coLinux with other virtual machines
available and discuss the advantages and
the downsides of using coLinux. The paper
also discusses a few applications and
projects currently being carried out with
the help of coLinux.
Keywords
Virtualization, CVM (Cooperative Virtual
Machine), Host OS, Kernel.
1. Introduction
Operating system virtualization is popular
technology these days. People run
different operating systems on top of their
existing ones not only for experimental
purposes but also for production use.
Many different virtualization systems
exist. In 2004, a novel concept of co-
operative virtualization was introduced by
Mr. Dan Aloni which made it possible for
two operating systems to work in co-
operation, both having complete control of
the host machine.
1.1 Virtualization
Virtualization is a framework or
methodology of dividing the resources of a
computer into multiple execution
environments, by applying one or more
concepts or technologies such as hardware
and software partitioning, time-sharing,
partial or complete machine simulation,
emulation, quality of service, and many
others.
Figure 1.1: An Example of virtualization.
1.2 Cooperative Linux
Cooperative Linux, the first working free
and open source method for optimally
running Linux on Microsoft Windows
natively. More generally, Cooperative
Linux is a port of the Linux kernel that
allows it to run cooperatively alongside
another operating system on a single
machine. The term ‘Cooperative’ is used
to describe two Entities working in
parallel, e.g. co-routines. In that sense the
simplest description of Cooperative Linux
is turning two operating system kernels
into two big co-routines. In that mode,
each kernel has its own complete CPU
context and address space, and each kernel
3 --- Cooperative Linux
.
decides when to give control back to its
partner. However, only one of the two
kernels has control on the physical
hardware, where the other is provided only
with virtual hardware abstraction.
2. Implementation
2.1 Design of coLinux
coLinux is a port of the Linux kernel that
is modified to run cooperatively with
another operating system. Dan Aloni
describes coLinux as a cooperative and
paravirtualized Linux virtual machine.
Cooperative means that it gives control
back to the host OS at will. Paravirtualized
means that the coLinux kernel has no
notion of the real hardware except that of
the CPU and memory. The host operating
system (Windows or Linux) maintains
control of the physical resources of the
operating system, while the guest
operating system (coLinux) is provided
with a virtual abstraction of the hardware.
The host operating system must provide
the means to execute a driver in the
privileged ring (ring 0) and export the
means to allocate memory.
This is unlike VMware which intercepts
I/O to hardware devices and emulates it.
coLinux feels like a separate Linux box --
the guest kernel's internals are separated
from the host kernel's internals.
Figure 2.1. coLinux internals.
Notice that coLinux consists of two parts:
 The coLinux kernel driver that
operates in the host kernel space.
 Several user space daemons.
The coLinux kernel driver's main jobs are
to: Load the Linux guest kernel image on
start. You can imagine this functionality
being similar to a bootloader (like LILO or
GRUB).
 Execute ioctl() requests as
instructed by the coLinux-daemon
process. This ioctl() call is
responsible for doing context
switches between guest OS and
host OS.
4 --- Cooperative Linux
.
 Act as a forwarder of interrupts and
requests from several virtual
drivers: cobd (block device), conet
(network), and cocon (console).
In the user space, the most important part
is the coLinux-daemon-process. Besides
being responsible for triggering context
switches, it works as the "manager" of
several other daemons such as coLinux-
console-nt and coLinux-net-daemon. For
example, via coLinux-console, users can
see the current display of the active
console of the Linux guest. When the user
types or issues a command inside the shell
of this coLinux-console, the coLinux-
daemon will "wrap" it and forward it to
coLinux-driver.
Figure 2.2: Virtualization in coLinux
This concept is called ‘cooperative
virtualization’.
2.2 Device Driver
The device driver port of Cooperative
Linux is used for accessing kernel mode
and using the kernel primitives that are
exported by the host OS kernel. Most of
the driver is OS independent code that
interfaces with the OS dependent
primitives that include page allocations,
debug printing, and interfacing with user
space.
When a Cooperative Linux VM is created,
the driver loads a kernel image from a
vmlinux file that was compiled from the
patched kernel with
CONFIG_COOPERATIVE. The vmlinux file
doesn’t need any cross platform tools in
order to be generated, and the same
vmlinux file can be used to run a
Cooperative Linux VM on several OSes of
the same architecture.
3. Comparison with other VMs
In this section we will compare coLinux
with other Linux virtual machines.
 coLinux runs without any
hypervisor[1]
, it is quite faster, and
if you install it on standard
partition you can get some speed in
reading/writing to the disk.
 In contrast to coLinux, traditional
VMs are unprivileged and under
the complete control of the host
machine.
 We can execute Linux applications
on coLinux without rebuilding.
[1] Virtual machine monitor that
Arbitrates access to the physical hardware
5 --- Cooperative Linux
.
 coLinux is faster than other VMs
as coLinux allows the Linux kernel
to run natively (as a Windows
kernel driver).
4. Advantages
 Effective way for casual windows
users to install and explore
Linux.
Windows users who are reluctant to
use Linux and other open source
software because of the complicated
technicalities, can be encouraged to do
so because of the relative easiness of
using coLinux. Installing coLinux is
relatively easier if normal installation
instructions are followed.
 coLinux is portable
You can have a coLinux distribution
with a custom set of applications on a
given Windows host (within the root
file system). You can move the root
file system to another host, and then
restart it. This allows for a mobile
development platform where the
compressed root file system fits on a
standard Universal Serial Bus (USB)
memory stick.
 Using two OSes without
rebooting.
The people, who already use Linux,
will use coLinux as a convenience, in
order to be able to do said Linux things
in Windows without having to reboot.
 Linux kernel research
coLinux kernel can be used to study
the Linux kernel, the two being quite
similar
5. Disadvantages
 The primary disadvantage of
coLinux is that it has the ability
to crash the entire machine (all
cooperating operating systems).
The guest operating system runs in a
privileged mode in the host kernel. It
also has some dependencies on
external software for normal operation
(windows and networking support).
 coLinux cannot be run in NT 4.0.
This is because some system calls are
missing in NT 4 (even with SP6) and
present only in 2000, XP and 2003.
 Limited Graphics Support.
Graphics performance is also
dependent on the speed of the
connection between the coLinux OS
and the Hosting OS.
 Another disadvantage is security.
Acquiring root user access on a
Cooperative Linux machine can
potentially lead to root access on the
host machine. An attacker can load
specially crafted kernel module or find
some other way to inject code into the
6 --- Cooperative Linux
.
running coLinux kernel, causing the
entire system to crash.
6. Projects using coLinux
 IBM is attempting to combine
coLinux and openMosix to offer a
high-performance cluster
middleware in a heterogeneous
environment. In this heterogeneous
environment, Linux™ provides the
stability and performance, and
Windows® users continue to use
_their apps and never notice the
difference.
 A coLinux Cross Tools CD-ROM
has been available from SSV
Embedded Systems since June
2005 and makes it possible use
coLinux for software development
of DIL/NetPC-based embedded
Linux applications.
7. Future of coLinux
coLinux is still a project in its beta and has
a small developer community. The
community will have to decide whether it
wants to promote coLinux as tool for users
to try out Linux or as a convenience for
developers. If the former is the case then
coLinux will have to be made more user-
friendly. A lot more documentation will
have to provided for troubleshooting.
Developers on the other hand will require
for it to have latest distribution support and
support for architectures other than x86.
India on the other hand can benefit a great
deal from coLinux as more and more
enterprises attempt to migrate towards
Linux and open source software. coLinux
can be used as a training tool in academic
institutes and students can get involved in
the coLinux project development.
8. Conclusion
While there are many virtualization
schemes out there, coLinux is novel in its
approach and the capabilities that it
provides. coLinux is not perfect but the
exposure that Linux gets by the average
computer user can increase tremendously.
Moreover it is an open source tool. The
implications that Cooperative Linux has on
what the media defines as ‘Linux on the
Desktop’—are massive, as the world’s
most dominant albeit proprietary desktop
OS supports running Linux distributions
for free, as another software, with the aim
of possibility that the Linux newbie would
switch to the standalone Linux.
So, if you want an easy way of running
simple, not very graphics demanding
applications from Linux on Windows, you
are a developer who develops for both
systems, or if you are just a Linux
enthusiast who wants to have his beloved
7 --- Cooperative Linux
.
applications at hand while using Windows,
and you don’t mind occasional problems
with graphics – coLinux is the solution for
you.
References
1. www.kernel.org
2. http://colinux.wikia.com/wiki/Main
_Page
3. http://www.ibm.com/developerwor
ks/opensource/
4. coLinux 2004 publication – Dan
Aloni
5. Rute User’s Text and Exposition –
Paul Sheer
6. linux.colinux.devel
.

More Related Content

What's hot

Screenless display report
Screenless display reportScreenless display report
Screenless display reportVikas Kumar
 
Tizen operating system seminar ppt
Tizen operating system seminar pptTizen operating system seminar ppt
Tizen operating system seminar pptAjinkyalenekar12
 
Screenless displays seminar report
Screenless displays seminar reportScreenless displays seminar report
Screenless displays seminar reportJeevan Kumar D
 
Autonomous car Working (Deep learning)
Autonomous car Working (Deep learning)Autonomous car Working (Deep learning)
Autonomous car Working (Deep learning)Bharath Chava
 
SCREENLESS DISPLAY
SCREENLESS DISPLAYSCREENLESS DISPLAY
SCREENLESS DISPLAYMahad Mumtaz
 
Sign Language Recognition based on Hands symbols Classification
Sign Language Recognition based on Hands symbols ClassificationSign Language Recognition based on Hands symbols Classification
Sign Language Recognition based on Hands symbols ClassificationTriloki Gupta
 
eye phone technology
eye phone technologyeye phone technology
eye phone technologyNaga Dinesh
 
Technical seminar on virtual smart phone
Technical seminar on virtual smart phoneTechnical seminar on virtual smart phone
Technical seminar on virtual smart phoneAkshitha Chutke
 
Driver drowsiness monitoring system using visual behavior and Machine Learning.
Driver drowsiness monitoring system using visual behavior and Machine Learning.Driver drowsiness monitoring system using visual behavior and Machine Learning.
Driver drowsiness monitoring system using visual behavior and Machine Learning.AasimAhmedKhanJawaad
 
Screenless pd presentation
Screenless pd presentationScreenless pd presentation
Screenless pd presentationShalini1293
 

What's hot (20)

Screenless display report
Screenless display reportScreenless display report
Screenless display report
 
Eye gaze communication
Eye gaze communicationEye gaze communication
Eye gaze communication
 
Tizen operating system seminar ppt
Tizen operating system seminar pptTizen operating system seminar ppt
Tizen operating system seminar ppt
 
Screenless displays seminar report
Screenless displays seminar reportScreenless displays seminar report
Screenless displays seminar report
 
Sign language recognizer
Sign language recognizerSign language recognizer
Sign language recognizer
 
Autonomous car Working (Deep learning)
Autonomous car Working (Deep learning)Autonomous car Working (Deep learning)
Autonomous car Working (Deep learning)
 
Presentation on iOS
Presentation on iOSPresentation on iOS
Presentation on iOS
 
iOS I phone operating system
iOS I phone operating system iOS I phone operating system
iOS I phone operating system
 
SCREENLESS DISPLAY
SCREENLESS DISPLAYSCREENLESS DISPLAY
SCREENLESS DISPLAY
 
Mobile operating system
Mobile operating systemMobile operating system
Mobile operating system
 
Sign Language Recognition based on Hands symbols Classification
Sign Language Recognition based on Hands symbols ClassificationSign Language Recognition based on Hands symbols Classification
Sign Language Recognition based on Hands symbols Classification
 
Tele immersion
Tele immersionTele immersion
Tele immersion
 
Screenless display
Screenless display Screenless display
Screenless display
 
eye phone technology
eye phone technologyeye phone technology
eye phone technology
 
Technical seminar on virtual smart phone
Technical seminar on virtual smart phoneTechnical seminar on virtual smart phone
Technical seminar on virtual smart phone
 
Artificial Passenger
Artificial Passenger Artificial Passenger
Artificial Passenger
 
I twin
I twinI twin
I twin
 
Driver drowsiness monitoring system using visual behavior and Machine Learning.
Driver drowsiness monitoring system using visual behavior and Machine Learning.Driver drowsiness monitoring system using visual behavior and Machine Learning.
Driver drowsiness monitoring system using visual behavior and Machine Learning.
 
Screenless pd presentation
Screenless pd presentationScreenless pd presentation
Screenless pd presentation
 
3D-TV-PPT
3D-TV-PPT3D-TV-PPT
3D-TV-PPT
 

Similar to Cooperative Linux

exp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docxexp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docxApkaAmitbro
 
exp_1_20bca1066 Internet.docx
exp_1_20bca1066 Internet.docxexp_1_20bca1066 Internet.docx
exp_1_20bca1066 Internet.docxApkaAmitbro
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linuxKevin OBrien
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoSherif Mousa
 
Introduction to Linux for Windows Users
Introduction to Linux for Windows UsersIntroduction to Linux for Windows Users
Introduction to Linux for Windows UsersRobert McDermott
 
Linux operating system
Linux operating systemLinux operating system
Linux operating systemMohamed Essam
 
Rolling Your Own Embedded Linux Distribution
Rolling  Your  Own  Embedded  Linux  DistributionRolling  Your  Own  Embedded  Linux  Distribution
Rolling Your Own Embedded Linux DistributionEmanuele Bonanni
 
Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)Carla Bennington
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linuxsureskal
 
Linux and Java - Understanding and Troubleshooting
Linux and Java - Understanding and TroubleshootingLinux and Java - Understanding and Troubleshooting
Linux and Java - Understanding and TroubleshootingJérôme Kehrli
 
Linux programming lecture_notes
Linux programming lecture_notesLinux programming lecture_notes
Linux programming lecture_notesIMRAN KHAN
 
OS(ch16)-LinuxSystem.pptx
OS(ch16)-LinuxSystem.pptxOS(ch16)-LinuxSystem.pptx
OS(ch16)-LinuxSystem.pptxssuser6e060d
 
Presentation1 linux os
Presentation1 linux osPresentation1 linux os
Presentation1 linux osjoycoronado
 

Similar to Cooperative Linux (20)

exp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docxexp_1_20bca1108(kashish_dixit.docx
exp_1_20bca1108(kashish_dixit.docx
 
exp_1_20bca1066 Internet.docx
exp_1_20bca1066 Internet.docxexp_1_20bca1066 Internet.docx
exp_1_20bca1066 Internet.docx
 
Linux
LinuxLinux
Linux
 
Introduction to linux
Introduction to linuxIntroduction to linux
Introduction to linux
 
Embedded Linux from Scratch to Yocto
Embedded Linux from Scratch to YoctoEmbedded Linux from Scratch to Yocto
Embedded Linux from Scratch to Yocto
 
Introduction to Linux for Windows Users
Introduction to Linux for Windows UsersIntroduction to Linux for Windows Users
Introduction to Linux for Windows Users
 
Linux operating system
Linux operating systemLinux operating system
Linux operating system
 
Rolling Your Own Embedded Linux Distribution
Rolling  Your  Own  Embedded  Linux  DistributionRolling  Your  Own  Embedded  Linux  Distribution
Rolling Your Own Embedded Linux Distribution
 
Linuxppt.pptx
Linuxppt.pptxLinuxppt.pptx
Linuxppt.pptx
 
Linux Operating System
Linux Operating SystemLinux Operating System
Linux Operating System
 
Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)Linux Operating System (Graduate Level CIS Term Paper)
Linux Operating System (Graduate Level CIS Term Paper)
 
Linux OS presentation
Linux OS presentationLinux OS presentation
Linux OS presentation
 
Introduction to Linux
Introduction to LinuxIntroduction to Linux
Introduction to Linux
 
Linux and Java - Understanding and Troubleshooting
Linux and Java - Understanding and TroubleshootingLinux and Java - Understanding and Troubleshooting
Linux and Java - Understanding and Troubleshooting
 
Linux programming lecture_notes
Linux programming lecture_notesLinux programming lecture_notes
Linux programming lecture_notes
 
Linux
Linux Linux
Linux
 
OS(ch16)-LinuxSystem.pptx
OS(ch16)-LinuxSystem.pptxOS(ch16)-LinuxSystem.pptx
OS(ch16)-LinuxSystem.pptx
 
Presentation1 linux os
Presentation1 linux osPresentation1 linux os
Presentation1 linux os
 
Presentation1 linux os(2)
Presentation1 linux os(2)Presentation1 linux os(2)
Presentation1 linux os(2)
 
Presentation1 linux os
Presentation1 linux osPresentation1 linux os
Presentation1 linux os
 

More from Ankit Singh

IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...Ankit Singh
 
Security Vision for Software on Wheels (Autonomous Vehicles)
Security Vision for Software on Wheels (Autonomous Vehicles)Security Vision for Software on Wheels (Autonomous Vehicles)
Security Vision for Software on Wheels (Autonomous Vehicles)Ankit Singh
 
Parallex - The Supercomputer
Parallex - The SupercomputerParallex - The Supercomputer
Parallex - The SupercomputerAnkit Singh
 
Design Alternative for Parallel Systems
Design Alternative for Parallel SystemsDesign Alternative for Parallel Systems
Design Alternative for Parallel SystemsAnkit Singh
 
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour DetectionRestricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour DetectionAnkit Singh
 
The Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud ComputingThe Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud ComputingAnkit Singh
 
The Security and Privacy Requirements in VANET
The Security and Privacy Requirements in VANETThe Security and Privacy Requirements in VANET
The Security and Privacy Requirements in VANETAnkit Singh
 
Master Teset Specification SRCP
Master Teset Specification SRCPMaster Teset Specification SRCP
Master Teset Specification SRCPAnkit Singh
 
MicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project PresentationMicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project PresentationAnkit Singh
 
Micazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportMicazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportAnkit Singh
 
DO-178B/ED-12B Presentation
DO-178B/ED-12B PresentationDO-178B/ED-12B Presentation
DO-178B/ED-12B PresentationAnkit Singh
 
Toilet etiquettes
Toilet etiquettesToilet etiquettes
Toilet etiquettesAnkit Singh
 
Indian German Unity
Indian German UnityIndian German Unity
Indian German UnityAnkit Singh
 
TINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationTINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationAnkit Singh
 
Mote Mote Radio Communication
Mote Mote Radio CommunicationMote Mote Radio Communication
Mote Mote Radio CommunicationAnkit Singh
 
TinyOS installation Guide And Manual
TinyOS installation Guide And ManualTinyOS installation Guide And Manual
TinyOS installation Guide And ManualAnkit Singh
 
Simple Railroad Command Protocol
Simple Railroad Command ProtocolSimple Railroad Command Protocol
Simple Railroad Command ProtocolAnkit Singh
 
Dane presentation
Dane presentationDane presentation
Dane presentationAnkit Singh
 
Anti Collision Railways System
Anti Collision Railways SystemAnti Collision Railways System
Anti Collision Railways SystemAnkit Singh
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault ToleranceAnkit Singh
 

More from Ankit Singh (20)

IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
 
Security Vision for Software on Wheels (Autonomous Vehicles)
Security Vision for Software on Wheels (Autonomous Vehicles)Security Vision for Software on Wheels (Autonomous Vehicles)
Security Vision for Software on Wheels (Autonomous Vehicles)
 
Parallex - The Supercomputer
Parallex - The SupercomputerParallex - The Supercomputer
Parallex - The Supercomputer
 
Design Alternative for Parallel Systems
Design Alternative for Parallel SystemsDesign Alternative for Parallel Systems
Design Alternative for Parallel Systems
 
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour DetectionRestricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
 
The Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud ComputingThe Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud Computing
 
The Security and Privacy Requirements in VANET
The Security and Privacy Requirements in VANETThe Security and Privacy Requirements in VANET
The Security and Privacy Requirements in VANET
 
Master Teset Specification SRCP
Master Teset Specification SRCPMaster Teset Specification SRCP
Master Teset Specification SRCP
 
MicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project PresentationMicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project Presentation
 
Micazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportMicazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project report
 
DO-178B/ED-12B Presentation
DO-178B/ED-12B PresentationDO-178B/ED-12B Presentation
DO-178B/ED-12B Presentation
 
Toilet etiquettes
Toilet etiquettesToilet etiquettes
Toilet etiquettes
 
Indian German Unity
Indian German UnityIndian German Unity
Indian German Unity
 
TINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationTINYOS Oscilloscope Application
TINYOS Oscilloscope Application
 
Mote Mote Radio Communication
Mote Mote Radio CommunicationMote Mote Radio Communication
Mote Mote Radio Communication
 
TinyOS installation Guide And Manual
TinyOS installation Guide And ManualTinyOS installation Guide And Manual
TinyOS installation Guide And Manual
 
Simple Railroad Command Protocol
Simple Railroad Command ProtocolSimple Railroad Command Protocol
Simple Railroad Command Protocol
 
Dane presentation
Dane presentationDane presentation
Dane presentation
 
Anti Collision Railways System
Anti Collision Railways SystemAnti Collision Railways System
Anti Collision Railways System
 
Software Fault Tolerance
Software Fault ToleranceSoftware Fault Tolerance
Software Fault Tolerance
 

Recently uploaded

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Scott Andery
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfIngrid Airi González
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Recently uploaded (20)

Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
Enhancing User Experience - Exploring the Latest Features of Tallyman Axis Lo...
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
Generative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdfGenerative Artificial Intelligence: How generative AI works.pdf
Generative Artificial Intelligence: How generative AI works.pdf
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Cooperative Linux

  • 1. 1 --- Cooperative Linux . COOPERATIVE LINUX Mr. Ankit Singh Final year, Computer Engineering, AISSMS’s College of Engineering, Pune. Email : ankit***@***.com Contact no. : - +91-9******5 Mr. Sushant Bhadkamkar Final year, Computer Engineering, AISSMS’s College of Engineering, Pune. Email : ***sushant@***.com Contact no. : - +91-9*****4
  • 2. 2 --- Cooperative Linux . Abstract In this paper we will describe Cooperative Linux (short-named coLinux), an effective way to run Linux under other operating system such as Windows, Linux etc. The paper briefly presents technical details as to how cooperation between two operating systems is achieved. We will compare coLinux with other virtual machines available and discuss the advantages and the downsides of using coLinux. The paper also discusses a few applications and projects currently being carried out with the help of coLinux. Keywords Virtualization, CVM (Cooperative Virtual Machine), Host OS, Kernel. 1. Introduction Operating system virtualization is popular technology these days. People run different operating systems on top of their existing ones not only for experimental purposes but also for production use. Many different virtualization systems exist. In 2004, a novel concept of co- operative virtualization was introduced by Mr. Dan Aloni which made it possible for two operating systems to work in co- operation, both having complete control of the host machine. 1.1 Virtualization Virtualization is a framework or methodology of dividing the resources of a computer into multiple execution environments, by applying one or more concepts or technologies such as hardware and software partitioning, time-sharing, partial or complete machine simulation, emulation, quality of service, and many others. Figure 1.1: An Example of virtualization. 1.2 Cooperative Linux Cooperative Linux, the first working free and open source method for optimally running Linux on Microsoft Windows natively. More generally, Cooperative Linux is a port of the Linux kernel that allows it to run cooperatively alongside another operating system on a single machine. The term ‘Cooperative’ is used to describe two Entities working in parallel, e.g. co-routines. In that sense the simplest description of Cooperative Linux is turning two operating system kernels into two big co-routines. In that mode, each kernel has its own complete CPU context and address space, and each kernel
  • 3. 3 --- Cooperative Linux . decides when to give control back to its partner. However, only one of the two kernels has control on the physical hardware, where the other is provided only with virtual hardware abstraction. 2. Implementation 2.1 Design of coLinux coLinux is a port of the Linux kernel that is modified to run cooperatively with another operating system. Dan Aloni describes coLinux as a cooperative and paravirtualized Linux virtual machine. Cooperative means that it gives control back to the host OS at will. Paravirtualized means that the coLinux kernel has no notion of the real hardware except that of the CPU and memory. The host operating system (Windows or Linux) maintains control of the physical resources of the operating system, while the guest operating system (coLinux) is provided with a virtual abstraction of the hardware. The host operating system must provide the means to execute a driver in the privileged ring (ring 0) and export the means to allocate memory. This is unlike VMware which intercepts I/O to hardware devices and emulates it. coLinux feels like a separate Linux box -- the guest kernel's internals are separated from the host kernel's internals. Figure 2.1. coLinux internals. Notice that coLinux consists of two parts:  The coLinux kernel driver that operates in the host kernel space.  Several user space daemons. The coLinux kernel driver's main jobs are to: Load the Linux guest kernel image on start. You can imagine this functionality being similar to a bootloader (like LILO or GRUB).  Execute ioctl() requests as instructed by the coLinux-daemon process. This ioctl() call is responsible for doing context switches between guest OS and host OS.
  • 4. 4 --- Cooperative Linux .  Act as a forwarder of interrupts and requests from several virtual drivers: cobd (block device), conet (network), and cocon (console). In the user space, the most important part is the coLinux-daemon-process. Besides being responsible for triggering context switches, it works as the "manager" of several other daemons such as coLinux- console-nt and coLinux-net-daemon. For example, via coLinux-console, users can see the current display of the active console of the Linux guest. When the user types or issues a command inside the shell of this coLinux-console, the coLinux- daemon will "wrap" it and forward it to coLinux-driver. Figure 2.2: Virtualization in coLinux This concept is called ‘cooperative virtualization’. 2.2 Device Driver The device driver port of Cooperative Linux is used for accessing kernel mode and using the kernel primitives that are exported by the host OS kernel. Most of the driver is OS independent code that interfaces with the OS dependent primitives that include page allocations, debug printing, and interfacing with user space. When a Cooperative Linux VM is created, the driver loads a kernel image from a vmlinux file that was compiled from the patched kernel with CONFIG_COOPERATIVE. The vmlinux file doesn’t need any cross platform tools in order to be generated, and the same vmlinux file can be used to run a Cooperative Linux VM on several OSes of the same architecture. 3. Comparison with other VMs In this section we will compare coLinux with other Linux virtual machines.  coLinux runs without any hypervisor[1] , it is quite faster, and if you install it on standard partition you can get some speed in reading/writing to the disk.  In contrast to coLinux, traditional VMs are unprivileged and under the complete control of the host machine.  We can execute Linux applications on coLinux without rebuilding. [1] Virtual machine monitor that Arbitrates access to the physical hardware
  • 5. 5 --- Cooperative Linux .  coLinux is faster than other VMs as coLinux allows the Linux kernel to run natively (as a Windows kernel driver). 4. Advantages  Effective way for casual windows users to install and explore Linux. Windows users who are reluctant to use Linux and other open source software because of the complicated technicalities, can be encouraged to do so because of the relative easiness of using coLinux. Installing coLinux is relatively easier if normal installation instructions are followed.  coLinux is portable You can have a coLinux distribution with a custom set of applications on a given Windows host (within the root file system). You can move the root file system to another host, and then restart it. This allows for a mobile development platform where the compressed root file system fits on a standard Universal Serial Bus (USB) memory stick.  Using two OSes without rebooting. The people, who already use Linux, will use coLinux as a convenience, in order to be able to do said Linux things in Windows without having to reboot.  Linux kernel research coLinux kernel can be used to study the Linux kernel, the two being quite similar 5. Disadvantages  The primary disadvantage of coLinux is that it has the ability to crash the entire machine (all cooperating operating systems). The guest operating system runs in a privileged mode in the host kernel. It also has some dependencies on external software for normal operation (windows and networking support).  coLinux cannot be run in NT 4.0. This is because some system calls are missing in NT 4 (even with SP6) and present only in 2000, XP and 2003.  Limited Graphics Support. Graphics performance is also dependent on the speed of the connection between the coLinux OS and the Hosting OS.  Another disadvantage is security. Acquiring root user access on a Cooperative Linux machine can potentially lead to root access on the host machine. An attacker can load specially crafted kernel module or find some other way to inject code into the
  • 6. 6 --- Cooperative Linux . running coLinux kernel, causing the entire system to crash. 6. Projects using coLinux  IBM is attempting to combine coLinux and openMosix to offer a high-performance cluster middleware in a heterogeneous environment. In this heterogeneous environment, Linux™ provides the stability and performance, and Windows® users continue to use _their apps and never notice the difference.  A coLinux Cross Tools CD-ROM has been available from SSV Embedded Systems since June 2005 and makes it possible use coLinux for software development of DIL/NetPC-based embedded Linux applications. 7. Future of coLinux coLinux is still a project in its beta and has a small developer community. The community will have to decide whether it wants to promote coLinux as tool for users to try out Linux or as a convenience for developers. If the former is the case then coLinux will have to be made more user- friendly. A lot more documentation will have to provided for troubleshooting. Developers on the other hand will require for it to have latest distribution support and support for architectures other than x86. India on the other hand can benefit a great deal from coLinux as more and more enterprises attempt to migrate towards Linux and open source software. coLinux can be used as a training tool in academic institutes and students can get involved in the coLinux project development. 8. Conclusion While there are many virtualization schemes out there, coLinux is novel in its approach and the capabilities that it provides. coLinux is not perfect but the exposure that Linux gets by the average computer user can increase tremendously. Moreover it is an open source tool. The implications that Cooperative Linux has on what the media defines as ‘Linux on the Desktop’—are massive, as the world’s most dominant albeit proprietary desktop OS supports running Linux distributions for free, as another software, with the aim of possibility that the Linux newbie would switch to the standalone Linux. So, if you want an easy way of running simple, not very graphics demanding applications from Linux on Windows, you are a developer who develops for both systems, or if you are just a Linux enthusiast who wants to have his beloved
  • 7. 7 --- Cooperative Linux . applications at hand while using Windows, and you don’t mind occasional problems with graphics – coLinux is the solution for you. References 1. www.kernel.org 2. http://colinux.wikia.com/wiki/Main _Page 3. http://www.ibm.com/developerwor ks/opensource/ 4. coLinux 2004 publication – Dan Aloni 5. Rute User’s Text and Exposition – Paul Sheer 6. linux.colinux.devel .