You are on page 1of 24

Case Study on Linux OS

2013

Submitted By: Elton Gonsalves Roll no: 33 Class: FY BSc (IT)-A

Submitted To: Miss Zueina Rodrigues Subject: Fundamentals of Digital Computing

Index
Literature Review Linux Milestone Introduction Open Source Linux Linux Operating System Virtual Memory, Linux Today Features of Linux Why use or recommend Linux? System Requirements for Linux User Interface Desktop Programming on Linux Linux Performance Linux Software Servers, Mainframes and Supercomputers Embedded Devices Conclusion References 3 4 5 6 7 9 10 11 13 14 15 17 18 19 21 22 23 24

Literature Review
Linux as a Case Study: Its Extracted Software Architecture
Ivan T. Bowman and Richard C. Holt Dept. of Computer Science University of Waterloo Waterloo, Ontario N2L 3Gl CANADA +1(519) 888-4567 x4671 {itbowman,holt}@plg.uwaterloo.cd Neil V. Brewster Dept. of Electrical and Computer Engineering University of Toronto Toronto, Onttiio M5S lA4 CANADA +1 (416) 978-5036 brewste@cs.toronto.edu

ABSTRACT
Many software systems do not have documented system architecture. These are often large, complex systems that are difficult to understand and maintain. One approach to recovering the understanding of a system is to extract architectural documentation from the system implementation. To evaluate the effectiveness of this approach, we extracted architectural documentation from the LinuxTM kernel. The Linux kernel is a good candidate for a case study because it is a large (800 KLOC) system that is in widespread use and it is representative of many existing systems. Our study resulted in documentation that is useful for understanding the Linux system structure. Also, we learned several useful lessons about extracting a systems architecture.

Linux Milestone

Introduction
Linux is an operating system that evolved from a kernel created by Linus Torvalds when he was a student at the University of Helsinki. To say that Linux is an operating system means that it's meant to be used as an alternative to other operating systems, Windows, Mac OS, MS-DOS, Solaris and others. Linux is not a program like a word processor and is not a set of programs like an office suite. Linux is an interface between computer/server hardware, and the programs which run on it. As an open operating system, Linux is developed collaboratively, meaning no company is solely responsible for its development or ongoing support. Linux is rooted in the community of software developers dedicated to producing a quality operating system. The human readable instructions that realize the Linux operating system are freely available. These instructions are collectively called source code. This makes Linux an open source operating system. Linux is licensed under the GNU General Public Licenses (GPL). This ensures that the source code will always be freely available to anyone wants it. Due to this, Linux rapidly accumulated developers and users who adapted code from other free software projects for use with the new operating system. Any person, with some programming knowledge, can build their own customized Linux system. There are also many distributions available to download on the internet. Few examples are Ubuntu, Linux Mint, Arch-Linux and more. Best part of Linux is that it is free to use, and it always will be. These days, Linux is vastly used by many companies for web hosting/servers. Google itself totally uses Linux for their servers. This is because Server versions of Windows can cost, depending on the specific edition, several thousand dollars per copy. Linux also offers excellent compatibility with various different architectures that makes it an ideal choice for servers. Linux has proven to be a tremendously stable and versatile operating system as a network server. When Linux is deployed as a web server or in corporate networks, its down-time is almost negligible. There have been cases when Linux servers have been running for more than a year without re-booting and then only taken down for a brief period for routine maintenance. Its cost effectiveness has sold it more than anything else. The focal point of any operating system is its 'kernel'. The Linux kernel in a Linux OS is what tells the CPU of your computer to do what you want the program that you're using to do. Without a kernel, an operating system doesn't exist. Without programs, a kernel is useless. The Linux kernel has received contributions from thousands of programmers. All Linux distributions released have been based upon the Linux kernel.

Open Source Linux


