You are on page 1of 14

INTRODUCTION TO LINUX

What is Linux?
Linux is an operating system. The easiest way to understand an operating system is to look at other popular operating systems including Microsoft Windows and Windows NT, Apple Mac/S, and Sun Microsystems UNIX. An operating system is the 'guts' of any computer or microprocessor. It tells a computer how to do basic tasks such as 'save' or 'share files', 'print documents', 'add users to a network', 'receive input from a keyboard', 'display information on a monitor' and numerous other tasks. An operating system is the foundation on which useful applications are built to allow individuals and organizations to be more productive. Examples of applications include word processors, personal finance managers, enterprise resource planning packages and countless others. Why is an operating system important? With the proliferation of computers and microprocessors, the operating system market has grown extremely large. All microprocessors require an operating system and there are a lot of microprocessors in the world. Remember, microprocessors include computers and also embedded systems contained in automobiles, cellular phones, elevators, personal digital assistants and millions of other appliances. These microprocessors need operating systems and Linux is turning into a popular choice because its source code can be modified and scaled, and there are no licensing fees for individual installations.

Open Source
Linux was developed in 1991 for an Intel driven platform by a Finnish student named Linus Torvalds. Linux's roots are firmly entrenched in UNIX which is a stable, robust operating system traditionally used by large organizations for enterprise applications and by government and academic institutions. Shortly after developing Linux, Torvalds made an important licensing decision that has rapidly accelerated Linux's acceptance within the developer community. He released Linux under the GNU GPL (Gnu Not Unix General Public License) which gives anyone the ability to access and modifies the source code at no cost and requires that the modifications be released back into the public domain at no cost. This has become known as the open source software development model. Torvalds, along with other prominent members of the open source community, have taken responsibility for vetting thousands of code submissions and testing and accepting the best submissions for inclusion in updates to the Linux operating system.

Security of Linux
There is a misconception that because Linux's source code is open and readily available, Linux is not as secure as a closed-source operating system. Linux is actually no more prone to incursion than a proprietary operating system. If breaches do occur, the open source community develops patches to repair problems quickly. The open source community itself is an important provider of solutions for maintaining security. All major Linux distributors provide updates and patches for their versions of the Linux operating system. In addition, an open source project, Bastille Linux, provides a "hardening script" which attempts to close security holes and make security breaches more difficult. Dedicated security vendors are well suited to enhance security controls. Furthermore, as Linux shipments have increased, large security vendors have begun to develop commercial security products for Linux.

Growth and Acceptance


The rapid growth of Linux -- from a home grown system used by hackers, to a robust operating system being adopted by businesses everywhere -- is nothing short of astonishing. In 1998, worldwide spending on Linux products by the world's top 100 financial institutions was $50 million and is expected to increase to $200 million by 2003. Expanding this estimate to other industrial sectors, this figure ranges in the billions. Modifiable source code and no licensing fees also make Linux extremely attractive to developing countries. One major distribution, TurboLinux, started in Asia and has since moved into North America. Although it can be somewhat difficult to find information on Linux use in these countries, we have found a few organizations and companies that are involved. In early 1999, an organization called Linux Without Borders was formed to further accessible personal computer use with Linux in developing countries. We were also able to find links to Linux User Groups in approximately 80 countries including many developing nations.

