1 / 19

Cooperative Linux… “A treaty between two OS giants”

Cooperative Linux… “A treaty between two OS giants”. By: Raithatha Yash. Why CoLinux? Introduction History Design Overviews Tools Available Uses Current Status. Planned Features Disadvantages Conclusion References. Content. Why CoLinux?. Problem:

xylia
Download Presentation

Cooperative Linux… “A treaty between two OS giants”

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cooperative Linux…“A treaty between two OS giants” By: Raithatha Yash

  2. Why CoLinux? Introduction History Design Overviews Tools Available Uses Current Status Planned Features Disadvantages Conclusion References Content

  3. Why CoLinux? • Problem: Requirement of GCC for software development • Solution: Install Linux OS on system • New Problem: Booting time extended, Unfamiliar with new OS • Solution: Cooperative Linux

  4. What is CoLinux? • Cooperative Linux, a port of the Linux kernel that allows it to run as an unprivileged lightweight virtual machine in kernel mode, on top of another OS kernel. • Uses the concept of Cooperative Virtual Machine (CVM) • Contains special Windows drivers, which allow it to run under Windows XP as a guest operating system with all privileges. • Superior over other traditional virtualization solutions like VMware, Xen which provides less privileges to guest OS.

  5. History • Dan Aloni originally started the development of Cooperative Linux based on similar work with User-mode Linux. • He open sourced the software under the GNU General Public License. • Other developers have since contributed various patches and additions to the software.

  6. Design Overviews • Device Driver • The device driver port of Cooperative Linux is used for accessing kernel mode . • Interfaces with OS dependent primitives Like page allocations, debug printing, and interfacing with user space. • Driver loads a kernel image from a vmlinux file.

  7. Design Overviews (cont...) • Pseudo Physical RAM • All the memory which CoLinux considers as physical in the allocated set is called Pseudo Physical RAM (PPRAM). • Allocated pages are always resident and not freed until the VM is downed. • Page tablesare created for mapping pages in the VM’s kernel virtual address space. • The VM’s address space resembles the address space of a regular kernel.

  8. Design Overviews (cont...) • Context Switching • The Cooperative Linux VM uses only one host OS process in order to provide a context for itself and its processes, viz. colinux-daemon . • CoLinux is able to completely control the CPU and MMU without affecting anything else in the host OS kernel. • Uses an intermediate address space during switching

  9. Address space transition during an OS cooperative kernel switch, using an intermapped page

  10. Design Overviews (cont...) • Interrupt Handling and Forwarding Cooperative Linux only forwards the invocations of interrupts to the host OS in order to keep functioning and support the coLinux-daemon process itself, regardless to the fact that external hardware interrupts are meaningless to the Cooperative Linux virtual machine.

  11. Tools Available • Original GNU tools for compiling C/C++ programs and corresponding libraries • Open source editor PN (Programmers Notepad) • TFTP server for file transfer • Telnet Client

  12. CoLinux Configuration • kernel=vmlinux specifies the kernel to be used. • initrd=initrd.gz is the initial ram disk • mem=120 is the system virtual memory • cobd0=root.img specify partition /dev/cobd0 to point to root.img • cobd1=swap.img specify partition /dev/cobd1 to point to swap.img • eth0=slirp set up an ethernet connection using the windows host. • root=/dev/cobd0 specify the mounted root file system.

  13. Uses • Relatively effortless migration path from Windows. • Adding Windows machines to Linux clusters. • Using Linux as a Windows firewall on the same machine. • Linux kernel development, debugging, research and study on another operating systems.

  14. Current Features • Version: 0.6.4 • Released on date: July 02, 2006 • Supported architectures: • Intel-compatible 386 and above • Supported operating systems: • Windows 2000 • Windows XP • Linux 2.6.x • Supported guest Linux kernel versions: • 2.6.11

  15. Planned Features • Suspension • User Mode Linux inside Cooperative Linux • Live Cooperative Distributions • Integration with ReactOS. • Virtual frame buffer support. • Support for more host operating systems such as FreeBSD.

  16. Disadvantages • CoLinux runs aside the Windows kernel on the same hardware abstraction layer • A problem in the Linux kernel can bring the Windows kernel down • Uses two different IP address for windows and Colinux. • Also to load and use coLinux the user has to have administrator rights.

  17. Conclusion • The colinux is an economical and efficient possibility to program embedded Linux systems directly from a Windows PC. • As user friendliness of the Windows port will improve, the exposure that Linux gets by the average computer user can increase tremendously.

  18. References • Web references: • www.colinux.org • www.sourceforge.net/projets/coLinux • www.dilnetpc.com • www.en.wikipedia.org/wiki/colinux • www.hesperia.gsfc.nasa.gov/colinux • www.user-mode-linux.sf.net • www.google.co.in • Book references: • Donald E. Knuth. The Art of Computer Programming, volume 1.

  19. Thank You! Queries?

More Related