Because the specifications of the Internet was publicly available, the Internet is one of the most successful open source, open protocol projects. It is the success of the Internet that makes it possible in 1991 for Linus Torvalds a college student to use the Internet in a collaborative fashion to develop and release the kernel of the Linux operating system. At the University of Helsinki Torvalds was running the Unix-like operating system Minix on his 386 computer. Minix was written from scratch by Andrew S. Tanenbaum, a Dutch professor who wanted to teach his students the inner workings of a real operating system. It was designed to run on the Intel 8086 microprocessors that had flooded the world market. Unhappy with some of the limitations of Minix and fueled by the desire to explore low level hardware programming Torvalds began to develop his own operating system. Richard Stallman and the free software foundation also began work on an alternative operating system in the mid-1980s. In 1990 they had develop functional alternatives to every major UNIX component except for the kernel. The combined work of Torvalds and Stallman became the Linux we know today. The Linux is a clone of the UNIX operating system and does not contain any proprietary UNIX code. Since the Internet was mostly created and implemented on UNIX-based computers many of the products and software components available on the UNIX are also used in Linux. Linux models the UNIX operating system in many respects. It strives to be POSIX compliant, the open standard used to maintain compatibility with various versions of UNIX. It was therefore easy to port TCP/IP over to Linux making this operating system very Internet friendly. Torvalds and Stallman made the source code of the operating system freely available over the Internet so other programmers can collaborate, modify and improve the program. Since all the Internet protocols are supported the Internet community quickly embraced and developed Linux into an Internet aware operating system. Linux has an official mascot, the Linux Penguin, which was selected by Linus Torvalds to represent the image he associates with the operating system he created.

Linus Torvalds

Tux the penguin, mascot of Linux

The Linux operating system


Operating system is a generic term that is used to describe several families of systems. In a single task system only one program may be run at a time, and therefore only one person may work on the machine at one time. However, the process may use the whole of the resources and power of the computer unit. In multi-task systems several processes can be executed in parallel. Operating time is cut into small intervals and each process is executed during these short periods. In order to have efficient execution of these processes complex prioritization and scheduling algorithms are used to ensure optimum sharing between the processes. The system may be multi-user as well as multiprocessor. Linux is a member for large family of UNIX like operating system. The Linux operating system is composed of the operating system kernel and a base set of utilities and scripts. The kernel is the heart of the operating system and is responsible for managing the system hardware. The base set of system programs, utilities, and scripts helps the kernel perform its task and provide basic user functionality. With the standard kernel model the entire kernel and the base set of programs are loaded into memory when the computer boots.

Multitasking operation
Linux is a clone of UNIX therefore most of the features of UNIX are available to the user. Linux is preemptive, multitasking so it is capable of running a large number of simultaneous applications at the same time. Please see Figure A. So programs A, B and C can all the running the same time. On a single CPU system multitasking that creates the appearance of simultaneous activity by switching rapidly between tasks as the demands for those processes dictate. This is in contrast to cooperative multitasking operating systems, such as Windows 3.1. With a cooperative multitasking operating system, each application is responsible to yield processor time. So if an application never yields, of applications will not receive any processor time. Linux also support computers with multiple processors, such as dual Pentium III systems. The systems can in fact perform two actions at exactly the same time. Combination of multitasking with multiple processors greatly increased the number of simultaneous applications of computer can run smoothly.

Figure A

Multi-user operation
Linux is also a multi-user operating system. Linux allows multiple simultaneous users to be loved on the one machine and to utilize its services. The great advantage of this is that Linux can be deployed as an application server. Desktop users or terminals can log onto a Linux server across a local area network and run applications on the server instead of their desktop PC.

Virtual memory, Linux Today