Major reasons for choosing linux Anyone who has pondered the idea of migrating from Windows to Linux knows there are differences between the two operating systems. But just what are those differences? Many people considering this migration might be more apt to make the jump if they know just what the differences are. So I thought it would be a good idea, in the spirit of helping users make the leap, to outline some of the fundamental differences between Linux and Windows. Cost In the current state of the economy, cost is a factor that will drive more and more people away from costly solutions to free solutions. That is one area that Linux cannot be denied. It is free. Linux has been free since its inception. Why is it free? Because it is created by a vast community of developers who do not work for a single company. Linux is not a company. Red Hat is a company and they package a distribution of Linux that has a pricetag, but they are not Linux. The vast majority of the software created for Linux is also free. But does this lack of price tag make Linux (and other open source software) of any less quality? No. In some cases open source software is better than its proprietary counterpart. Back in the late 90s I did a cost comparison of a full Linux installation (at the time it was Red Hat) vs WIndows. To get a Windows-based system running with equivalent software that came with the Red Hat installation would cost the user over $4,000 USD. Freedom I am not talking about freedom as it is applied to the open source metaphor. I am talking about freedom from how a single company thinks your computer should work. With Windows you are locked in to how Microsoft feels the operating system should work. Microsoft thinks a taskbar, a start menu, icons, and a system tray create the best desktop. For some that may be. But for many users it is not the best choice. Myself? I prefer a minimalist desktop without the standard desktop pieces. If I were using Microsoft I would be out of luck (unless I employ a third party, proprietary solution). With Linux you can make your computer do and act exactly how you want. You are only limited to your imagination and your time.

File system Hierarchy First and foremost Linux uses a single hierarchical directory system. Everything in Linux begins in the root directory which is the / and drives will be labeled /dev/sda, /dev/sdb, etc. Windows, on the other hand, uses a multiple hierarchical directory system that depends upon the amount of drives in the system. When Windows boots, each drive will be assigned a letter which serves as a root. So in a Windows system that contains three drives there will be three roots (such as A:, E:, and F:). In a Linux system only one drive will hold the root directory. If other drives are mounted on that same system they will be mounted in /media/. But even if you have multiple drives on a Linux system, you will only have one root directory. The differences certainly do not end there, but for the sake of length, I will move on. Hardware Support This is where things can get a little tricky. Because Microsoft is so embedded in the retail market, most hardware is created with Windows in mind. Because of this it is possible to get, with the right drivers, most hardware to work with Windows. With Linux hardware support is dependent upon the developers being able to either hack together a workable solution or get the hardware maker to work with them and hand over the specs. There are only a few instances where hardware simply wont work with Linux. In these cases it is a matter of hardware vendors not releasing specs. But in general you will find out of the box Linux support to be pretty fantastic. In my case I find modern Linux distributions to be better at detecting hardware than Windows. But if you are one of the unlucky few that has hardware created by a less-than-cooperative vendor, you might have trouble. Google your hardware for Linux support in case you are unsure. Security This is another area that will be hotly debated until the end of the operating system as we know it. Whether driven by market share, hatred, or vulnerability Windows simply has far more weaknesses than Linux. One of the primary differences is the root access metaphor. In order to do any serious damage to the Linux system one has to have access to the root user, which means the root password. Without that password, youre not getting very far. This does not mean there are not exploits to, say, Sendmail or Apache or MySQL. Another major difference is when a vulnerability or a bug is found the development community

of the affected software is typically very fast at plugging the hole. Microsoft has a proven track record of taking far too long to patch similar holes. Multi user, Multi task Operating system Linux is a true mult-iuser, multi-tasking operating system. You can work on a text console (like you did, perhaps, in DOS or on a mainframe or minicomputer) or you can work in a graphical, window-filled environment. I never liked the Windows environment because I'm a command line type of person. But, I stay in the X Window system's GUI almost all the time now. Why? Because I can open multiple terminals and still have all the features and benefits of a command line interface within the window environment. This is equivalent to being able to open multiple DOS windows in win98 and work in them as well as in the GUI windows of your applications. The best of both worlds. Quite often, I use the mouse only to select the window in which I want to type.

Linux is popular in developing countries for a number of reasons: - The operating system can be run on low-cost personal computers. Governments are embracing Linux and encouraging educational institutions and businesses to use the software. -The source code can be modified to suit local needs such as multiple languages. -The Internet allows developing countries to access resources in developed countries that would otherwise not be available to them. -The open source community is actively promoting Linux use in these countries. Linux has also rapidly gained acceptance in the server operating system market because: - Linux source code is available for modification and can be tailored to specific needs. Interestingly, one example of where this makes Linux a popular choice is in areas where older technology dominates (e.g. developing countries) because Linux can be scaled down to run on slower computers.

