1. What is Open Source
o editable, adaptive, redistributable, can be improved
o No body owns it, everybody can use..
o Anybody can improve it
In quality
In quantity (functionality)
Can become something which was intended by developer because of code
growth
o Lots of companies involved e.g. Google, amazon, IBM
Evolution of Linux OS
o Started as an experiment by Linus Torvalds in 1991
o 92 -94 growth of desktop founders
o 95-99 arrival of gnome and KDE
o 00-05 birth of live distros
o 06-12 Linux everywhere
o Nowadays focus is on stabilization
Advantages of Linux
o Cost effective
o Small and compact kernel
o Powerful and scalable
o Secure and versatile
o Runs on low end and inexpensive hardware platforms
o Customizable
o Developers are excellent programmers
o Highly compatible with many operating systems
o Well supported worldwide, geographical advantage
o Vanilla kernel freely available at http://www.kernel.org/
o Low operational cost, use channels like Internet Relay chat, malls for communication
User Interface
o Linux for nerds
Everything available for a programmer
o Linux for non-experienced users
Linux distributions from SuSE/Mandrain/Redhat/Ubuntu
Nice GUI
Graphic log in
Linux Kernel Architecture
o It’s a monolithic kernel (all basic services included)
o Layered into a number of subsystems (network, processor, memory etc.)
o Divided in user level and kernel level for security reasons
o User applications (they don’t have direct contact with kernel , run on virtual kernel and
contact via library)
2. o
Glibc
Provides the system call interface that connects to the kernel
o Kernel runs on the single address space
o Architecture code..
Various subsystems
o SCI: function calls from user space to kernel (system call interface)
Once a call is made it comes from user application and processes in linux
o PM: focused on the execution
For eg. They want to access memory, so linux analyzes the permissions of
various processes, i.e. helps in organizing the processes.
o VFS: provides common interface abstraction for file system (virtual file system)
Take cares of distribution of data
o MM: manages physical memory among processes (memory management)
Take cares of mapping the architecture
o DD: device drivers for hardware devices
Helps in adapting Linux to the machine
o Arch: architecture dependent code
Virtualization
o Hardware, network, application etc.
o Fault isolation (sandbox)
KVM – virtualization driver
o Small kernel driver that adds virtualization support on multiple architecture
Components:
o KVM hypervisor (enables running of guest binary code)
o Virtual machine monitor (provides pseudo hardware environment to guest virtual
machine which stimulates the real hardware (QEMU)
o Management layer (manages common actions…start stop etc)
Linux and KVM availability
o Full linux including virtualization (red hat, SUSE, canonical Ubuntu)
o Standalone hypervisor (optimized, stripped down)
o Vanilla linux kernel
How to manage KVM VMs on fedora
o Virt-manager/ virsh
o For command line virsh list –all (gives info about virtual machines)
More Info @
o KVM : http://www.linux-kvm.org
o QEMU: http://wiki.qemu.org
o Libvirt: http://libvirt.org/
****************************************************************************