Linux divides its physical RAM (random access memory) into chunks of memory called pages. Swapping is the process whereby a page of memory is copied to the preconfigured space on the hard disk, called swap space, to free up that page of memory. The combined size of the physical memory and the swap space is the amount of virtual memory available. Swapping is necessary for two important reasons. First, when the system requires more memory than is physically available, the kernel swaps out less used pages and gives memory to the current application (process) that needs the memory immediately. Second, a significant number of the pages used by an application during its startup phase may only be used for initialization and then never used again. The system can swap out those pages and free the memory for other applications or even for the disk cache. However, swapping does have a downside. Compared to memory, disks are very slow. Memory speeds can be measured in nanoseconds, while disks are measured in milliseconds, so accessing the disk can be tens of thousands times slower than accessing physical memory. The more swapping that occurs, the slower your system will be. Sometimes excessive swapping or thrashing occurs where a page is swapped out and then very soon swapped in and then swapped out again and so on. In such situations the system is struggling to find free memory and keep applications running at the same time. In this case only adding more RAM will help. Linux has two forms of swap space: the swap partition and the swap file. The swap partition is an independent section of the hard disk used solely for swapping; no other files can reside there. The swap file is a special file in the file system that resides amongst your system and data files.

Linux Today:
UNIX and its clones have a history of being very difficult to learn, install and support. However the latest versions overcome these obstacles making it very user-friendly. Linux has all the features found in today's modern operating system. Linux is very stable and seldom crashes or locks up. The architecture of Linux is such that a normal user application cannot corrupt the system. Linux is fast and manages system resources very efficiently. Linux users can measures uninterrupted run time of their computers in months or even years. Linux runs on almost every major computing platform in existence including Intel, Macintosh, PowerPC, Amiga, Atari, Sun Sparc, DEC Alpha, ARM, and others. While Linux is being scaled up to support high-end servers with extended symmetric multiprocessing demand, it is also being scaled down to the embedded system level. There are versions of Linux that runs on PDAs and also supercomputers.

Features of Linux

Multitasking: several programs running at the same time. Multi-user: several users on the same machine at the same time (and no two-user licenses!). Multiplatform: runs on many different CPUs, not just Intel. Multiprocessor: SMP support is available on the Intel and SPARC platforms (with work currently in progress on other platforms), and Linux is used in several loosely-coupled MP applications, including Beowulf systems and the Fujitsu AP1000+ SPARC-based supercomputer. Multithreading: has native kernel support for multiple independent threads of control within a single process memory space. Has memory protection between processes, so that one program can't bring the whole system down. Demand loads executables: Linux only reads from disk those parts of a program that are actually used. Virtual memory using paging (not swapping whole processes) to disk: allowing you to use more memory than is physically available in your computer. A unified memory pool for user programs and disk cache, so that all free memory can be used for caching, and the cache can be reduced when running large programs. Dynamically linked shared libraries (DLLs) and static libraries too, of course. Mostly compatible with POSIX, System V, and BSD at the source level. Through an iBCS2-compliant emulation module, mostly compatible with SCO, SVR3, and SVR4 at the binary level. All source code is available, including the whole kernel and all drivers, the development tools and all user programs; also, all of it is freely distributable. Plenty of commercial programs are being provided for Linux without source, but everything that has been free, including the entire base operating system, is still free. 387-emulation in the kernel so that programs don't need to do their own math emulation. Every computer running Linux appears to have a math coprocessor. Of course, if your computer already contains an FPU, it will be used instead of the emulation, and you can even compile your own kernel with math emulation removed, for a small memory gain. Support for many national or customized keyboards, and it is fairly easy to add new ones dynamically. Multiple virtual consoles: several independent login sessions through the console, you switch by pressing a hot-key combination (not dependent on video hardware). These are dynamically allocated; you can use up to 64. Supports a large number of file-systems including: o Minix o HFS (Macintosh) o ISO 9660 (CDROM) with rockridge and/or Joliet extensions o MS-DOS FAT and VFAT o UFS (Berkeley Fast File System) o Amiga FFS o Read-only HPFS (OS/2) TCP/IP networking, including ftp, telnet, NFS, etc.

10

Why use or recommend Linux?