-There are no licensing fees to use Linux on any number of individual computers or embedded systems. -Linux is an extremely stable operating system that has been adapted to run on most hardware platforms including Intel, Apple Macintosh, SUN Solaris and numerous others. -Linux traces its roots to UNIX and many popular UNIX server applications including Apache, the world's most popular web server application and Sendmail, the world's most popular email server application were ported to Linux in its early days. -The Samba application was released which allows Linux to act as a Windows NTfi/printserver. Many developers are turned off by Microsoft's proprietary source code software model and the perceived inferiority and instability of Microsoft's operating system, applications and developer tools. Some reasons corporate IT departments are choosing Linux include: -Large Support Network - It is estimated that the Linux development community numbers in excess of 15,000 people. -It Gives Developers More Control - The source code is available for developers to repair defective code or add functionality if needed. -High Performance - The Linux kernel is relatively compact compared to other operating systems and it is powerful. Linux has found a place running on compact utility servers such as an Intranet server or a printer server. -Reliability - Linux is a very stable operating system with reports of it running for weeks without any signs of instability. -Low Cost - Linux is relatively inexpensive to install as there are no licensing fees and is therefore a logical choice for small- and medium-sized businesses over a

proprietary system such as Windows or Unix.

It is estimated that Linux now runs on approximately 20% of all servers (60% of Web servers), and it is widely believed that the information technology departments of most large organizations are experimenting with Linux as a viable competitor to Windows NT and UNIX as a server operating system. As well, initial embedded systems development efforts were an extension of Linux's strength on the Web server and appliance servers, ecommerce payment systems and wireless internet devices are a few of the embedded systems that use Linux.

And now, let's talk about Linux distributions. Many flavors of Linux Windows and Mac only have one or two current versions each. Linux is about freedom and choice, so you have plenty of freedom to choose -- and until you have some experience with Linux, it is almost impossible to decide which of the many Linux distributions best fits your needs. All we can do here is give you a basic list and some information based on Linux.com staff members' own experience with different Linux distributions.

Red Hat Enterprise Linux The best-known corporate GNU/Linux distribution. Sold by annual subscription, including well-regarded automatic update utilities. Offers comprehensive feebased support, training, certification, and customization. (www.redhat.com)

Mandrake Linux This was the first Linux distribution that worked hard to make Linux easy for ordinary desktop users. The company that produces it, MandrakeSoft, has had many ups and downs since it was founded in 1998, and some releases have had quality control problems, but Mandrake Linux is now stable and workable for

users at all levels, not just beginners. Freely downloadable version available; commercial versions have pre-integrated sofware packages and are easier for first-timers to set up than the download edition. (www.mandrakelinux.com)

The Fedora Project This is a community-developed, freely downloadable distribution that replaces the old no-charge version of Red Hat Linux but is still sponsored and supported by Red Hat. It is generally targeted more toward hobbyists and experimenters than desktop computer users. (fedora.redhat.com)

The Debian Project Debian is a true free (in both senses of the word) software project. Generally command-line-oriented, but some GUI system tools available. The Debian "apt" package management system is commonly regarded as one of the best, simplest, and most reliable ways to install and uninstall Linux software. Over 10,000 free software packages are available for "apt get" install through the volunteer-maintained Debian servers. (www.debian.org) Knoppix A bootable CD based on Debian that includes a fine collection of free GNU/Linux software, automatic hardware detection, and support for many graphics cards, sound cards, SCSI and USB devices, and other peripherals. Freely downloadable, free updates use Debian servers and "apt-get" to install additional software. An excellent way to test Linux on your computer without having to install it. (www.knoppix.com) SUSE Linux SUSE is a division of enterprise networking leader Novell, Inc., and while there is a downloadable version of SUSE available you must purchase a copy to get all of

