Cooperative Linux… “A treaty between two OS giants” Presented by: Rakesh kumar (usn: 4BD07CS084 )

Slides:



Advertisements
Similar presentations
Threads, SMP, and Microkernels
Advertisements

Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Introduction CSCI 444/544 Operating Systems Fall 2008.
Virtual Machines What Why How Powerpoint?. What is a Virtual Machine? A Piece of software that emulates hardware.  Might emulate the I/O devices  Might.
Linux vs. Windows. Linux  Linux was originally built by Linus Torvalds at the University of Helsinki in  Linux is a Unix-like, Kernal-based, fully.
CS-3013 & CS-502, Summer 2006 Virtual Machine Systems1 CS-502 Operating Systems Slides excerpted from Silbershatz, Ch. 2.
Xen and the Art of Virtualization A paper from the University of Cambridge, presented by Charlie Schluting For CS533 at Portland State University.
OS Spring’03 Introduction Operating Systems Spring 2003.
Operating Systems - Introduction S H Srinivasan
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Introduction Operating Systems’ Concepts and Structure Lecture 1 ~ Spring, 2008 ~ Spring, 2008TUCN. Operating Systems. Lecture 1.
Virtualization and the Cloud
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition Chapter 2: Operating-System Structures Modified from the text book.
Chapter 6 - Implementing Processes, Threads and Resources Kris Hansen Shelby Davis Jeffery Brass 3/7/05 & 3/9/05 Kris Hansen Shelby Davis Jeffery Brass.
Virtualization for Cloud Computing
Virtual Machine Monitors CSE451 Andrew Whitaker. Hardware Virtualization Running multiple operating systems on a single physical machine Examples:  VMWare,
LINUX Virtualization Running other code under LINUX.
Virtualization Technology Prof D M Dhamdhere CSE Department IIT Bombay Moving towards Virtualization… Department of Computer Science and Engineering, IIT.
Tanenbaum 8.3 See references
Zen and the Art of Virtualization Paul Barham, et al. University of Cambridge, Microsoft Research Cambridge Published by ACM SOSP’03 Presented by Tina.
An Introduction to Xen Prof. Chih-Hung Wu
Microkernels, virtualization, exokernels Tutorial 1 – CSC469.
Hands-On Virtual Computing
Introduction and Overview Questions answered in this lecture: What is an operating system? How have operating systems evolved? Why study operating systems?
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
Benefits: Increased server utilization Reduced IT TCO Improved IT agility.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
High Performance Computing on Virtualized Environments Ganesh Thiagarajan Fall 2014 Instructor: Yuzhe(Richard) Tang Syracuse University.
Background: Operating Systems Brad Karp UCL Computer Science CS GZ03 / M th November, 2008.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Operating System What is an Operating System? A program that acts as an intermediary between a user of a computer and the computer hardware. An operating.
PART II OPERATING SYSTEMS LECTURE 8 SO TAXONOMY Ştefan Stăncescu 1.
 Virtual machine systems: simulators for multiple copies of a machine on itself.  Virtual machine (VM): the simulated machine.  Virtual machine monitor.
Module 2 Part I Introduction To Windows Operating Systems Intro & History Introduction To Windows Operating Systems Intro & History.
Operating Systems Security
A. Frank - P. Weisberg Operating Systems Structure of Operating Systems.
Full and Para Virtualization
Protection of Processes Security and privacy of data is challenging currently. Protecting information – Not limited to hardware. – Depends on innovation.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
CSE 451: Operating Systems Winter 2015 Module 25 Virtual Machine Monitors Mark Zbikowski Allen Center 476 © 2013 Gribble, Lazowska,
Lecture 5 Rootkits Hoglund/Butler (Chapters 1-3).
Cloud Computing – UNIT - II. VIRTUALIZATION Virtualization Hiding the reality The mantra of smart computing is to intelligently hide the reality Binary->
Running Commodity Operating Systems on Scalable Multiprocessors Edouard Bugnion, Scott Devine and Mendel Rosenblum Presentation by Mark Smith.
Unit 2 VIRTUALISATION. Unit 2 - Syllabus Basics of Virtualization Types of Virtualization Implementation Levels of Virtualization Virtualization Structures.
OPERATING SYSTEMS DO YOU REQUIRE AN OPERATING SYSTEM IN YOUR SYSTEM?
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Virtualization Neependra Khare
Chapter 2 Operating Systems
Computer System Structures
Computers: Tools for an Information Age
Virtualization.
Virtual Machine Monitors
Kernel Design & Implementation
LINUX WINDOWS Vs..
Operating System.
Operating System Structure
CS490 Windows Internals Quiz 2 09/27/2013.
Virtualization overview
Running other code under LINUX
CIT 480: Securing Computer Systems
OS Virtualization.
Lecture Topics: 11/1 General Operating System Concepts Processes
Multithreaded Programming
Windows Virtual PC / Hyper-V
Computer Security: Art and Science, 2nd Edition
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Outline Operating System Organization Operating System Examples
CSE 451: Operating Systems Autumn Module 24 Virtual Machine Monitors
Operating System By Prakash G Asnani
Presentation transcript:

Cooperative Linux… “A treaty between two OS giants” Presented by: Rakesh kumar (usn: 4BD07CS084 )

Content Why CoLinux? IntroductionHistory Design Overviews Tools Available Uses Current Status Planned Features DisadvantagesConclusionReferences

What is CoLinux? Cooperative Linux, abbrevaited as colinux,is a software which allows microsoft windows and linux kernel to run simultaneosly in parllel on the same mechine. 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.

How Colinux work?   Unlike in other Linux virtualisation solution such as user mode linux, special driver software on the host operating system is used to execute the coLinux kernel in a privileged mode (known as ring 0 or supervisor mode).   By constant switching the mechine’s state between the host OS state and and the coLinux kernel state, coLinux is given full control of the physical machine's MMU (i.e, paging and protection) in its own specially allocated address space, achieving almost the same performance and functionality that can be expected from a regular Linux which could have ran on the same machine standalone.

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. Other developers have since contributed various patches and additions to the software.

Uses Relatively effortless migration path from Windows.  In the process of switching to another OS using a virtualization software where co-linux comes in.it is already used in workplace to convert windows user to Linux. Adding Windows machines to Linux clusters.  The cooperative linux patch is minimal and can be easily combined with others such as MOSIX patches that add clustering capabilities to the kernel. Using Linux as a Windows firewall on the same machine.  Cooperative linux system serve as a network firewall. Linux kernel development, debugging, research and study on another operating systems. Running an otherwise-dual-booted linux system from the other OS. CoLinux can run the graphical applications like Mozila firefox,Openoffice with good performance

Design Overviews Device Driver The device driver port of Cooperative Linux is used for accessing kernel mode. Most of the OS independent code Interfaces with OS dependent primitives Like 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.

Design Overviews (cont...) Pseudo Physical RAM All the memory which CoLinux considers as physical in the allocated set is called Pseudo Physical RAM (PPRAM). The memory is allocated in host OS using the appropiate kernel function like alloc_page() in lunux and windows. Allocated pages are always resident and not freed until the VM is downed. Allocated pages are always resident and not freed until the VM is downed. Page tables are 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.

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. In Cooperative linux the problem is solved by Using an intermediate address space during switching

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

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.

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

The interaction between tools   The coLinux window itself, the open source editor PN and a TFTP server TFTP can be used together in such a way that the developer will practically never have to leave the familiar Windows XP environment of the development PC   C/C++ source code is edited in Windows using the PN editor. This Windows application organizes the source code files into projects. All source code is saved in the directory c:\colinux, or a subdirectory within c:\colinux. A script file (build script) is run in the coLinux window to compile the entire project.

Interaction between tools (contd..)   The following is an example of such a build script: #!/bin/sh cp /windows/root/ngsmtp1.c ngsmtp1.c make all mv /tftpboot/ngsmtp1 /windows/root/ngsmtp1 mv ngsmtp1.c ngsmtp1.bak rm ngsmtp1.gdb   The second line of the build script copies C source code with the name ngsmtp1.c from c:\colinux\root (/windows/root in coLinux) to the coLinux directory, in which the build script was launched.

Interaction between tools (cont..) The interaction between development tools

Current Features Version: 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:

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.

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.

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. As user friendliness of the Windows port will improve, the exposure that Linux gets by the average computer user can increase tremendously.

References Web references: Book references: Donald E. Knuth. The Art of Computer Programming, volume 1.

Thank You!