Even though Linux is growing in popularity every day, one question remains in the mind of many people, why if Linux is more powerful and less expensive than Windows not every company is using it. Well, the fact is that a lot of companies are using it and a lot more are thinking about switching to Linux in the near future. 1. Linux is cheaper (even available for free). Server versions of Windows can cost, depending on the specific edition, several thousand dollars per copy. With hundreds of servers, this is not a small investment. 2. Windows does not support the multitude of architectures that Linux does. Using Linux, Google can easily migrate to or utilize ultra-powerful systems from IBM or Sun. 3. Linux can be easily implemented in non-traditional systems, such as those with thousands of processors or with several terabytes of RAM. Windows HPC 2008 is very expensive to license for such an application and has not been as well tested in this area.

Linux's new customers:


Air New Zealand Deutsche Telekom 7-Eleven Wolframs Westport River Winery Satellite Records The Jet Propulsion Laboratory (JPL)

Why use Linux?


Here are 10 reasons why Linux could be the best operating system for you:

A Linux Distribution has thousands of dollars worth of software for no cost (or a couple of dollars if purchased on CD/DVD) Linux is a complete operating system that is: stable - the crash of an application is much less likely to bring down the operating system under Linux reliable - Linux servers are often up for hundreds of days compared with the regular reboots required with a Windows system extremely powerful Comes with a complete development environment, including C, C++, Fortran compilers, toolkits such as Qt and scripting languages such as Perl, Awk and sed. A C compiler for Windows alone would set you back hundreds of dollars. 11

Excellent networking facilities: allowing you to share CPUs, share modems etc; all of which are not included or available with Windows 95. The ideal environment to run servers such as a web server (e.g. Apache), or an FTP server. A wide variety of commercial software is available if your needs aren't satisfied by the free software. An operating system that is easily upgradeable. After any length of time a typical installation of Windows and software gets into a complete mess. Often the only way to clear out all the debris is to reformat the hard disk and start again. Linux, however, is much better for maintaining the system. Supports multiple processors as standard. True multi-tasking; the ability to run more than one program at the same time. An excellent window system called X; the equivalent of Windows but much more flexible.

12

System Requirements for Linux


General Requirements:
These requirements are common to all platforms: A working network card and internet connection is recommended during installation. At least 1 GB memory, but 4 GB per processor core or more is recommended. 1-5 GB of disk space, depending on your licensed products and installation options. Adobe Acrobat Reader 9.0 or later to view and print the COMSOL documentation in PDF format

Floating Network Licenses


Floating network licenses are supported on heterogeneous networks of Windows, Linux, and Mac computers. Both the license manager and the COMSOL application can run on either Windows, Linux, or Mac, and a single computer can run both of them.

COMSOL Multi-physics System Requirements for Linux:


System Requirements for 32-bit Linux
GNU C Library version 2.3.6 or later Linux kernel 2.6.18 or later Intel Pentium IV or AMD Athlon XP processor or later.

System Requirements for 64-bit Linux


GNU C Library version 2.3.6 or later Linux kernel 2.6.18 or later A PC with one of these processors: AMD with AMD64 or Intel with EM64T.

13

User Interface
The user interface, also known as the shell, is either a command-line interface (CLI), a graphical user interface (GUI), or through controls attached to the associated hardware, which is common for embedded systems. For desktop systems, the default mode is usually a graphical user interface, although the CLI is available through terminal emulator windows or on a separate virtual console. Most low-level Linux components, including the GNU userland, use the CLI exclusively. The CLI is particularly suited for automation of repetitive or delayed tasks, and provides very simple inter-process communication. On desktop systems, the most popular user interfaces are the extensive desktop environments KDE Plasma Desktop, GNOME, Cinnamon, Unity and Xfce, though a variety of additional user interfaces exist. Most popular user interfaces are based on the X Window System, often simply called "X". It provides network transparency and permits a graphical application running on one system to be displayed on another where a user may interact with the application. Other GUIs may be classified as simple X window managers, such as FVWM, Enlightenment, and Window Maker, which provide a minimalist functionality with respect to the desktop environments. A window manager provides a means to control the placement and appearance of individual application windows, and interacts with the X Window System. The desktop environments include window managers as part of their standard installations (Mutter for GNOME, KWin for KDE, Xfwm for Xfce as of January 2012) although users may choose to use a different window manager if preferred.