SUSE's proprietary system tools and a full selection of pre-integrated software. SUSE places a heavy emphasis on corporate sales, but is excellent for individual users, too. A well-integrated package, suitable for both new and experienced users. (www.suse.com) Slackware Linux One of the oldest continuously-published Linux distributions. Generally aimed at hobbyists and Linux sophisticates, not desktop or corporate users. You will use the command line quite a bit if you run Slackware. (www.slackware.com)

MEPIS Linux A newcomer that, like Knoppix, can be run from your CD drive without installation. Also like Knoppix, it is based on Debian. Where MEPIS shines is its easy, 100% "point and click" installation, and automatic detection of not only "normal" computer hardware but also popular webcams, the latest wireless network cards, "Winmodems" that usually work only with Windows, digital cameras, scanners, and other devices. Freely downloadable, paid registration or subscription updates available but optional. (www.mepis.org)

Xandros An excellent desktop distribution that grew form the old Corel Linux OS. Debianbased, works well, easy to install and upgrade. There's an "Open Circulation" edition available for free download, but if you want all the bells and whistles (and a manual) you'll need to spend close to $100 for the full-featured "Deluxe" edition. Restrictive license limits sharing. (www.xandros.com)

PCLinuxOS

A rather new Live CD distribution initially based on Mandrake Linux but rapidly coming into its own. Installs easily, runs very well, attractive default and utility screens. (www.pclinuxonline.com/pclos)