14

Desktop
The popularity of Linux on standard desktop computers and laptops has been increasing over the years. Currently most distributions include a graphical user environment, with the two most popular environments being GNOME (which can utilize additional shells such as the default GNOME Shell and Ubuntu Unity), and the KDE Plasma Desktop. The performance of Linux on the desktop has been a controversial topic; for example in 2007 Con Kolivas accused the Linux community of favoring performance on servers. He quit Linux kernel development because he was frustrated with this lack of focus on the desktop, and then gave a "tell all" interview on the topic. Since then a significant amount of development has been undertaken in an effort to improve the desktop experience. Projects such as Upstart and systemd aim for a faster boot time. Many popular applications are available for a wide variety of operating systems. For example Mozilla Firefox, OpenOffice.org/LibreOffice and Blender have downloadable versions for all major operating systems. Furthermore, some applications were initially developed for Linux, such as Pidgin, and GIMP, and were ported to other operating systems including Windows and Mac OS X due to their popularity. In addition, a growing number of proprietary desktop applications are also supported on Linux; see List of proprietary software for Linux. In the field of animation and visual effects, most high end software, such as Autodesk Maya, Softimage XSI and Apple Shake, is available for Linux, Windows and/or Mac OS X. There are also several companies that have ported their own or other companies' games to Linux, with Linux also being a supported platform on both the popular Steam and Desura digital distribution services. Many other types of applications available for Microsoft Windows and Mac OS X are also available for Linux. Commonly, either a free software application will exist which does the functions of an application found on another operating system, or that application will have a version that works on Linux, such as with Skype and some video games. Furthermore, the Wine project provides a Windows compatibility layer to run unmodified Windows applications on Linux. CrossOver is a proprietary solution based on the open source Wine project that supports running Windows versions of Microsoft Office, Intuit applications such as Quicken and QuickBooks, Adobe Photoshop versions through CS2, and many popular games such as World of Warcraft and Team Fortress 2. In other cases, where there is no Linux port of some software in areas such as desktop publishing and professional audio, there is equivalent software available on Linux. The collaborative nature of free software development allows distributed teams to perform language localization of some Linux distributions for use in locales where localizing proprietary systems would not be cost-effective. For example the Sinhalese language version of the Knoppix distribution was available significantly before Microsoft Windows XP was translated to Sinhalese. In this case the Lanka Linux User Group played a major part in developing the localized system by combining the knowledge of university professors, linguists, and local developers.

15

Installing, updating and removing software in Linux is typically done through the use of package managers such as the Synaptic Package Manager, PackageKit, and Yum Extender. While most major Linux distributions have extensive repositories, often containing tens of thousands of packages, not all the software that can run on Linux is available from the official repositories. Alternatively, users can install packages from unofficial repositories, download pre-compiled packages directly from websites, or compile the source code by themselves. All these methods come with different degrees of difficulty; compiling the source code is in general considered a challenging process for new Linux users, but it is hardly needed in modern distributions and is not a method specific to Linux.

Sample Graphical User Environments:

Linux Mint 14 Cinnamon Desktop Environment

Ubuntu 13.04 Desktop

16

Programming on Linux
Most Linux distributions support dozens of programming languages. The original development tools used for building both Linux applications and operating system programs are found within the GNU toolchain, which includes the GNU Compiler Collection (GCC) and the GNU build system. Amongst others, GCC provides compilers for Ada, C, C++, Java, and Fortran. First released in 2003, the Low Level Virtual Machine project provides an alternative open-source compiler for many languages. Proprietary compilers for Linux include the Intel C++ Compiler, Sun Studio, and IBM XL C/C++ Compiler. BASIC in the form of Visual Basic is supported in such forms as Gambas, FreeBASIC, and XBasic, and in terms of terminal programming or QuickBASIC or Turbo BASIC programming in the form of QB64. A common feature of Unix-like systems, Linux includes traditional specific-purpose programming languages targeted at scripting, text processing and system configuration and management in general. Linux distributions support shell scripts, awk, sed and make. Many programs also have an embedded programming language to support configuring or programming themselves. For example, regular expressions are supported in programs like grep, or locate, while advanced text editors, like GNU Emacs have a complete Lisp interpreter built-in. Most distributions also include support for PHP, Perl, Ruby, Python and other dynamic languages. While not as common, Linux also supports C# (via Mono), Vala, and Scheme. A number of Java Virtual Machines and development kits run on Linux, including the original Sun Microsystems JVM (HotSpot), and IBM's J2SE RE, as well as many open-source projects like Kaffe and JikesRVM. GNOME and KDE are popular desktop environments and provide a framework for developing applications. These projects are based on the GTK+ and Qt widget toolkits, respectively, which can also be used independently of the larger framework. Both support a wide variety of languages. There are a number of Integrated development environments available including Anjuta, Code::Blocks, CodeLite, Eclipse, Geany, ActiveState Komodo, KDevelop, Lazarus, MonoDevelop, NetBeans, and Qt Creator, while the long-established editors Vim, nano and Emacs remain popular.

17

Linux Performance
Key factors that users consider when choosing an operating system is features and performance. One of the great things about Linux is that it offers great performance. This table compares certain features and performance characteristics of Linux with those of Microsoft Windows NT 4.0 and Sun Microsystems Solaris 2.6. All of these operating systems can be run on an Intel-architecture PC. When compared to these operating systems, Linux turns out to be the best. It runs on a wider range of hardware platforms and runs on less expensive and powerful systems. Also, the typical downtime of a Linux system is less that of a Windows NT system and its performance is better than that of a Solaris system. Linux also exceeds the other operating systems in its multi-processing capabilities and its support of advanced TCP/IP networking facilities. As a whole, Linux users are more satisfied than Windows NT users and Solaris users.

Characteristic Range of compatible hardware Minimal hardware Representative Cost of hardware

Linux

Windows NT

Solaris

Very Wide 386 PC

Modest 486 PC

Narrow Pentium

$200

$1,300 As low as 30 min./week Comparable to Linux

$1,600

Average downtime

Very low

Very low Half of Linux to same as Linux

Performance Multi-processing capabilities IP Security (IPSec)

High

Excellent Yes

Modest Planned Privately demonstrated Lowest

Excellent 1999

IPv6 Overall user satisfaction Source code readily available Installed base

Available Highest

Beta Medium

Yes Millions

No Millions

No Hundreds of thousands

18

Linux Software
Applications:
From household appliance control to World Wide Web tools, Linux has a lot to offer. One accomplishment, which the free software community is particularly fond of, is the GIMP, the GNU Image Manipulation Program, similar to Photoshop but highly extensible, completely free and guaranteed to stay that way. Linux has audio applications galore from players and recorders to mod trackers, drum machines, synthesizers, and synthesis languages. Linux can also be used for ham radio and video applications.

Development Software:
Nearly all development software for LINUX is free and covered under the GNU public License, which guarantees that it will always remain free. Linux systems come standard with C and C++ compilers and an assembler, APL, BASIC, Dylan, Eiffel, Euler, Forth, FORTRAN, GOMscript, INTERCAL, Logo, LISP, Mercury, Modula, Oberon, Objective C, Pascal, Prolog, Perl, Python, Rexx, Sather, SIMULA, and Tcl/Tk. Moreover, the source code available for nearly any Linux program is freely available. This phenomenon is called Open source, in which not only the bugs are discovered and corrected almost immediately, but also development of software proceeds at a much faster pace than one finds even at extremely successful commercial software houses. Programmers also have a choice between using gcc and egcs, the GNU C Compiler and the Experiment GNU Compiler System, the latter of which has become quite popular due to its features, flexibility and functionality. Linux is a platform for programmers.