Gentoo Linux A completely free Linux distribution geared towards developers and network professionals that uses a unique package management system called Portage instead of the more common RPM and DEB systems. (www.gentoo.org) Linspire Features simple, basic installation and easy installation of additional software. Most Linspire software is the same software you find in other Linux distributions with changed names, and it is not obvious how to switch from Linspire's Click-NRun subscription software service to the free Debian servers or other free software sources if you don't want to keep paying Linspire for updates. Great packaging and looks. No free downloads regularly available; restrictive license prohibits sharing outside of immediate family. (www.linspire.com Xandros An excellent desktop distribution that grew form the old Corel Linux OS. Debianbased, works well, easy to install and upgrade. There's an "Open Circulation" edition available for free download, but if you want all the bells and whistles (and a manual) you'll need to spend close to $100 for the full-featured "Deluxe" edition. Restrictive license limits sharing. (www.xandros.com)

Lots of other distributions Distrowatch.com has a huge list of available Linux distributions for all tastes and purposes. No one list of Linux distributions can possibly be complete, because almost anyone can decide to make his or her own Linux distribution, and many

people do. It can all be a bit bewildering until you get used to having this huge cafeteria of software available to you, which again is why we recommend getting advice from a LUG full of experienced users, then beginning your Linux experience with one of the popular distributions that offers professional and/or volunteer support to help you get going.

A Linux distribution contains more than just the operating system. You need more than an operating system to do anything useful with your computer. You need applications. Software that works with or on top of the operating system is what makes Linux useful. Fortunately, distributions package dozens, even hundreds of Linux tools and programs together -- office suites, text editors, games, spreadsheets, PIMs, email programs, graphics applications, scientific programs, documentation, digital camera applications, Web editors and browsers, and others -- so that you can install all of them at once and be assured that they will all work together efficiently without worry or any great effort by you. These are not the same programs you may have used with Windows or Mac, but since almost all of them are free, they are well worth your time to learn. You may be surprised to find that many free Linux programs included in the distribution you choose are better and more stable (less likely to crash) than expensive software you have used with other operating systems. After you have used Linux for a while, you will get used to this -- and once you do, it is very hard to go back to the world of high-priced Windows or Mac software!

As an Operating System
The increased acceptance of Linux as a powerful server operating system has resulted in a number of parallel movements that have enhanced Linux's usability and increased its commercialization. A number of open source projects have been successfully organized that are moving Linux from solely a server operating system to an equally robust desktop operating system. The KDE and GNOME projects have created Graphical User Interfaces for Linux that many believe are more powerful than Windows. The source code for these projects is freely available to anyone. The Netscape Mozilla project released the source code for Netscape's popular browser application, which has been fully ported to Linux. The WINE project has been organized to allow a user to run Windows applications on top of the Linux operating system without having to purchase Windows and has met with some success as most Linux distributions can be run peacefully with Windows on the same hard drive (although Windows is not always cooperative). As well, companies have been building technology to run Windows applications on the Linux operating system without having Windows

installed. WINE, open source collaboration, is a freely distributed program that allows the operation of DOS and Windows programs on UNIX. Wine is not a true emulator, but provides low-level binary compatibility for an OS running on an Intel or compatible platform. Wine allows applications to run based upon the implementation of an application programming interface. The underlying operating system maintains hardware interfaces and Windows itself runs in a protected mode. Similar to Linux itself, Wine is an open source project supported by countless individuals as well as corporations such as Corel and VMware. Corel Corporation's WordPerfect Office Suite is the first commercial application to have been ported using Wine.

In Embedded Systems
Linux is also a logical choice for embedded systems due to its availability, stability and scalability because the source code for the Linux operating system is freely available to any developer and the open-source nature of the operating system allows developers to scale down Linux to meet the needs of a particular chip. For example, a thin client may not need any of the file sharing components of the operating system. With its roots in UNIX, an extremely stable operating system, Linux offers the incredible stability that embedded systems require as they are used in industrial applications. Using embedded systems in conjunction with the Linux operating system, corporations are finding many uses for specialized computing appliances that do not need the broad-based functionality of a traditional server or personal computer.

In Ecommerce
Presently, the majority of ecommerce servers running larger Web sites use Sun's Solaris or Windows NT operating systems. (This does not include generic Web servers where Linux Apache dominates.) License fees for either of these systems can take a substantial chunk out of any startup's budget. According to Forrester Research, the cost of building a feature-rich, enterprise Internet storefront from scratch starts at around $2 million and can escalate to as much as $41 million with ongoing maintenance costs running between $2 million and $49 million. With the barrier to entry this high for businesses looking to challenge the established on-line retailers, Linux is a logical alternative due to its low cost and ease of maintenance. As these smaller businesses grow, their Linux-based operations can grow with them. As Linux gains acceptance as an enterprise operating system, we expect ecommerce applications to be ported to Linux and used by larger organizations.

Some applications with linux. Hands-on embedded drivers bootcamp If you design or debug embedded devices or applications, whether you are a systems engineer or an applications engineer, you can do more if you understand embedded Linux drivers. By the end of this full-day workshop, you will have the hands-on understanding you need to begin building and debugging embedded Linux drivers. Embedded Linux uses three kinds of drivers: block drivers, network drivers, and character drivers. While some of the bootcamp will explain all three driver types, most will focus on character drivers, which make up 80% of all drivers in Linux, including drivers that handle keyboards, mouses, memory, video, and more. Hands-on labs will be included throughout the day, covering driver entry points, blocking I/O, moving between user and kernel pace, driver debugging, and other topics. Hands-on multicore Linux lab How does multicore embedded Linux design and development differ from projects using single-core Linux? This 3-hour hand on lab will explain the basics and give attendees hands-on experience writing and tweaking sample code on a dual-core x86 platform. Note: Because of the need of providing preconfigured hardware for the hands-on portion of this session, attendance will be limited to 32 participants. Preference will be given to Vision attendees who register earliest. Linux synchronization mechanisms in driver development The Linux kernel enables many sources of concurrency and preemption, so synchronization between critical sections plays a vital role in avoiding race conditions in driver development. At the same time, an incorrect sequence of locking will lead to deadlock situations. This presentation and a live demo will describe the locking mechanisms in Linux and how to determine which mechanism is suitable for driver development. Deadlock detection tools will be described, and how to avoid deadlock. There will also be discussion of how efficient handling of race conditions and deadlock situations affects embedded systems. Data Management - Enabling Embedded Applications

You might also like