Games:
Linux has tons of games-the Linux Game Tome lists over 400 entries. Linux games have a charm all their own, though developers have recently turned their attention to producing slick, commercial 3-D games. Free Linux games, however, are often of very high quality and most entertaining. As many Linux programmers come from other platforms, there are many ports and recreations of classic computer games. Fans of traditional board game such as CHESS and GO will find excellent interfaces for playing on-line, and even strong computer opponents. Emulation, combined with the speed of modern hardware, makes available literally thousands of computer games, from early games on home computers like the COMMODORE 64 and AMIGA to coin-operated arcades.

Scientific Software:
UNIX was originally used by scientists and is often their preferred OS, so there is a wealth of scientific software available for Linux, including TeX and LaTeX scientific typesetting packages. There are scientific applications for astronomy, biology, cartography, chemistry, laboratory work, mathematics, graphics, and visualization, among others. In conjunction with the numerous scientific and mathematical languages available, Linux is quite at home in scientific applications and is often used to laboratories.

19

System Software:
Since Linux is based on UNIX and very much compatible with it, there is also an abundance of system software for Linux. System software includes things from daemons (programs that run in the background) to networking to file systems, hardware support, emulation, benchmark testing and generic file utilities. Linux supports parallel processing (which is why it is often used to make supercomputers) and RAID (Redundant Array of Independent Disks), and has resources for managing all sorts of hardware issues which would not usually come up for mainframe and supercomputers, including power management, multi-user/multi-group systems administration, backup, and system diagnostics. Linux also have software RAID implemented in operating system, this however means more overhead for the CPU.

Utilities:
Utilities are used for things such as disk and file manipulation, terminal customization, compression, archiving, scripting and other small but important things that keep a home computer running at its best. Linux has command-line and even graphic interfaces for all sorts of disk and file operations, from converting sound and audio formats to compressing, archiving, and encrypting files.

20

Servers, Mainframes and Supercomputers


Linux distributions have long been used as server operating systems, and have risen to prominence in that area; Netcraft reported in September 2006 that eight of the ten most reliable internet hosting companies ran Linux distributions on their web servers. Since June 2008, Linux distributions represented five of the top ten, FreeBSD three of ten, and Microsoft two of ten; since February 2010, Linux distributions represented six of the top ten, FreeBSD two of ten, and Microsoft one of ten. Linux distributions are the cornerstone of the LAMP server-software combination (Linux, Apache, MariaDB/MySQL, Perl/PHP/Python) which has achieved popularity among developers, and which is one of the more common platforms for website hosting. Linux distributions have become increasingly popular on mainframes in the last decade partly due to pricing and the open-source model. In December 2009, computer giant IBM reported that it would predominantly market and sell mainframe-based Enterprise Linux Server. Linux distributions are also commonly used as operating systems for supercomputers: since November 2010, out of the top 500 systems, 459 (91.8%) run a Linux distribution. Linux was also selected as the operating system for the world's most powerful supercomputer, IBM's Sequoia which became operational in 2011.

The LAMP software bundle. A high performance and high-availability solution for a hostile environment

21

Embedded Devices
Due to its low cost and ease of customization, Linux is often used in embedded systems. In the mobile sub-sector of the Telecommunications equipment sector there are three major platforms based on a more or less modified version of the Linux kernel: mer, Tizen and Android. Android has become the dominant mobile operating system for smartphones, during the second quarter of 2013, 79.3% of smartphones sold worldwide used Android. Cell phones and PDAs running Linux on opensource platforms became more common from 2007; examples include the Nokia N810, Openmoko's Neo1973, and the Motorola ROKR E8. Continuing the trend, Palm (later acquired by HP) produced a new Linux-derived operating system, webOS, which is built into its new line of Palm Pre smartphones. In the non-mobile telecommunications equipment sector, the majority of Customer-premises equipment-hardware runs some Linux-based operating system. OpenWrt is a community driven example upon which many of the OEM firmwares are based. The popular TiVo digital video recorder also uses a customized Linux, as do several network firewalls and routers from such makers as Cisco/Linksys. The Korg OASYS, the Korg KRONOS, the Yamaha Motif XS/Motif XF music workstations, Yamaha S90XS/S70XS, Yamaha MOX6/MOX8 synthesizers, Yamaha Motif-Rack XS tone generator module, and Roland RD-700GX digital piano also run Linux. Linux is also used in stage lighting control systems, such as the WholeHogIII console.

The Nexus 4 running Android

Nokia N900 has the Linux based Maemo 5 OS

22

Conclusion
Linux has a very bright future; many companies are choosing Linux to power their workstations and servers. Many companies are also replacing currently install UNIX and Windows machines with Linux boxes. Linux is a very stable multitasking multi-user operating system. Linux is constantly in the news, whether that is computer-related or business related. Many companies are using Linux as file servers, print servers, Web and application servers, and workstations. Linux is a scalable operating system; it can serve up an office with two personal computers or accommodate a Fortune 100 company with thousands of personal computers. You can now purchase new computer systems preinstalled with Linux, you can also purchase technical support as part of the package. Linux continues to evolve, with new kernel releases coming out regularly. Linux being free to use, has an extremely wide scope. It is being used in almost many gadgets we buy these days. The smartphones are a great example. Android which is based off Linux is found in smartphones. Some Smart TVs also use Linux these days. Upcoming gadgets like Smart Watches, Google Glass, Gaming consoles like Ouya and more, will be using Linux as their core operating system. Linux is also a developers favorite choice. Since Linux provides great environment and support for program development, it is chosen by many developers around the world. Not much can be done on a simple Windows operating system. Linux provides excellent tools like the tool-chains for compiling Linux kernels, which enable users to add custom features. Apps for Android OS are also built using Linux OS since it provides the needed SDK, tools and features which are not fully supported on other operating systems. Also, people always used to complain about Linux's lack of games. In the next few years they may start complaining about Windows' lack of games. Valve, maker of the popular Steam gaming platform, has announced that since "Windows 8 is a "catastrophe" for PCs, they're moving their games to Linux. Their long-term plan is to make a Linux-powered PC/game device to compete with Xbox 360 and the Sony PlayStation 3. Add in the simple fact that the old PC is no longer the heart of computing and what you end up with is a world where the most popular end-user computing devices aren't running Windows, instead they're running Android. So, without an earth-shattering blast, but quietly and in hundreds of millions of smartphones, tablets, and, increasingly PCs, Linux has already become the top operating system of all.

23

References
Book Galvin operating system edition 7th Why use Linux instead of windows http://wiki.answers.com/Q/Why_does_Google_use_Linux_instead_of_Windows http://anuragbansal.wordpress.com/2008/04/07/25-reasons-to-use-ubuntu-instead-of-windows/ Image http://www.google.co.in/search?hl=en&q=linux&bav=on.2,or.r_qf.&bvm=bv.43287494,d.bmk&biw=128 0&bih=619&um=1&ie=UTF-8&tbm=isch&source=og&sa=N&tab=wi&ei=PgBCUdXTJdGtrAeQu4CwBQ What is Linux? http://www.linuxjournal.com/modules.php?op=modload&name=FAQ&file=index&myfaq=yes&id_cat=2 System Requirement http://www.comsol.co.in/products/requirements/linux/ Other link http://www.linuxbase.org/ http://en.wikipedia.org/wiki/Linux http://www.linux.com/news/software/applications/8208-all-about-linux-swap-space http://www-3.ibm.com/software/is/mp/linux/software/http://www916.ibm.com/press/prnews.nsf/jan/8450F8A7BCC7E2F985256C0F006BEB60 http://www-3.ibm.com/cgibin/software/track3.cgi?file=/software/is/mp/linux/software/news.shtml&S_TACT=__S_TACT__&S_CM P=__S_CMP__

24