Nothing Special   »   [go: up one dir, main page]

What Is Linux? The Origins of Linux

Download as pdf or txt
Download as pdf or txt
You are on page 1of 107

Linux Presentation Outline

What is Linux?
G

The Origins Of Linux


H

Started by Linus Torvalds in 1991 Caught on in hacker community Exploding in popularity today

Linux is Unix
H

Designed from scratch to be multi-user and multi-tasking Very mature design Thousands of applications

Linux is Open-Source
H

The source code is public Supported by thousands Widely available

Why Use Linux?


G

Linux Is Robust And Stable

file:///D|/Linux Presentation/preso.html (1 of 3) [08\23\2002 4:46:44 PM]

Linux Presentation Outline

Linux has fewer bugs (than anyone)

Linux Is Powerful
H

Linux is high-performance Linux will network with almost anything The X Factor

Linux Is Flexible
H

Customizable hardware support Totally customizeable software Linux runs on multiple platforms

Linux Is Well-Supported
H

Best tech support anywhere

Linux Is Stunningly Inexpensive


H

No license fees! Powerful software bundled with the system

Rough Spots
G

Linux can be picky about PC hardware Limited support for proprietary formats Linux requires a paradigm shift

file:///D|/Linux Presentation/preso.html (2 of 3) [08\23\2002 4:46:44 PM]

Linux Presentation Outline

Further information
Last updated Sunday, May 9th, at 10:30pm

file:///D|/Linux Presentation/preso.html (3 of 3) [08\23\2002 4:46:44 PM]

The Origins Of Linux

Linus Torvalds Started Linux


G

Linus started writing Linux as a hobby project in 1991 Followed the design of Unix Released as open-source

file:///D|/Linux Presentation/1-1/sec1-1-1.html [08\23\2002 4:46:54 PM]

The Origins Of Linux

Linux Caught On In The Hacker Community


G

Linux attracted developers quickly Became useful quickly Grew steadily for years

file:///D|/Linux Presentation/1-1/sec1-1-2.html [08\23\2002 4:46:55 PM]

The Origins Of Linux

Linux Popularity Is Exploding Today


G

Linux has about 10 million users today Used by companies large and small Drawing increasing attention from technology community User base is increasing dramatically - up 212% for 1998 Linux usage is expected to increase by at least 25% compounded annually for the next four years.

file:///D|/Linux Presentation/1-1/sec1-1-3.html [08\23\2002 4:46:55 PM]

Linux is Unix

Designed from scratch to be multi-user and multi-tasking


G

You can run multiple apps without hampering stability Multiple simultaneous users are no problem You can run apps on one machine and display on another

file:///D|/Linux Presentation/1-2/sec1-2-1.html [08\23\2002 4:46:55 PM]

Linux is Unix

Very mature design


G

Sane handling of DLL's Better memory management than Win 98 or NT Advanced filesystem Remote administration Reboot only for some kernel or hardware upgrades Great networking - the OS of the Internet Solid security Doesn't crash - runs for years

file:///D|/Linux Presentation/1-2/sec1-2-2.html [08\23\2002 4:46:55 PM]

Linux is Unix

Linux Has Thousands Of Unix Applications Available


G

Most Unix applications are portable between Unix brands Most Unix applications are open-source Commercial applications (including games) are available for Linux, too

file:///D|/Linux Presentation/1-2/sec1-2-3.html [08\23\2002 4:46:56 PM]

Linux is Open

It's Open-Source
G

The source code must always be available If you modify the source code, you must make your changes available Just because you develop on Linux does not mean you have to make your programs free Plenty of commercial applications are available (StarOffice, WordPerfect, Informix, Oracle, etc.) You can (and many many do) run your business on Linux Check out http://www.opensource.org/ for details

file:///D|/Linux Presentation/1-3/sec1-3-1.html [08\23\2002 4:46:56 PM]

Linux is Open-Source - Development Community

Linux is a (large) group effort


G

Thousands of developers all over the world collaborate on Linux development Anyone can contribute Linus Torvalds, the original author, supervises

file:///D|/Linux Presentation/1-3/sec1-3-2.html [08\23\2002 4:46:56 PM]

Linux is Open-Source - Widely Available

Linux Is Available For (Nearly) Free!


G

Many organizations assemble "distributions" of the Linux kernel and other applications You can download distributions for free You can buy Linux distributions on CD You can pay for value-added items like commercial software

file:///D|/Linux Presentation/1-3/sec1-3-3.html [08\23\2002 4:46:57 PM]

Advantages of Linux - Fewer Bugs

Linux kernel and applications are solid


G

People write Linux code because they want or need it People write Linux code for fun and recognition Other people can and do read, critique and fix Bugs are fixed quickly Linux is demonstrably stable and nearly bug-free.

file:///D|/Linux Presentation/2-1/sec2-1-1.html [08\23\2002 4:47:19 PM]

Advantages of Linux - High Performance

Unix philosophy is first stable, then fast


G

Linux takes advantage of decades of Unix design work Linux makes even low-end hardware useful Benchmarks show Linux to be very fast

file:///D|/Linux Presentation/2-2/sec2-2-1.html [08\23\2002 4:47:19 PM]

Advantages of Linux - Networking

Linux Is A Promiscuous Networker


G

Linux talks with Windows Linux talks with Macintosh Linux talks with Novell IP Masquerading Web servers, FTP servers, IRC, MUD, mail servers, and much more!

file:///D|/Linux Presentation/2-2/sec2-2-2.html [08\23\2002 4:47:19 PM]

Advantages of Linux - The X Factor

Linux Is A Hacker's Dream


G

Gain experience with low-level programming Unusual types of networking High-end parallel processing Software RAID Emulation software

file:///D|/Linux Presentation/2-2/sec2-2-3.html [08\23\2002 4:47:20 PM]

Advantages of Linux - Customizing Hardware

Make Your Hardware Do What You Want


G

Correct hardware performance - work around hardware bugs or deficiencies Improve hardware performance - use all of its potential Dynamically change hardware support - use only what you need when you need it Run without normal hardware like a keyboard or mouse, or even a disk drive

file:///D|/Linux Presentation/2-3/sec2-3-1.html [08\23\2002 4:47:20 PM]

Advantages of Linux - Customization

Very Customizeable Software


G

Most software is highly configurable Everything is scriptable When all else fails, do it yourself!

file:///D|/Linux Presentation/2-3/sec2-3-2.html [08\23\2002 4:47:20 PM]

Advantages of Linux - Multiplatform

There are many, many Linux ports:


G

Intel 386+ (of course) with support for ISA, EISA, PCI, VLB, and MCA (and Merced) Alpha (Linux is 64-bit now) Motorola 68030+ Power PC ARM SPARC MIPS SGI (in progress) VAX (in progress) PalmPilot (in progress) 8086-80286 (in progress) And more!

file:///D|/Linux Presentation/2-3/sec2-3-3.html [08\23\2002 4:47:21 PM]

Advantages of Linux - Tech Support

Best tech support anywhere


G

Lots of documentation Enthusiastic volunteers on E-mail, Usenet, IRC, etc. Support directly from the code authors Commercial support available too InfoWorld Best Tech Support of '97

file:///D|/Linux Presentation/2-4/sec2-4-1.html [08\23\2002 4:47:21 PM]

Advantages of Linux - Inexpensive

Most Linux Software Has No License Fees!


G

Install on as many computers as you like with one CD Support as many users as you need Sharing with others is encouraged

file:///D|/Linux Presentation/2-5/sec2-5-1.html [08\23\2002 4:47:21 PM]

Advantages of Linux - Inexpensive

Hundreds Of Applications Bundled For Free


G

Every network application you could want More compilers than you can shake a stick at Spreadsheets, databases, scientific simulation and visualization, games, and more!

file:///D|/Linux Presentation/2-5/sec2-5-2.html [08\23\2002 4:47:22 PM]

Disadvantages of Linux - Less PC Hardware Support

Some oddball or proprietary hardware has limited support


G

Winmodems, Winprinters not supported UDMA/33 under development ISA Plug and Play can be complicated (PCI is fine) Some video cards, SCSI cards, and so on Almost always alternatives available

file:///D|/Linux Presentation/3-1/sec3-1-1.html [08\23\2002 4:47:22 PM]

Disadvantages of Linux - Proprietary Formats

Proprietary protocols and formats are difficult to support


G

No AOL client, or MSN, or Compuserve, or... Office '97 support took a while No Internet Explorer, most use Netscape

file:///D|/Linux Presentation/3-2/sec3-2-1.html [08\23\2002 4:47:22 PM]

Disadvantages of Linux - Paradigm Shift

Linux represents a different philosophy from Windows or even Mac


G

There is a learning curve ...but there are ways to ease the journey You have to look under the hood a bit ...but you will be more productive

file:///D|/Linux Presentation/3-3/sec3-3-1.html [08\23\2002 4:47:23 PM]

Resources

More Linux Resources


This Presentation
The full text of this presentation (along with all of these links) is available online at http://www.tir.com/~sorceror/mdlug/preso.html. Each bullet point is a link to a page with explanations, more detail, and links to further information. The Metro Detroit Linux Users Group's home page is at http://www.mdlug.org/.

Linux for Free


The Linux Giveaway List is at http://visar.csustan.edu/. Linux users from around the world offer to mail you their Linux CDs if you pay for the postage. You don't usually get the most recent stuff that way, but it's nearly free.

A partial list of businesses that sell Linux materials:


G G G G G

Linux Central, at http://www.linuxcentral.com/. (Operated by Brad Glonka, an MDLUG member!) Linux Systems Labs, at http://www.lsl.com/. Infomagic, at http://www.infomagic.com/. CheapBytes, at http://www.cheapbytes.com. Walnut Creek CDROM, at http://www.cdrom.com/

Linux Documentation & Information


The Linux Documentation Project at http://sunsite.unc.edu/LDP/ has huge amounts of information on all things Linux. One page to visit is the Linux INFO-SHEET at http://sunsite.unc.edu/LDP/HOWTO/INFO-SHEET.html, which contains a thorough summary of Linux's features. The Linux Myth Dispeller at http://www.KenAndTed.com/KensBookmark/linux/index.html and the Linux Anti-FUD FAQ at http://www.geocities.com/SiliconValley/Hills/9267/fud2.html address common myths and misconceptions about Linux. Other sites to visit include http://www.linux.org/, http://www.linuxresources.com/, http://www.debian.org/, and http://www.redhat.com/. C-NET has recently set up an introductory site on Linux at http://home.cnet.com/category/topic/0,10000,0-3721-7-279437,00.html.

file:///D|/Linux Presentation/resources.html (1 of 2) [08\23\2002 4:47:39 PM]

Resources

Some helpful tips on installation can be found at http://heather.cs.ucdavis.edu/~matloff/linux.html.

Unix / Windows NT Comparisons


G G

http://citv.unl.edu/linux/LinuxPresentation.html is a website made from a presentation on why a university switched from NT to Linux. http://www.unix-vs-nt.org/ is an oft-cited paper by a Microsoft Certified Engineer comparing Linux and Windows NT. http://mercury.chem.pitt.edu/~angel/LinuxFocus/English/May1998/article16.html is an article from LinuxFocus magazine comparing Windows to Linux. http://www.isdmag.com/Editorial/1998/CoverStory9807.html

file:///D|/Linux Presentation/resources.html (2 of 2) [08\23\2002 4:47:39 PM]

The Origins Of Linux

Begun By Linus Torvalds In 1991


In 1991, a Finnish computer science student acquired a 386 PC and decided to study operating systems programming with it. He was dissatisfied with the DOS that came with the system and wished for a better alternative. He played with a special educational operating system called Minix that was a small version of Unix. But it, too, had limitations, including a restrictive license that he felt stifled improvement. After a while, he decided to write a new operating system that would take better advantage of his hardware. His stated goal at the time was to "write a better Minix than Minix". For more information on Linus Torvalds, look here.

file:///D|/Linux Presentation/1-1/linus.html [08\23\2002 4:47:54 PM]

The Origins Of Linux

Linus Decided To Follow The Design Of Unix


Because of the long history of Unix, the elegance of its basic design, the wide variety of software available for it, and his own familiarity with the system, Linus decided to write a version of Unix. Since the basic design was widely documented and used, he had plenty of information to work with. The existence of the GNU Project helped out a great deal. This was (and is) a set of programs written for Unix-like operating systems that was freely available with source code. Once the operating system was even marginally functional, he had unitilities and applications available, both to test the system with and to make use of the system once tested. This was, of course, a tremendous help in gaining acceptance for Linux early on.

file:///D|/Linux Presentation/1-1/design.html [08\23\2002 4:47:54 PM]

The Origins Of Linux

Linux Was Open From The Start


In order to encourage the wide dissmination of Linux, and in the spirit of cooperation and community that characterizes most computer programmers, Linus released the code under the GNU Public License, which meant that anyone could use and improve linux however they liked, as long as they made their contributions available to the rest of the world. This meant that anyone who wanted a new feature for Linux, or had an idea for a possible improvement, could try it out for themselves. They could request help, or work by themselves, or organize a project, so long as they made their changes or developments available. This led to a snowballing effect, because as Linux became more useful, it also became more interesting to new programmers, and as it became more interesting to new programmers, it became more useful.

file:///D|/Linux Presentation/1-1/startopen.html [08\23\2002 4:47:55 PM]

The Origins Of Linux

Linux Attracted Developers Quickly


By the end of the first year of development, there were around 100 developers working on Linux. By the end of the second year, there were over a thousand. Because of Linux's flexibility, familiarity, and performance, developers found themselves enjoying working on Linux just for the fun of it. Because of its open nature, unusual sophistication, and cooperative spirit, lots of experimental development was done on Linux. New ideas, and twists on successful old ideas, were added by people who had interests in specific areas. Developers who wanted powerful home networks added networking code. Those with experience in memory management worked on virtual memory, code sharing, and so forth. By tradition, Linus got the final say about what was "officially" part of the Linux kernel and what wasn't. It's been generally agreed that his guidance has been outstanding for sheperding the project. Somehow, from the work of thousands of developers spread all over the world, communicating almost entirely through the Internet, a remarkably cohesive and organized structure has emerged.

file:///D|/Linux Presentation/1-1/developers.html [08\23\2002 4:48:11 PM]

The Origins Of Linux

Linux Became Useful Quickly


Aside from an enjoyable way to experiment with operating system programming, Linux quickly became a very useful tool for general computing. Unix applications were easily ported to the new variant, and people began using Linux for more than toy experiments. As it became more useful, developers became more ambitious. "Wouldn't it be nice if Linux did..." was a common question, and someone (often the person who'd asked the question) went ahead and implemented the needed feature.

file:///D|/Linux Presentation/1-1/useful.html [08\23\2002 4:48:12 PM]

The Origins Of Linux

Linux Kept Growing


Linux use grew steadily. Engineers who wanted to quickly test a piece of hardware or students who couldn't afford commercial software were able to adopt Linux for their needs. Linux has at least doubled its user base every year of its existence. Since 1994 the growth has been particularly impressive. Attention was paid to making Linux easier to install, use, and maintain. People began putting together "distributions" of the Linux kernel bundled with useful applications and utilities. The Linux Documentation Project was begun, ensuring that newcomers would be able to find the information they needed to get the most out of the platform. And commercial companies began paying more attention to Linux, making sure that driver information was avialable for hardware and specifications were available for software.

file:///D|/Linux Presentation/1-1/steady.html [08\23\2002 4:48:12 PM]

The Origins Of Linux

Linux Has Millions Of Users


Because Linux is open-source, it's hard to tell just how many Linux users there are. When a single CD can be used to install hundreds of copies of Linux, when people can download a distribution over the Internet and install it, it's just about impossible to keep an accurate count. Estimates based on website reports, CD sales, and voluntary registration are necessarily incomplete, but they support a figure of between 7 and 15 million Linux users worldwide, and that number appears to be doubling every twelve months. For more information, visit the Linux Counter Home Page. Also check out this article in InfoWorld. Linux is the only non-Microsoft OS that is gaining market share.

file:///D|/Linux Presentation/1-1/millions.html [08\23\2002 4:48:22 PM]

The Origins Of Linux

Linux Is Used By Many Businesses


Linux is known to be used at Corel, Boeing, NASA, and other organizations large and small. Diamond Multimedia, Adaptec, and many other hardware vendors officially support Linux and many provide the drivers for their hardware. You may use Linux at work for print or file services, or for your Intranet or Internet website, and not even know it. As a reporter for Inter@ctive Week noted, (May 11 1998) "I talked to the chief financial officer at a bank in New York, and he said they weren't using Linux... Then I talked to the IS staff, and they said they had 100 servers running Linux." In this announcement, Salon magazine proudly announces that its new site is powered by Linux.

file:///D|/Linux Presentation/1-1/companies.html [08\23\2002 4:48:22 PM]

The Origins Of Linux

Linux Is Drawing The Attention Of The Tech Community


Trade magazines such as EE Times, PC Week, Info World, LAN Times, and many more seldom have an issue without a mention of Linux these days. The Wall Street Journal and the New York Times (as well as our own Detroit News and Free Press) have run articles discussing Linux. Even Microsoft is taking official notice, as this white paper shows. Nick Petreley, a columnist for InfoWorld, has an article discussing this attention, along with commentary by readers. To see the kind of buzz that Linux is generating, take a look at the Linux Weekly News, which offers a roundup of Linux articles in the press from around the world. A quick search at any internet search engine for "Linux" and related topics will give you an idea of the enormous and growing popularity of this system. Linux is even having a noticeable impact on Microsoft, at least according to this story in the Sunday Times (London).

file:///D|/Linux Presentation/1-1/attention.html [08\23\2002 4:48:23 PM]

The Origins Of Linux

Linux Usage Is Exploding Today


International Data Corporation, which does annual surveys of operating system usage among their many other statistical services, has noted that Linux usage increased by 212% in 1998, making it the fastest-growing operating system, period. Please see the report for yourself. Another report has Linux use increasing by 25% each year for the next four years. For some information on the recent history of Linux, please see the 1998 Linux timeline at the Linux Weekly News. It's worth noting that, currently, overall Windows usage dwarfs Linux usage by a large margin (perhaps 100 to one or more). However, in the high-end market, where Microsoft's Windows NT / "Windows 2000" competes, Linux and Windows are far closer. It's also worth noting the reasons cited for NT's growth...

file:///D|/Linux Presentation/1-1/growing.html [08\23\2002 4:48:23 PM]

What Is Linux? - Linux is Unix

True, stable multitasking


All applications in Linux run in their own private memory space. This means that a poorly-written application cannot tamper with the memory of another application (or the kernel). If an application does try to access memory it doesn't own, it is immediately halted by the operating system, without disturbing any other process on the system. The Windows family of operating systems implement this type of protection imperfectly. Even Windows NT, the most protected Microsoft operating system, does not by default enforce as strict a separation between processes, and deliberately allows some ability to tamper with the kernel. This often leads to undesired interations, which can impair the stability of the system. In addition, all programs under Linux are preemptively multitasked. This means that the OS handles all scheduling of processes (and kernel threads). No application can hog the resources of the system unless the system administrator specifically defines it as high-priority. This leads to smoother performance and better load balancing.

file:///D|/Linux Presentation/1-2/multiapp.html [08\23\2002 4:48:29 PM]

What Is Linux? - Linux is Unix

Multiple simultaneous users


Unix was designed with the notion that multiple people would be sharing use of the system at the same time. Several people can log into a Linux machine and each of them can run whatever programs they like. Because of the nature of the Linux GUIs (see the next detail) these users don't all have to be in front of the machine to fully use it. Each user has their own individual preference files that allow them to cusomize their use of the system without affecting others. Unix applications are written from scratch with the idea that multiple people will be using them, and each may have entirely different preferences. One user of a mail-reader might prefer to read and send in full HTML, while another might want to read and send text-only. In Linux, they both can have their way, even if each of them is running the mail-reader at the same time!

file:///D|/Linux Presentation/1-2/multiuser.html [08\23\2002 4:48:29 PM]

What Is Linux? - Linux is Unix

Remote operation
Because of the fundamental design of Unix, every application can be run on one machine and display its interface on another machine. For graphical applications, you probably want to use a high-speed network like Ethernet, but even a serial connection will work. Programs don't have to be designed to run remotely, they just do. It takes extra effort to write a program that can only be used on one machine. Most Linux users use the X Window system, which is designed to transparently export graphics over a network. A user on machine1 can fire up X-Windows and connect to machine2, and run programs, see files, and so on just as if they were directly in front of machine 2, even if machine1 is in California and machine2 is in Switzerland. Even if all you have is a terminal emulator (e.g. Hyperterminal, Procomm Plus, or one of the many terminal programs for Linux) you can log in remotely and run non-graphical, command-line tools just as if you were at the command line of the remote machine. This is extremely useful for remote administration. If you're a webmaster and your webserver is having problems, you don't have to go in to work, you can dial in to the server from home and do everything that you could do if you were in front of the machine. (Well, okay, you can't swap hardware, but just about everything else.) In the Windows world, these capabilities are imperfectly emulated with things like PC Anywhere or WinFrame. Each of these has limitations and applications that don't work with this model, and requires careful setup, because the applications were never intended to run in such a manner. Also, Windows often needs a reboot for even some trivial changes to take effect, which is in sharp contrast to Linux (see rebooting). Note that there are X systems available that run under Windows, so even Windows boxes on the same network can run Linux programs. At least one X program is free.

file:///D|/Linux Presentation/1-2/remote.html [08\23\2002 4:48:30 PM]

What Is Linux? - Linux is Unix

Sane Handling Of DLL's


Windows allows the use of DLLs (Dynamic Link Libraries) to modularize applications and reuse code. The idea is that, when an application is starting up, it locates the DLL and calls functions inside it. This has several theoretical advantages. The application does not need to contain the code itself, other applications can reuse the same code, and different people (even different companies) can provide components that other people can link to and use. The problem with this in Windows is that there is no version control on DLLs. When you install application1, it installs version 1 of "frog.dll". Then you install app2, which uses version 2 of "frog.dll". The new version overwrites the old version. The next time you start app1, it opens "frog.dll" and finds something other than version 1, leading to unpredictable results. It might work fine (if you're lucky). It might immediately crash. It might look like it's working but really be slowly corrupting your data. Even worse, the operating system uses the same DLLs, and can be subject to the same problems. Many Windows users have installed an application (even one written by Microsoft) and had it break other programs that were working fine, or even render the machine unbootable, requiring a full reinstall of Windows. There are third-party applications that help to deal with this problem, but they don't allow you to run applications that require conflicting DLLs at the same time. Linux (among other operating systems) does not have this problem. Linux uses DLLs, too (in Unix terms they are called "shared objects"), but the OS keeps track of the versions. When you run app1, Linux notes that it needs version 1 of "frog.so", and automatically links it in. When you run app2, Linux automatically links version 2 of "frog.so". This happens even if app1 and app2 are running at the same time.

file:///D|/Linux Presentation/1-2/dll.html [08\23\2002 4:48:35 PM]

What Is Linux? - Linux is Unix

Memory Management
Linux is oustanding in the area of memory management. Linux will use every scrap of memory in a system to its full potential. For example: The Linux kernel itself is much smaller and more efficient than the NT kernel. On my 64MB box at work, NT typically takes up about 18MB. On my 64MB box at home, the Linux kernel takes up less than 2MB. That means 16MB of extra memory can be used by applications instead of just holding the OS. Linux uses a copy-on-write scheme. If two or more programs are using the same block of memory, only one copy is actually in RAM, and all the programs read the same block. If one program writes to that block, then a copy is made for just that program. All other programs still share the same memory. When loading things like shared objects, this is a major memory saver. Demand-loading is very useful, as well. Linux only loads into RAM the portions of a program that are actually being used, which reduces overall RAM requirements significantly. At the same time, when swapping is necessary, only portions of programs are swapped out to disk, not entire processes. This helps to greatly enhance multiprocessing performance. Finally, any RAM not being used by the kernel or applications is automatically used as a disk cache. This speeds access to the disk so long as there is unused memory.

file:///D|/Linux Presentation/1-2/memory.html [08\23\2002 4:48:36 PM]

Advantages of Linux - High Performance

Linux Supports An Advanced Filesystem


The DOS/Windows FAT file system was designed in the days of 320K floppy disks, and has not worn well now that drives commonly hold well over ten thousand times as much data. It works by dividing the disk up into chunks of a fixed size, and keeping a table (the File Allocation Table, or FAT) of which chunks belong to which files. This wastes space (even a file that is one byte in size takes up one full chunk, which could be 64K or more) and quickly leads to disk fragmentation. Even worse, there is no error-checking when the FAT is modified, and filesystem errors can accumulate, leading to disk corruption. Most Windows users have learned through experience to run SCANDISK and then DEFRAG once a month to keep these problems under control, or eventually the disk becomes unusable, perhaps losing important data. Linux normally uses its own high-performance filesystem, which uses disk space much more efficiently, optimizes for speed on reading and writing, and automatically prevents fragmentation. The Linux filesystem literally does not need a defragmenter, though one is available. The operating system notices when programs make errors writing to the disk and automatically prevents them, so there is usually no need to run a disk checker unless you notice a problem. Because of the automatic disk cacheing that Linux uses, programs don't have to wait for the disk to finish writing data before they can can continue operations, so programs visibly run faster. About the only disadvantage, if you can call it that, is that you shouldn't just shut the power off on the computer. You're strongly advised to shut down the system first, so that any unsaved data can be written out to disk. Even if the power fails or you accidentally switch off the system before shutting down, Linux usually can automatically recover the filesystem without problems. Although I have heard of people losing data this way, my system personally has survived a couple power losses without and data loss. (Of course, I went and added a UPS and now I don't have to worry about it...) Of course, Linux can also read and write all FAT variants (from FAT12 to FAT32 and VFAT), Windows NT's NTFS, OS/2's HPFS, and many others you've never heard of. Often it can use them faster than their native operating system can.

file:///D|/Linux Presentation/1-2/ext2.html [08\23\2002 4:48:36 PM]

What Is Linux? - Linux is Unix

Remote Administration
Since Unix was designed to run continuously, for extended periods of time, in mission-critical capacities, with a minimum of downtime, administration was given a lot of attention. Almost any maintenance task can be done remotely on a Unix system. As noted before, essentially all applications can be run remotely from another machine on a network or even over a dialup line. When you consider that almost every feature of Linux and its applications can be configured without rebooting, it's clear why Unix systems are favored by many administrators. Remote maintenance is often not very important to the home user, but to a business user of Linux it can be critical. If the pager goes off in the middle of the night because the file server is full, it's nice to be able to just dial in and take care of it from home instead of having to drive in to work to sit down in front of the machine. Using kernel modules, even relatively major upgrades can be done remotely. About the only things that can't be done remotely are hardware updgrades and full kernel upgrades. (Actually, even kernel upgrades can be done remotely if you're confident that nothing will go wrong...)

file:///D|/Linux Presentation/1-2/remoteadm.html [08\23\2002 4:48:36 PM]

What Is Linux? - Linux is Unix

Reboots Are For Upgrades


Linux enforces a strict separation between the kernel and other applications. Most services like mail, file and print serving, web serving and so on are applications, and can usually be changed dynamically. At worst, a specific application may need to be stopped and restarted, but not the whole system. This means that Linux only needs to be rebooted for kernel updates and hardware changes, and often not then. (This is a great boon for remote administration.) For example, the Linux kernel is designed to use loadable modules whenever possible. If you hook up a CD-ROM drive to your SCSI bus, you can insert a CD-ROM device driver module into the kernel while the kernel is running and immediately begin using the CD drive. Of course, if you remove hardware you can also remove modules and reclaim the memory those modules were using. While it is not recommended, there are reports of people swapping internal cards and drives without rebooting. Again, this is extremely risky, but it's possible under Linux. In Windows, installing a device driver always requires a reboot. (Once installed, some device drivers can be stopped and restarted.) Linux provides the ability to dynamically increase swap space and then reduce it later without a reboot. This is in sharp contrast to Windows, where the swapfile can only increase in size, and never decreases until the next reboot.

file:///D|/Linux Presentation/1-2/reboot.html [08\23\2002 4:48:37 PM]

What Is Linux? - Linux is Unix

The OS Of The Internet


TCP/IP networking and the Internet was originally developed on Unix systems, and most of the high-power networking in the world is done on Unix systems. The OSI++ Counter indicates that about 75% of the web servers on the net are Unix boxes. In fact, Linux has the largest market share for the entire Internet, running 25.7% of the news servers, 26.9% of the web servers, and 33.7% of the FTP servers in the world. (If you combine Windows 95/98 with Windows NT, Windows is second to Linux in both web and FTP servers. Solaris, a Unix variant, is the number two news server.) Linux provides not only extremely fast and reliable networking, but dozens of major and minor network services are usually provided when you get Linux. Web servers, file and print servers, ftp servers, time servers, NIS servers, IRC servers, News servers, compute servers, and more are available for free or very little cost. This includes Apache, the most widely-used webserver on the planet (with over 50% market share). Much of the development of the new IPv6 specification is being done on Linux systems, because of both the low cost and the ease of development of the system code. See The Linux IPv6 Page for further information. In fact, a large fraction of all experimental networking, perhaps most, is done on Linux, in no small part due the the open source code. Linux provides a wide variety of unique networking methods.

file:///D|/Linux Presentation/1-2/network.html [08\23\2002 4:48:37 PM]

What Is Linux? - Linux is Unix

Solid Security
Viruses are unknown in Linux
Linux is a very secure operating system, much more so than Windows 9x, and at least the equal of Windows NT. So far as anyone has been able to tell, exactly one virus has ever been written for Unix platforms. And as viruses go, it's pretty anemic. It's worth it to examine why this is the case. To do so, we have to take a quick look at how viruses work. A virus spreads when an infected application is run. The virus then looks for other running applications, or for applications on disk, and copies its own code into the other applications, thereby infecting them. When the newly-infected applications are run, they will try to infect other applications, and so on. Both of these avenues of infection are severely limited or impossible under Linux. Since each application runs in its own protected memory space, it is not possible for a virus to infect another application running in memory. And Linux implements a file permission structure that greatly limits the damage that a virus can do. In Unix systems, there are three main kind of permission for a file - read, write, and execute. There are three kinds of users this can apply to - the file's owner, users in the same group as the owner, and "others". In practical terms, when a user runs a program infected with a virus, the virus can only infect the applications that the user has permission to write to. In the typical Linux system, this is very few applicaitons, and none of them are critical to the operation of the system. There is one type of virus that can infect a Linux system - a boot-sector virus. This kind of virus does not use an operating system at all, but instead runs using the BIOS. When the boot-sector virus runs, Linux isn't even running yet, so it can't intercept it. However, no known boot-sector virus is written to work with Linux, and so as soon the machine is infected with such a virus, it probably won't boot. At this point, all you need to do is boot from a Linux floppy and erase the virus. In this sense, Linux is a great virus-detector!

Preventing remote takeovers and denial-of-service


Since viruses are difficult and not terribly impressive in the Linux world, crackers tend to try other means of compromising systems. There are two ways to approach this - "getting root" and "denial-of-service". In the first case, the cracker tries to get "root" or "superuser" access - more or less the same as "Administrator" under Windows NT. In the second, the cracker tries to impair the operation of the computer in some like, like a SYN flood or a WinNuke.
file:///D|/Linux Presentation/1-2/security.html (1 of 2) [08\23\2002 4:48:38 PM]

What Is Linux? - Linux is Unix

Linux is less prone to these sorts of attacks than most operating systems. This is partly because of its design and partly because of the open-source nature of Linux development. For example, Linux is designed so that the "sechole.exe" program (which gives any user Administrator access under Windows NT) is not possible - at least, by that method. The permissions structure described above means that even if a bug in one process is found, it does not affect other processes. Very few services run with a lot of permissions, and most of the bugs in those services have been found and removed. (Remember, Unix has been around for almost 30 years - performance and security problems have been continuously addressed that entire time.) And because Linux is open-source, security bugs are fixed quickly, often within hours. Having the source open is a lot like having thousands of programmers audit the security of the system continuously. Denial-of-service (DOS) attacks are also more limited under Linux. If you give users write permission to a share under Windows NT, those users can fill up the entire disk if they like, which can cause NT to become unstable. Linux supports disk quotas, which limit the amount of space a malicious or mistaken user can take up. Linux also supports limits on other resources, to prevent users running too many processes, or opening too many network connections, or whatever. For more information, check out the Linux Security HOWTO. In the way of a testimonial, check out this story about an ISP that upgraded to Linux to improve security.

file:///D|/Linux Presentation/1-2/security.html (2 of 2) [08\23\2002 4:48:38 PM]

What Is Linux? - Linux is Unix

Crashes are extremely rare


Since Linux is designed not to require rebooting , it is very important that the system be stable enough to handle running for extended periods of time without crashing. Because Linux has fewer bugs than other platforms, and is designed to run in demanding environments for long periods of time, many Linux users run their systems 24/7 for months on end. This is particularly common among businesses who use Linux on their servers. Linux users have reported uptimes of well over a year, on active, heavily-loaded systems. Uptimes longer than that are rare, not because of crashes, but because few users can resist upgrading their hardware for more than a year. Even so, the Linux kernel was recently modified to allow logging of uptimes beyond 497 days without wraparound. Compare this to the known problem that Windows 95 and Windows 98 cannot run more than 49.7 days, ever. Microsoft admits that Windows NT is only about twice as reliable as Windows 95. A Unix server would be ashamed to post numbers like these. One common hobby of some Linux users is running the "crashme" program for long periods of time. Usually they run until they give up. When a kernel bug is discovered, it is found and fixed.

file:///D|/Linux Presentation/1-2/nocrash.html [08\23\2002 4:48:38 PM]

What Is Linux? - Linux is Unix

Unix Applications Are Portable


Because all the variants of Unix share almost all their major design features, programs written for one brand or variation of Unix are usually easily portable to other types of Unix. All Unix programs are a lot more portable between Unix brands than programs are between, say, Windows 98 and Windows NT. This means that programs written for some other brand of Unix can almost always be ported to Linux rather easily. Linux didn't even exist when Sendmail (which carries over 80% of Internet e-mail), BIND (which handles almost all DNS services) and the other critical Internet applications were written, but they were easily ported to Linux. Even commercial software is available for Linux. Oracle, Sybase, and other commercial software vendors have already ported or are in the process of porting their products to Linux. The large amount of common ground among the various strains of Unix simplifies this task enourmously.

file:///D|/Linux Presentation/1-2/portable.html [08\23\2002 4:48:45 PM]

What Is Linux? - Linux is Unix

Most Common Unix Applications Are Open-Source


Since most of the common or important Unix applications or utilites are also open-source, this means that Linux automatically has thousands of applications to choose from. These include everything from common utilities to large-scale applications like Apache, the most popular webserver on the planet. Almost all new development explicitly includes a Linux port, so more are available all the time. In fact, most new Unix programs are developed on Linux first, or at least in parallel. Even commercial developers tend to run Linux on their PC's at home, so they can use the same tools, compilers, and environment they have with their commercial Unix workstations at work.

file:///D|/Linux Presentation/1-2/opensource.html [08\23\2002 4:48:45 PM]

What Is Linux? - Linux is Unix

Plenty Of Commercial Applications Available


Particularly in recent months, commercial developers have flocked to the Linux platform. Oracle, Sybase, and many other commercial database providers either have released or announced software for Linux. The StarOffice and Applixware office suites offer Microsoft Office compatibility and a full set of office application functions. Many Linux games exist. Notably, over half the Quake servers in the world run under Linux. The Linux Games site has plenty of information on games for Linux.

file:///D|/Linux Presentation/1-2/commapps.html [08\23\2002 4:48:45 PM]

What Is Linux? - Linux is Open

The GNU Public License


Linux is developed under the GNU Public License. This is sometimes referred to as a "copyleft", to distinguish it from a copyright. The gist of the GPL is that the source code is available to anyone who wants it, and can be freely modified, developed, and so forth. There are only a few restrictions on the use of the code. If you make changes to the kernel, you have to make those changes available to everyone. This basically means you can't take the Linux source code, make a few changes, and then sell your modified version without making the source code available, for no more than your cost of providing it. Of course, you can't just copy source code from the Linux kernel and just use it your own programs. Copying ideas is fine, but cutting and pasting chunks of source is forbidden. (Well, actually, you can, but your program will then be covered by the GPL too. Often this is not a problem.) This practical effect of this is that you can't charge much for the Linux source code. When you buy a CD containing the Linux binaries and source code, you're buying the convenience of installing from CD instead of downloading it off the net, and the convenience of having the code pre-compiled for you. You're not really paying for the software itself. Software released under public licenses (like the GPL and others) has often been called "free software". This has led to some confusion. When Linux is referred to as "free", it means "liberated", not necessarily "zero-cost". Becuase of this confusion, the term "open-source" has been coined. For details, please take a look at the open-source home page. Note that there is no restriction on how the kernel is used. You can use it at home, at work, in government computers and church computers and anything else. (See the next detail for more information.) The GPL has a lot of ramifications and is too broad a subject to cover in this overview. You can read a copy of the GPL here.

file:///D|/Linux Presentation/1-3/gpl.html [08\23\2002 4:48:52 PM]

What Is Linux? - Linux is Open

Commercial Development
If you develop a program that runs under Linux, even if you use the free, high-performance GNU compilers (also under the GPL), you don't have to make it open-source, too. Just because you use the services of the kernel doesn't mean you have to be under the same license as the kernel. There are a wide variety of programs and applications available for Linux, under a wide variety of licenses. These range from public domain to postcard-ware to shareware to commercial, with all sorts of combinations, too.

file:///D|/Linux Presentation/1-3/commdev.html [08\23\2002 4:48:53 PM]

What Is Linux? - Linux is Open

Commercial Applications
Many commercial vendors either have released or are developing applications for Linux, including: G Corel
G G G G G

Informix Oracle Netscape Even Microsoft is porting the Windows Media Player to Liunx

And more! Recently Intel announced that it was working on a Uniform Driver Interface so that all Unix variants on Intel platforms would use the same driver model. To quote direct from the horse's mouth: "Linux will be, said Quick, key to the adoption of the UDI initiative. A reference platform will be distibributed as freeware for Linux, and the Project UDI members will be counting on the Linux community to work on device drivers." In other words, Intel is basing a key business plan on Linux and the Linux development community. Plenty of Linux games exist. Notably, over half the Quake servers in the world run under Linux. The Linux Games site has plenty of up-to-date information on games for Linux.

file:///D|/Linux Presentation/1-3/commavail.html [08\23\2002 4:48:53 PM]

What Is Linux? - Linux is Open

Linux In Business
A large number of business are using Linux (see this link for an incomplete list) in a wide variety of fields, ranging from ISP to manufacturing to government to retailers and more. (It seems that an amazing 25% of ISP's use Linux!) Because of Linux's 24/7 reliability, scalability, performance, and configurability, it can make a powerful IT resource for any company. When you consider Linux's low cost (zero per-user license fees are just one exmple) Linux systems are even more attractive. A partial list of Linux business resources is maintained at http://www.linux.org/business/index.html, and is a good place to look for more information. A recent example in the press is Total Travel Management, in Troy, Michigan. You can read about their conversion to Linux here.

file:///D|/Linux Presentation/1-3/business.html [08\23\2002 4:48:53 PM]

What Is Linux? - Linux is Open

The Linux Development Community


Because the source code is available to anyone who wants it, many many programmers have examined the source, and thousands have been interested enough to contribute bugfixes, improvements, new features, and more. A very popular description of the open-source development model can be found in Eric Raymond's paper, The Cathedral And The Bazaar. This compares and contrasts the traditional, closed-source development model with the open-source means of development.

file:///D|/Linux Presentation/1-3/bazaar.html [08\23\2002 4:49:05 PM]

What Is Linux? - Linux is Open

Linux Torvalds Supervises Development


If thousands of people develop Linux from all over the world, how does their work get distributed to the user community? The answer is simple. By popular acclamation, Linus Torvalds gets to decide what goes into the Linux kernel and what doesn't. If a developers have some new code, they submit it to Linus, who decides whether or not to accept it, reject it, or request modifications before accepting it. Of course, this is a bit of an oversimplification. In actuality, several developers have more-or-less supreme control over their particular subsections. There is a networking chief, a driver chief, and so forth. While Linus has ultimate authority, he seldom rejects a decision made by one of these sub-administrators. So far, Linus has done an excellent job managing the development of Linux. However, even if he were to die, or quit, or take the Linux kernel in a direction that no one else wanted to go, he himself could not keep others from taking over the job, thanks to the GPL that Linux is controlled by. Even Linus can't prevent others from developing Linux. Sometimes things don't make it into the kernel but are still useful to some group of users. For example, sometimes optimizing for one kind of hardware would break support for other hardware. Some users require paranoid security. Some developments are too experimental to inflict on everyone. In this case, people can (and do) provide their own patches to the kernel, available separately. These allow even greater customization without risking support for the vast majority.

file:///D|/Linux Presentation/1-3/supervise.html [08\23\2002 4:49:05 PM]

Linux is Open-Source - Low Cost

Linux Comes Packaged In "Distributions"


The Linux kernel by itself, is not useful. It provides services for applications to take advantage of, but without applications there are only a few things it can do. Fortunately, a wide variety of groups, organizations, and companies have combined Linux with other applications in the form of "distributions". A "distribution" is a combination of the Linux kernel, applications to run with it, utilities to install it on a computer, and utilities to manage the system once it's installed. Distributions vary in the options they offer, the utilities they provide, what commercial software comes bundled, price, and so forth. A few of the more popular distributions are: G Red Hat - popular for its ease-of-use, graphical utilities, software management system, and bundled commercial software. G Debian - a non-commercial distribution, Debian concentrates on using open-source software whenever possible. Popular also for its advanced software management system. G S.U.S.E. - produced in Germany, this distribution is very well liked by some for its administration tools, comprehensive application set and thorough documentation. G Slackware - one of the oldest distributions, it is popular for its easy maintenance. It's worth noting that, for all their differences, the Linux distributions are all pretty much interoperable. There is a standard for how directories are set up, and standards for things like shared libraries (DLLs) and so forth. This means that almost all Linux programs can run on any distribution. Individual applications usually come in "packages", much like ZIP files. The most popular package format is "RPM", developed by Red Hat. Almost all distributions either use this format natively, or offer tools to automatically translate and install RPM files. Choosing a distribution is really a matter of taste.

file:///D|/Linux Presentation/1-3/distribution.html [08\23\2002 4:49:14 PM]

Linux is Open-Source - Low Cost

You Can Download Linux (And Applications) For Free


Because of the open-source nature of Linux, almost all distributions are available for free over the Internet. There are limits to this, since most distributions fill up at least one CD (650MB) and some take up as many as five. You need a pretty fast net connection to make this practical. However, you can also download parts of distributions as well. You can download a usable, if minimal, system without tying up your modem for weeks. This also allows you to upgrade parts of your system (including the kernel) without having to buy another CD. The Debian distribution, for example, is designed to be upgraded automatically in just this manner. This can dramatically reduce the cost of maintaining a system.

file:///D|/Linux Presentation/1-3/download.html [08\23\2002 4:49:14 PM]

Linux is Open-Source - Low Cost

You Can Buy (Or Beg, Borrow, or Steal) Linux On CD


Linux is almost always installed from CD, like most modern software. You can buy Linux CDs from a wide variety of vendors, for a wide variety of prices. If you buy from the original vendor, you can expect to pay from $20.00 to $100.00, for one to five (or more) CDs. You can order by mail by phone or through the Web, or purchase packages at most computer stores. One popular way to start with Linux is to buy a book that includes a distribution on CD. What do you get for that $20-$100 price tag? Quite a lot. You get the kernel, dozens of compilers and debuggers, hundreds of applications (ranging from image processing to word processing to servers to clients to productivity applications to office suites to scientific applications to database applications to games to editors and much more), installation utilities, system management utilities, and lots of documentation, plus at least some tech support from the distributor. Why is everything so cheap? Because it's almost all open-source. If someone charges too much, someone else can take the source code and make it available for less. The competition is fierce. You aren't buying the software so much as you're buying the convenience of not having to download it and compile it yourself. There are companies that resell distributions like this for as little as $1.99. The only thing you don't get from them is commercial tech support from the distributor. (For many people, the free, public tech support is plenty. And almost all of this software comes with no license fees. You can borrow a CD from a friend and see if you like it before you buy your own. (Or just upgrade for free over the net.) There's even a website where people offer old Linux CD's they don't want anymore. You just mail them a postage-paid envelope and they'll send you their CDs for free. You don't get the most recent stuff like that, but the price is right.

file:///D|/Linux Presentation/1-3/cd.html [08\23\2002 4:49:14 PM]

Linux is Open-Source - Low Cost

You Can Pay For Value-Added Features


Several major distributions, such as Red Hat and Caldera offer several value-added features like bundled commercial applications (such as office suites or full Netware suites, for example) and commercial tech support. You can't always get these types of extras if you just download the distribution, or buy it from a reseller. Shop around a bit and ask questions before you make up your mind what distribution to get.

file:///D|/Linux Presentation/1-3/valueadded.html [08\23\2002 4:49:15 PM]

Advantages of Linux - Fewer Bugs

People Write Linux Code To Fill A Need


Many Linux developments are begun because the programmer had a personal need for it, and had to write their own support. Most device drivers are written this way, because a developer had the hardware and wanted to use it under Linux. Some of these developments distributed with Linux are useful only to a few people - but they are very useful indeed, sometimes, to the people who use them. The programming community has always had a very cooperative attitude - as Richard Stallman, founder of the Free Software Foundation said, "Sharing code is the fundamental act of friendship between programmers." This attitude has served Linux, and all programmers, very well. If one is writing code for fun, for one's own personal enjoyment, and is planning on sending that code into the world, one has plenty of motivation to make sure that the code is correct and performs well. One's reputation as a programmer may be at stake. Which brings us to our next point.

file:///D|/Linux Presentation/2-1/need.html [08\23\2002 4:49:22 PM]

Advantages of Linux - Fewer Bugs

People Write Linux Code For Fun


Although it may not seem like it to some, many programmers greatly enjoy working on difficult problems in computer programming theory, simply for the mental excercise and sense of enjoyment it brings. Programming is their passion, and they love to expand their horizons working on new and exciting developments. It has been said of programming, like playing arcade games, that the reward for doing it well is the chance to do it again. Programmers like to show off, and Linux development has become perhaps the premier means to do so. Coming up with more efficient ways to do things, supporting new modes of old hardware, exploring entirely new ways to use computers, and doing it well, enhances one's reputation in the eyes of other programmers. This is often far more rewarding than commercial enticements. Because one of the goals of Linux development is often to enhance one's reputation, the developers are highly motivated to avoid bugs in their code. Nothing is more embarrassing than to have someone email you with a report of bugs in your software. Eric Raymond has written several accessible and thought-provoking articles about the Linux development community. for more information, read The Cathedral And The Bazaar, and then perhaps Homesteading the Noosphere. It's important to note the difference between a desire for fame and adulation, and a desire for the earned and considered respect of one's peers. Again, Eric Raymond has clarified this distinction very well.

file:///D|/Linux Presentation/2-1/fun.html [08\23\2002 4:49:22 PM]

Advantages of Linux - Fewer Bugs

Code Is Subject To Peer-Review


Source code in Linux terms is aggressively tested by many users. Even development code not intended for mission-critical systems is widely used and tested. Some testers are motivated by a desire to help authors produce the best possible code, and some by the notoriety of finding bugs in code where bugs are rare. (Yes, programmers are really motivated by such things.) Whatever the motivations, a simple glance at the Linux newsgroups and mailing lists shows the process in action. It's the clearest validation of the Linux development model. As an example, to test the Linux kernel, the "crashme" program was written. It torture-tests systems by generating random OS calls (either with valid or invalid data) or even generating random garbage and trying to execute it as code. No application is supposed to be able to crash the kernel, and if crashme finds a way to do so, it is an affront to the pride of the Linux kernel developers. Such bugs are fixed very quickly. There is another side-effect to having the source code open - it is subject to careful scrutiny by a wide variety of people for security problems. Security problems are found from time to time, but they are closed as soon as they are found. (If the discoverer doesn't tell others about the problem but instead tries to exploit it, he can do so for only as long as no one notices the break-ins. Once it's noticed, an alert is posted and the fix is soon available, often within hours.)

file:///D|/Linux Presentation/2-1/review.html [08\23\2002 4:49:23 PM]

Advantages of Linux - Fewer Bugs

Bugs Are Fixed Quickly


Because the development process is so open, and so many programmers are at work, even major bugs tend to be fixed quickly. For example, it turned out that the Pentium had a problem where the CPU could be locked up by executing a particular kind of instruction. The actual instruction began with the bytes "F00F" and thus the bug was christened the foof-bug. Since any application, even a non-privileged one, could thus crash the system, this was considered a major problem by the Linux developers. Working directly with Intel, Linus Torvalds and other developers were able to modify Linux to be immune to the foof-bug, with exactly zero loss in performance. As another example, it was discovered that a particular invalid set of IP packets could be used to crash a wide variety of operating systems, including Windows and Linux. The patch to protect against this attack was available for Linux within hours. It took several days for Microsoft to produce patches for Windows. The fix for Linux actually protected against several variations on the so-called 'teardrop' attack. Unfortunately, the original Windows patch did not, and a modified WinNuke program was quickly made available. Microsoft had to come out with a second patch to handle the new varieties of 'teardrop'.

file:///D|/Linux Presentation/2-1/bugfix.html [08\23\2002 4:49:23 PM]

Advantages of Linux

Linux has been demonstrated more stable than other systems


Besides the anecdotal stories and the devotion of Linux fans, there are other types of evidence that Linux systems have fewer bugs. One report found that Linux was more stable than all other commercial Unix variants. The researchers used the simple method of giving programs random streams of input (the so-called "fuzz test"). They found that while the commercial Unix systems had failure rates of over 18%, Linux had a failure rate of 7-9%. As the authors say: "It is reasonable to ask why a globally scattered group of programmers, with no formal testing support or software engineering standards can produce code that is more reliable (at least, by our measure) than commercially produced code..." The paper is avaliable at http://www.cs.wisc.edu:80/Dienst/UI/2.0/Describe/ncstrl.uwmadison/CS-TR-95-1268 . In a 1995 interview with Bill Gates, the German magazine FOCUS appears to have uncovered an interesting attitude towards bugs on the part of Microsoft's chairman. Whether his attitude has changed since then is an open question.

file:///D|/Linux Presentation/2-1/proof.html [08\23\2002 4:49:24 PM]

Advantages of Linux - High Performance

Linux Has An Advanced, Mature Design


Since Linux is an open-source version of Unix, it takes advantage of the three decades of operating system design and testing that has gone into Unix. Most new operating system concepts have been tried out in Unix first, or co-opted when invented somewhere else. See the previous section on Unix for some technical reasons why Unix is so respected. Unix has been used for advanced computer science work since its inception. Cray computers run a version of Unix. Almost all workstations, computer design tools, engineering systems, and so forth have run Unix variants for decades. (There is currently a trend toward Windows NT for workstations, but this trend is being resisted by the technical people who have to actually use these systems.) The recent resurgence of open-source software (which is how most software was written for a long time) has breathed new life into the Unix world, and also made Unix available to people who have not had access to this powerful operating system until now.

file:///D|/Linux Presentation/2-2/advanced.html [08\23\2002 4:49:31 PM]

Advantages of Linux - High Performance

Even Obsolete Hardware Can Be Made Useful Again With Linux


Because of Linux's ruthless efficiency in use of memory and disk space, it can run effectively on hardware considered obsolete by some other modern operating systems. Even a 386 can be made useful again with Linux. Because applications can be run remotely under Linux, a 386 can be used as a graphical terminal for applications running on a more advanced system elsewere. All the tough computing is done on the server machine, and the 386 just handles displaying the results and forwarding user input to the server. By booting off the network, the terminal doesn't even need to contain a hard disk. For real work, a 386 makes a fine print server, and even an acceptable filserver for a small department or home office. Since Linux can run without a monitor or keyboard, you don't even need a full system for this kind of activity. A 386 is perfectly adequate as a router for a network. Attach a modem to it and use IP Masquerading, and all of the systems on a network can surf the Internet through the 386 at the same time, using only one IP address from the ISP. Take a look at http://bopper.wcbe.org/, which is run on a 386 w/16MB of RAM. The following quote is too good to resist putting in here: From: "Michael Appelt" Newsgroups: comp.os.linux.hardware Subject: Re: 486DX33 as a firewall? Date: Wed, 12 Aug 1998 13:19:01 +0200 Organization: NETPLEX Internet Services - http://www.ntplx.net/ I believe, it will do. We are using a 386/40 with ethernet & isdn & modem interface as firewall, dhcp, dns, bootp, sendfax, pppd, smtp, smb, laser printer, to serve a total of 8 internal and 1 dial-in clients: 2 PCs (games & internet), 2 PCs (MS-Office & Scanner/Fax/Copier), 1 uVAX2000 with NetBSD booting from the net, 1 uVAX II with VMS/UXC and 2 more Vaxstation2000 using basically DNS No, Xfree86 is not included, and a telnet is sometimes a bit slower when heavy printing load has been queued. But that causes no impact on internet access, we get whatever our provider can serve close to the isdn-limits of about 7.2 kByte/sec.
file:///D|/Linux Presentation/2-2/lowend.html (1 of 2) [08\23\2002 4:49:31 PM]

Advantages of Linux - High Performance

The system has been stable over more than 1 year. (always several weeks between reboots - caused by config changes the wrong direction) I needed the keyboard and monitor just about 3 or 4 times to recover from serious disk problems (disk is gone...hope same with the problems) durcing that long time. So what, take NT to get fun...., get Linux to get the functions Regards, Michael A 486 system is even more powerful. On my 486-100, I can websurf, serve files, compile code, edit files, read mail, transfer files, and more, all at the same time. At the same time, my wife can surf the web on her Windows 3.11 PC through my Internet connection. Because the operating system is so efficient, I can do things on the 486 that are impossible under Windows. I can play full-stereo, 44.1KHz .mp3 files on my 486 and read mail at the same time. Under Windows, you can't play full .mp3's on a 486 at all. Imagine what you can do with a more modern PC...

file:///D|/Linux Presentation/2-2/lowend.html (2 of 2) [08\23\2002 4:49:31 PM]

Advantages of Linux - High Performance

Benchmarks Show Linux Very Favorably


Linux compares well when benchmarked against other operating systems, often surprisingly well. For example, the InfoWorld Java Benchmarks show that a 166MHz Pentium running Linux turns in numbers exceedingly close to a 180MHz Pentium Pro running Windows NT. A collection of scores on the Byte Unix Benchmarks show that Linux turns in numbers comparing very well to commercial Unix boxes costing tens of thousands of dollars. Recently, MSNBC did some tests of Linux performance versus Windows NT. To quote: "According to ZDLabs' results, each of the commercial Linux releases ate NT's lunch." See the full article here. My own experience has shown that, for my own programs, on my own (admittedly somewhat obsolete) hardware, Linux is at least 15% faster than Windows 3.11, even when I optimize them for the respective platforms.

file:///D|/Linux Presentation/2-2/benchmarks.html [08\23\2002 4:49:32 PM]

Advantages of Linux - Networking

Samba Allows Linux To Talk To Windows 3.1x, 9x, and NT


The Samba software package allows Linux to share files, printers, and other kinds of data with Windows boxes on the same network. It can act as a Primary Domain Controller for a Windows NT network. On the same hardware, it beats Windows NT as a Windows file server in some benchmarks! Of course, Linux can read files from Windows shares and print files to shared Windows printers. Many businesses use Linux as a file and print server system (like Cisco). You may be using Linux where you work as a file server and not even know it!

file:///D|/Linux Presentation/2-2/samba.html [08\23\2002 4:49:41 PM]

Advantages of Linux - Networking

Linux Speaks To Macs, Too!


Using the Netatalk package, Linux can connect to Macintosh computers as well, and share files and printers with Macs. So far as the Macs are concerned, it looks just like a Macintosh file and/or print server. Of course, Linux can talk to Windows, Macintosh, and other boxes all at the same time.

file:///D|/Linux Presentation/2-2/appletalk.html [08\23\2002 4:49:41 PM]

Advantages of Linux - Networking

Novell? No Problem!
Linux speaks IPX just fine, and can act as an IPX router, as well as an NCP client, so you can get files from a Novell server and print to Novell print queues, and/or an NCP server, and serve files to Novell workstations. Again, Linux can talk to Windows, Mac, and Novell clients all at the same time.

file:///D|/Linux Presentation/2-2/novell.html [08\23\2002 4:49:41 PM]

Advantages of Linux - Networking

IP Masquerading - Let Everyone On Your Network Access The Internet


Linux supports IP Masquerading, which allows any number of machines to surf the Internet through one machine, using only one IP address. With IP Masquerading and a network, every computer at your home or business can share the Internet connection, even if you only have one IP address assigned by your ISP, even if the software doesn't support proxies IP Masqeurading is not a proxy service. The way it works is simple. The Linux box connects to your ISP (by modem, ISDN, T1, whatever) and is assigned an IP address. When other clients on the network want to talk to the Internet, they send the packets to the Linux box (which is set up as the default gateway). The Linux box rewrites the outgoing IP packets to look like they came from itself, and when the replies come back, it rewrites them to look like they came directly to the client. This way, lots of clients can share the connection at the same time, and the Linux box keeps track of which traffic goes where. This is usually a lot cheaper than getting multiple IP addresses from your ISP, and even software that doesn't support proxies works fine with IP Masquerading. Read more about it in the IP Masquerade mini-HOWTO. Of course, Linux also supports proxies like Squid, which can also cache files and optimize the use of bandwidth.

file:///D|/Linux Presentation/2-2/ipmasq.html [08\23\2002 4:49:42 PM]

Advantages of Linux - Networking

Everything Net, Linux Has


Linux has just about every kind of network server there is, including web servers (like Apache, the most popluar webserver ever), FTP servers, IRC, MUD, Sendmail (which carries about 80% of the mail on the Internet), and much, much more. If there's anything you've ever wanted to play with, or install for your business, Linux is the way to go. Of course, because of how inexpensive Linux is, you can do all of the above without spending tens of thousands of dollars. You can do it for less than $100!

file:///D|/Linux Presentation/2-2/allnet.html [08\23\2002 4:49:42 PM]

Advantages of Linux - The X Factor

Operating Systems Programming Made Cheap And Easy


Linux offers a unique opportunity to learn systems programming with hands-on experience. Since you have the source code available, and a worldwide network of advisors and collaborators, you can explore almost any subject you care to. Various aspects of Linux have been studied or developed as part of academic work such as graduate theses. A CS student can do serious, professional-level work, and examine serious, professional-level source code. Students who have assignments on Unix computers at school can do the work at home on their PCs, and then confidently bring it it to the public labs (or just dial in from home) and be confident that very little, if any, modifications will need to be made.

file:///D|/Linux Presentation/2-2/lowlevel.html [08\23\2002 4:49:49 PM]

Advantages of Linux - The X Factor

Linux Provides Some Unusual Network Devices


One of the main use of Linux is in networking, and Linux shines in this category, as noted before. Linux even offers some atypical kinds of network devices: G PLIP - use TCP/IP over your parallel port - great for networking a laptop.
G

G G

SCSI - if you want high speed networking, there's just about nothing faster. Great for Beowulf supercomputers. AX25 - TCP/IP over ham radio. Often used for automatic GPS position reporting. Skin - Research on wearable computers and information transfer by skin contact uses Linux.

A single Linux box can use all of these network devices, as well as more traditional ones, and route between them. (Linux boxes make great routers, especially boxes considered obsolete by other operating systems.) For more information, check out the Linux Networking Overview HOWTO.

file:///D|/Linux Presentation/2-2/funkynet.html [08\23\2002 4:49:50 PM]

Advantages of Linux - The X Factor

You Can Make A Supercomputer From The Things You Find At Home!
Using Linux, NASA developed software that allows ordinary PCs, networked together, to form a real supercomputer capable of delivering impressive performance for a rock-bottom price. The software is named Beowulf, and has been turned into a product called Extreme Linux, distributed by Red Hat Software. This concept has been used by many universities and corporations, due to the spectacular price-performance ratio. Other type of compute farms have been established using Linux, including one used to generate much of the special effects used in the movie Titanic. This idea has been taken to something of an extreme in the CHAOS project. CHAOS stands for "CHeap Array of Obsolete Systems", and involves a man who built a parallel-processing array of 386 boxes. While not terribly practical, it certainly illustrates the flexibility and scalability of Linux.

file:///D|/Linux Presentation/2-2/beowulf.html [08\23\2002 4:49:50 PM]

Advantages of Linux - The X Factor

Software RAID - Stripe Your Drives Without Extra Hardware


RAID (or Redundant Array of Independent Disks) is a set of technologies for spreading information across multiple disks. This can be configured to provide increased fault-tolerance, increased performance, or both. Usually this is implemented with special hardware, almost always on SCSI drives. Linux provides the ability to let the kernel create a "virtual" RAID system, spreading information across multiple disks. It currently supports all major levels of RAID, from Level 0 to Level 5 and Level 0,1. Because it is implemented in software and not hardware, it is generally slower than a hardware-based system, but can be dramatically faster than not having any RAID at all. Also, Software RAID can be implemented on IDE disks as well as SCSI. For more information, check out the Software RAID HOWTO.

file:///D|/Linux Presentation/2-2/softraid.html [08\23\2002 4:49:50 PM]

Advantages of Linux - The X Factor

Emulation Software - Turn Your PC Into Almost Anything


Linux supports a wide variety of software emulators for all kinds of systems. These allow your PC to run programs meant for other systems just as if it were running on its intended platform. Emulators exist for classic machines like the Atari 2600 and Commodore 64, so you can run the time-honored games and software you fondly remember. On the more practical side, there is DOSEMU, an extremely good simulation of DOS that allows you to run almost any DOS program including games like Duke3d. (As of this writing, sound is not supported in DOSEMU, but it's being worked on and may be available soon.) Many people use this to run programs like Wordperfect or other productivity apps without having to dual-boot to DOS. You can even run Windows 95 under DOSEMU! WINE is a project that is attempting to emulate the Win32s API under Linux. While still a work in progress, it is usable for many applications. WABI from Caldera is a commercial program that does much the same thing.

file:///D|/Linux Presentation/2-2/emulators.html [08\23\2002 4:49:50 PM]

Advantages of Linux - Correct Performance

Linux Offers The Flexibility To Work Around Hardware Problems


Because Linux is by nature very flexible, and the source code is available for nearly everything, you can adapt the software to your particular hardware, even to the point of fixing bugs or deficiencies. For example, my scanner (Mustek TwainScan II SP) is SCSI based, but is really designed to be the only device on the SCSI bus. During a scan, it locks down the SCSI bus so that no other activity can happen. Under Windows, this often causes disk timeouts and other major problems. The only remedy is to get a second, dedicated SCSI card for the scanner. I wrote the author of my SCSI card driver and received detailed instruction on how to patch my kernel so that I could put my scanner and my external SCSI drive (SyQuest EzFlyer) on the same bus, and even scan directly to a file on the SyQuest drive. (See the section on tech support). It works like a charm. As another example, my wife bought me an Uninterruptable Power Supply for my birthday. This would provide a battery backup, and give me time to safely shut down my system if the power failed. The problem was, I run my system 24/7, and this UPS didn't have a serial port to signal to the computer that the line power had failed. If I wasn't around and the power went out, my system would drain the battery and then fail anyway. However, I did have an external modem. I plugged it into the wall (through a surge protector, of course). Then I set up my Linux system to monitor the modem, making sure it's alive. If the wall power fails, the modem fails. My system detects this, and smoothly shuts down, saving all my precious data. Of course, even while it's monitoring the modem, I can still use it to dial out or dial in. These sorts of things are possible because nearly everything on a Linux system comes with source code. Even if you don't know how to program something yourself, you can ask for help, even from the code authors, and actually get answers.

file:///D|/Linux Presentation/2-3/correct.html [08\23\2002 4:49:58 PM]

Advantages of Linux - Optimum Performance

Linux Uses Hardware To Its Fullest Advantage


Because Linux users tend to be very demanding people who want to get the most out of their equipment, Linux can be set up to wring the last drop of performance out of most hardware. As an example, my video card has 2MB (2,097,152 bytes) of VRAM. Under Windows, if I want 16-bit color (65,535 colors, or two bytes per pixel), the highest resolution I can get is 1024x768. But if you do the math, you see that 1024x768x2=1,572,864. This means that 1/4 of the video card's memory is wasted! Under Linux, I can run in a resolution of 1152x864. This is the best I can do given the mechanics of my video card and monitor, and only wastes 5% of the VRAM. I get over 25% more screen to work with, literally without spending a dime more. None of my applications have the slightest problem with the nonstandard screen size. (Recently I upgraded my Windows video drivers, and now I can get 1152x864 in Windows. However, in 8-bit color, I have a mode set at 1416x1062, which is noticeably better than the standard 1280x1024 which is the max I can get in Windows, even with new drivers.) Linux allows you to make optimum use of almost every component of your system. You can optimize your CPU, IDE or SCSI system, floppy drive, and so on. For users that are concerned about performance, Linux offers a real opportunity to push the envelope.

file:///D|/Linux Presentation/2-3/better.html [08\23\2002 4:49:58 PM]

Advantages of Linux - Dynamic Performance

Change The Kernel Automatically And On-The-Fly


The Linux kernel can be broken into modules, which can be inserted and deleted dynamically and automatically at runtime. This means that the kernel can automatically adjust itself and support only what is needed for what you're currently doing. For example, if you have a low-memory machine with an external ZIP drive, and you hardly ever use it, you can just insert the ZIP module while you work with the drive and then remove it once you finish. The RAM taken up by the module is immediately reclaimed. Of course, you can set this up to happen automatically. When you try to access the ZIP drive, the kernel notices that it doesn't have the ZIP module installed and automatically loads it, then discards it when you finish it. The kernel even does dependency checking. If the ZIP module needs to be loaded, but it depends on the Parallel Port module and that isn't loaded either, the kernel will autoload the correct modules and then discard them when they are no longer needed. There can be a slight speed penalty while the kernel is loading a needed module, but you can configure modules to be permanently resident if you like. By loading and unloading modules, you can alter the operation of the kernel in almost unlimited fashion. You can load and unload support for filesystems, devices, network protocols, and much more. By switching between which modules are loaded, you can even change the way hardware is supported, dynamically, without rebooting.

file:///D|/Linux Presentation/2-3/dynamic.html [08\23\2002 4:49:58 PM]

Advantages of Linux - Headless and Diskless

Run Headless, Mouseless, Diskless


Windows machines can be set up and run without a keyboard or mouse, but you bascially can't administer them after that without plugging them back in. Because Linux supports remote operation, you can set up a Linux box, and then log into it remotely and operate it over the network just as if you had a keyboard and mouse plugged into the machine. Using X-windows, you can even run graphical applications remotely, even if the headless box doesn't even have a video card! This setup is often ideal for setting up servers, routers, and other systems that rarely or never need input or output execept through the network. If you have a spare machine and a network, turn it into a web server, application server, file server, print server, and a compute server, without tying up scarce monitors and keyboards. Linux can even be set up to boot off the network, reading and using files from another machine. Such a diskless workstation can be used as a full graphical terminal, running any application available on the network. This is a nearly ideal NC, or Network Computer.

file:///D|/Linux Presentation/2-3/stuffless.html [08\23\2002 4:49:59 PM]

Advantages of Linux - Customization

Linux Applications Are Amazingly Flexible


Linux shines in the area of software flexibility. You are not locked into one way of doing things, the authors of most programs give you a great deal of choice over how things look, feel, and function. For example, Linux does not present one GUI style. It can be very surprising to someone coming from the Windows world to see just how much variety Linux has in this area. Building on the X Window system's flexibility, there are dozens of different GUI styles. Ranging from the minimal fvwm, to fvwm95 (a Windows lookalike), to Afterstep (a NextStep lookalike), to Enlightenment, Gnome, and KDE, which look like nothing else in the world. Even if you pick a particular "window manager", as these GUI styles are called, you still have plenty of room to maneuver. The following links (warning: lots of graphics) illustrate what Gnome can look like: G http://www.gnome.org/screenshots/gnome-desktop.gif
G G

http://www.gnome.org/screenshots/gnome-apr28-2.jpg http://www.labs.redhat.com/themes.shtml

Here is a website devoted to making and distributing theme files for X Windows. And here's a page that shows how flexible KDE is.

file:///D|/Linux Presentation/2-3/themes.html [08\23\2002 4:50:07 PM]

Advantages of Linux - Customization

Everything Is Scriptable
With Linux, you're not limited to simple BAT files to get things done. In addition to supporting powerful scripting languages like Perl and Python, the "shell" (the Unix equivalent of COMMAND.COM) has a full programming language built in with decisions, loops, and much, much more. Most applications provide ways to script themselves automatically. For example, PPPD, the program most people use to contact an ISP and hook up to the Internet, automatically calls a script, "ip-up", when the connection is up. I personally use this script to synchronize my time with the Navy's atomic clock, download any email on the server, get my IP address and update my web page with it so others can contact my system, and more. The 'find' function in Unix is astoundingly flexible, and among other things you can find all files of a particular type that were modified today and have a size greater than 53K and execute a script to process them in some way. In addition to being a full programming environment, the shell offers ways to make 'aliases'. If I type "alias ls='ls --color=auto'", every time I execute the "ls" command (list files, like DIR in DOS), it will automatically colorize the files based on type. Of course I can customize the colors used.

file:///D|/Linux Presentation/2-3/script.html [08\23\2002 4:50:07 PM]

Advantages of Linux - Customization

The Ultimate Customization


Because the vast majority of Linux applications come with full source code, if you can write code you have the ultimate power for customization - modifying the program! Even if you don't feel confident enough to modify the program, you can often get an idea of how it works on the inside, and this can be very helpful in using it. But more important, it allows you to apply patches to the code. Many special customizations for Linux are distributed as patches to the source code. You take a patch file, apply it to the source code with the 'patch' utility, and recompile. You then have an application customized in a way that's nearly unheard of outside the world of Linux. For example, I increased the size of my SCSI data buffer using a patch, so that my scanner could transfer data faster and my scans would finish quickly.

file:///D|/Linux Presentation/2-3/source.html [08\23\2002 4:50:07 PM]

Advantages of Linux - Tech Support

Everything is documented
In addition to the open source code, there are active efforts to provide documentation suitable for novices and advanced users. One of the best examples are the dozens of HOWTOs, which contain detailed information on common and uncommon tasks, such as getting Linux and Windows to dual-boot, or setting up a home Ethernet, or setting up a software RAID system. The Linux Documentation Project develops documentation for all aspects of Linux, from installation to administration to development, and also contains links to other documentation such as references books, development guides, and more. There is no need in the Linux community for a book like "Undocumented Windows", because the documentation is open, the developers are open, and the source is open.

file:///D|/Linux Presentation/2-4/docs.html [08\23\2002 4:50:15 PM]

Advantages of Linux - Tech Support

The Whole Internet Support System


Problems do arise with Linux, and sometimes a question comes up that isn't answered in the documentation. Fortunately, there are literally hundreds of thousands of volunteers eager to answer questions, and all you need is an Internet connection to contact them. There are over a dozen Linux-related newsgroups on Usenet. For example, try news:comp.os.linux.hardware or news:comp.os.linux.setup for help on hardware issues or install issues. There are also plenty of mailing lists covering a wide range of issues, and all you need is an email account. If you really need immediate feedback, there are also several IRC channels devoted to Linux. Even on Usenet or on mailing lists, you usually won't have to wait longer than a day for a response.

file:///D|/Linux Presentation/2-4/volunteer.html [08\23\2002 4:50:16 PM]

Advantages of Linux - Tech Support

The Authors Support Their Code


The Linux kernel developers and the developers of the various applications are uncommonly easy to get hold of. The email addresses of the code maintainers are clearly listed in the source and the accompanying documentation, and the developers tend to hang out on the same newsgroups and mailing lists that the users do. If you have a problem with a device driver, you can directly contact the developer and pose your question to them. They'll usually be able to help, or at least tell you why the problem exists and suggest ways to work around it. I know, I've personally done so.

file:///D|/Linux Presentation/2-4/author.html [08\23\2002 4:50:16 PM]

Advantages of Linux - Tech Support

Commercial Support is Available, Too


For businesses or very special users, there are several companies who offer professional support (e.g. Red Hat and Caldera). These offer support for installation, operation, and so forth. Some companies support specific products, like Cygnus, which supports the GCC high-performance compiler suite. There are also a wide variety of independent contractors who can customize support arrangements for particular installations and so forth.

file:///D|/Linux Presentation/2-4/commercial.html [08\23\2002 4:50:16 PM]

Linux is Open-Source - Low Cost

No License Fees!
It's important to emphasize that most Linux software does not impose license fees. You can install and run as many copies as you like, on as many computers as you want. You can give copies to your friends and let them do full installs. There are no arbitrary limits on the number of simultaneous users. There are no registration codes. There are no expiration times. The only restriction for most software is the same as the GPL, if you make changes you have to make those changes available. This is in sharp contrast to most commercial operating systems, where you buy one license for each user of the software. The price for a 25-user version of Windows NT is more than five times the price of a 5-user version. Of course, some Linux software does have limitations of one form or another. Some software is free for personal or educational use, but you have to pay to use it in a business. And some software (for example, most office suites) is commercial and is licensed like most Windows software. (The StarOffice office suite, however, is free for personal use!)

file:///D|/Linux Presentation/2-5/share.html [08\23\2002 4:50:24 PM]

Linux is Open-Source - Low Cost

Full-Power Software Bundled For Free


Linux distributions include huge amounts of open-source software for almost any purpose you could want. The world's most popular webserver, Apache, is included in all major distributions. Compilers and interpreters for just about every computer language ever invented come free with most distributions. FTP servers, IRC hosts, job schedulers, terminal emulators, web browsers, spreadsheets, database servers, file and print servers, professional typesetting, and much, much, much more are included at no additional cost. And all of these have no license fees, limitations on the number of users, expiration dates, and more. The practical upshot of this is that Linux installations almost always have a substantially lower cost than a comparable commercial installation such as Solaris or Windows. Microsoft's Visual Studio 6.0 (including Visual Basic 6.0, Visual C++ 6.0, Visual InterDev 6.0, Visual J++ 6.0, and Visual FoxPro 6.0) costs $995.00. Under Linux, you get GCC and G++ (C and C++ compilers), BASIC, Java, and database development software, and a literally dozens of other languages, all bundled with the operating system for as little as $1.99, or free if you want to download them. Add in the cost of Windows NT Workstation or Server ($276 to $4700), Office 97 ($549.65), and so on, and you have spent thousands of dollars, and you'll probably need a recent Pentium-II machine with 512MB of RAM to run it all. Or, you can use a midrange Pentium and get it all free with Linux.

file:///D|/Linux Presentation/2-5/bundle.html [08\23\2002 4:50:32 PM]

Disadvantages of Linux - PC Hardware Support

Winmodems, Winprinters, etc. Difficult To Support


Recently some hardware manufacturers have taken to producing so-called "Windows-only" hardware. This type of hardware is almost never directly supported under Linux. A "Winmodem" is a modem with the DSP removed and all the data compression and such done on the CPU. The "modem" itself is basically a glorified sound card. The chief disadvantage is that it slows down the CPU (and if your CPU is really loaded, can interfere with communications). Even worse, "Winmodems" cost a lot less to make, but are usually priced only a bit less than their fully-functional cousins. The modem makers love the increase in their profit margin. There are a few ways to tell if you have a Winmodem. If your modem does not work in DOS, or has minimum system requirements ("Requires a Pentium"), it's probably a Winmodem. Even if you don't run Linux, it's probably a good idea to replace such a braindead modem anyway. The other disadvantage is that the makers of Winmodems tend not to be willing to reveal the programming interfaces for their products. This means that Linux drivers would have to be reverse-engineered, and so far no one's been interested enough to spend the time for a modem that isn't worth much to begin with. Winprinters are similar - they scrimp on printer power and memory and force the CPU to take up the slack. Note that it is possible for Linux to use a Winmodem or print to a Winprinter if it is networked to a Windows box that has one. The Windows-modem-sharing mini-HOWTO describes how a Windows box can make its modem available for a Linux box to dial through. The Samba program allows Linux to serve and use Windows services, including shared printers.

file:///D|/Linux Presentation/3-1/winstuff.html [08\23\2002 4:50:38 PM]

Disadvantages of Linux - PC Hardware Support

UDMA Still Under Development


Support for IDE UDMA drives is still under development. Some chipsets are very well supported, and some are only partially supported. The Ultra-DMA Mini-HOWTO has the latest information on how and when to use UDMA. It's worth noting that Windows has similar problems. A pair of articles in InfoWorld Magazine by Brian Livingston detail UDMA problems and solutions: http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/45/o02-45.38.htm http://www.infoworld.com/cgi-bin/displayArchive.pl?/98/46/o02-46.46.htm

file:///D|/Linux Presentation/3-1/udma.html [08\23\2002 4:50:38 PM]

Disadvantages of Linux - PC Hardware Support

ISA Plug 'n' Play Can Be Complicated


Linux can have difficulty using ISA Plug and Play cards that are needed at boot time, such as an ISA PNP IDE controller that controls the boot drive. It's not impossible, but it does take some extra work. Linux provides a suite of tools, isapnptools, that configure and initialize ISA PNP cards. These are useful for setting up things like modems and sound card that are Plug and Play. Indeed, these tools allow you to control every aspect of how the cards are set up if you choose. You don't have to worry about your programs no longer working if you add a new card to your computer. Note that Linux has no problem with PCI Plug and Play cards.

file:///D|/Linux Presentation/3-1/isapnp.html [08\23\2002 4:50:38 PM]

Disadvantages of Linux - PC Hardware Support

Some Brands Of Peripherals Have Limited Support


Some manufacturers refuse to reveal details about how to program their hardware. This means that Linux drivers for these products have to be reverse-engineered. For many common types of hardware, this has been done. Sometimes, however, this isn't possible, or not considered worth the effort (see the entry on Winmodems). Many companies that used to refuse to help Linux developers have recognized the Linux market and opened up their specs. Diamond Multimedia and Adaptec are two notable examples of companies who now support Linux fully. Some companies like DPT and Cyclades actually write the Linux drivers themselves, wishing to ensure that Linux users have the best possible experience with their hardware. Even if one brand of peripheral is unsupported or imperfectly supported, there are almost always alternatives available. For a list of hardware compatibility issues, and a list of known supported hardware, check out the Hardware HOWTO. If you have some hardware that isn't currently supported, don't despair! There are always new developments in the Linux world. Someone may be working on a driver right now. Hop on Usenet or an appropriate mailing list and ask! (And, of course, if you're a programmer, you have the source code. You can write the driver or application yourself!)

file:///D|/Linux Presentation/3-1/support.html [08\23\2002 4:50:38 PM]

Disadvantages of Linux - Proprietary Formats

AOL, MSN, And Other Closed Networks Do Not Support Linux


Some proprietary networks do not offer Linux support. These are primarily the "value-added" networks like America Online, the Microsoft Network, Compuserve, and so on. The client software to connect to these networks is not available for Linux. However, few services are available on these networks that are not available on the (open) World Wide Web. And Linux has absolutely no problems with the Web or the Internet in general. MDLUG members use a wide variety of local ISPs, connecting via modem, ISDN, or even cable modems. You can still browse the web, send and receive email, and more, using Linux.

file:///D|/Linux Presentation/3-2/closednet.html [08\23\2002 4:50:49 PM]

Disadvantages of Linux - Proprietary Formats

Office '97 Support Lagged


Microsoft has a history of changing file formats in incompatible ways with almost every release. Microsoft Word '95 (and Word 6.1) cannot read the files produced by Word '97 unless they are explicitly saved by Word '97 in the older format. Because the file formats for the Microsoft Office products change often, and Microsoft does not publish the file specifications, the file formats have to be reverse-engineered by others who wish to read those formats. StarOffice and other Linux office programs have done so for at least Word6.1/'95 format, with some support for Word '97. Applixware has released their latest version of their office suite, version 4.4.1, with full Office '97 support, both importing and exporting. There is a program that converts Word '97 files to HTML, which is incomplete but improving. Unfortunately, as long as Microsoft fails to learn how to make backward-compatible changes to file formats (see HTML for an example of how to do it right), competitors will always have to play catch-up in this area.

file:///D|/Linux Presentation/3-2/office97.html [08\23\2002 4:50:49 PM]

Disadvantages of Linux - Proprietary Formats

Internet Explorer and Opera Do Not Support Linux


Two common Windows web browsers, Microsoft Internet Explorer and Opera, do not currently support Linux. There are several alternative browsers available, however. The most commonly-used one is certainly Netscape. Netscape, inspired by Linux, actually released their source code in open-source form. The programming community has accepted this with open arms, and the latest version of Netscape, V4.04, is being called higher-quality than any previous release. Other available browsers include Amaya, Mnemonic, and even Lynx.

file:///D|/Linux Presentation/3-2/browser.html [08\23\2002 4:50:49 PM]

Disadvantages of Linux - Paradigm Shift

Linux Uses A Different Approach


Although Unix has a reputation in some circles for complexity, in its essence Unix is actually very simple. There are only a few fundamental entities, the most important of which is the file. In Unix, almost everything is a file (or at least can be manipulated through one). A program reads a file for input, and writes to a file for output. To access a device such as, say, a keyboard, the program opens a "device file" that represents the keyboard. When it reads from the device file, the "contents" of the file are the keystrokes of the user. Disks, tape drives, scanners, mice, network connections, and more are all accessed through files. This may seem strange at first, but the idea that "everything is a file" leads to some powerful consequences. If a program sees user input as a file, then if you make the program read from an actual disk file, you have automatic scripting. Since programs can read from multiple files, they can have multiple users. Since programs can write to multiple files, they can have multiple output devices (screens, printers, network connections, anything). But the "everything is a file" idea leads to an entirely different approach to computing. You can connect the output of one program to the input of another. Then connect the output of that program to the input of a third, and so on. Unix tends to encourage the use of lots of little tools that add up to big tools. For example, you can run a program that lists all the current users of the system, "pipe" its output to a program that searches for certain names, pipe its output to a program that reformats it to three-column mode, then pipe that output to a printer program that turns it into nicely-rendered PostScript and sends that to a printer. Arguably Linux is more object-oriented than Windows. Every feature can be manipulated in certain common ways. The most common terminal emulator in Unix is the 'xterm', which provides VT100, ANSI, and other terminal support. Add a modem-dialing program that pipes its output to the input of xterm, and you instantly have a versatile and powerful communication program. There are standalone programs that support ZMODEM, YMODEM, and other dialup protocols - add them to the mix and our communication program can support all types of uploads and downloads. Because you can pipe whatever files you like to the input, it's totally scriptable. In fact, the Linux communication program "Seyon" is constructed in just this manner. Other things are represented by files, including the operating system itself. Type out the file "/proc/interrupts", and you have a list of the interrupts in use, what they are being used for, and how active they are. And this output can be piped into other programs that can automatically configure the system based on this information. The Unix way of combining simple tools in popwerful ways through a common means of communication gives a system that is amazingly powerful, flexible, and configurable. It does take some
file:///D|/Linux Presentation/3-3/learncurve.html (1 of 2) [08\23\2002 4:50:57 PM]

Disadvantages of Linux - Paradigm Shift

work to learn this new approach, though not as much as you might think. And when you have learned it, you can apply it to anything in the Unix world.

file:///D|/Linux Presentation/3-3/learncurve.html (2 of 2) [08\23\2002 4:50:57 PM]

Disadvantages of Linux - Paradigm Shift

There Are Ways To Make The Transition Easier


Many potential users of Linux are discouraged from exploring Linux because they don't want to start from scratch with an entirely new environment, wasting too much time learning new ways of doing things instead of being productive. Fortunately, there are several ways to practice with Unix-style tool and applications without jumping headlong into Linux. Lots of Unix-style programs have been ported to the Windows world. Even if you never end up using Linux, it may be worth it to add these to your current system. Cygnus Solutions offers a large collection of GNU Unix utilities ported to the Windows environment, available for free. Check out the GNU-Win32 project. There's also Virtunix, which also ports a large number of Unix programs to Windows. Both of them can be used together to give you a very Unix-like system without a full installation. If you want to get an idea of how a Unix GUI looks and behaves, check out Litestep, an alternative, Unix-like graphical shell for Windows 95, 98, and NT. The DOS / Windows to Linux HOWTO is full of tips, suggestions, definitions, and ways to bring your DOS and Windows knowledge over to Linux. There is even lsh, a command line that looks, acts, and feels like DOS. You can also use Bochs, a PC emulator that runs under Windows 9x or NT. You can install Linux on this virtual PC and try it out without having to repartition your drives or otherwise change your system. Of course, performance and stability may suffer, but it's one way to "try before you buy", so to speak. Of course, Linux can read (and even write, if you like) all your Windows files, since Linux supports FAT, FAT32, NTFS, OS/2's HPFS, and many, many more. If you have specialized TrueType fonts installed under Windows, let Linux use them too, without having to copy them to a Linux filesystem. There is also WINE, The WINdows Emulator, which allows you to run many Windows 3.1 and Windows 95 programs under Linux. While not all programs are supported, a very large number are (including many games) and more are supported all the time. Finally, there's DOSEMU, which does a very good job of emulating DOS. Most DOS-based applications, and a large number of DOS games, run very well in this emulator. Even Windows 3.1 will somewhat run in DOSEMU.

file:///D|/Linux Presentation/3-3/ease.html (1 of 2) [08\23\2002 4:50:57 PM]

Disadvantages of Linux - Paradigm Shift

file:///D|/Linux Presentation/3-3/ease.html (2 of 2) [08\23\2002 4:50:57 PM]

Disadvantages of Linux - Paradigm Shift

You Have To Look Under The Hood


Installing Linux requires you to find out about your hardware. You have to know brands, models, interrupts, I/O ports, and so on. Linux does autodetect a lot of hardware, but Linux has a lot more options about how that hardware can be used. You will need to make some decisions about how you want your system to behave. At the very least, though, you need to make sure that your hardware is supported by Linux. Even given all this, installation isn't that tough. Take a look at this article which actually finds a Linux install easier than Windows NT. Certainly you have to know about your hardware before you install Windows from scratch, too. Much of Linux can be set up automatically by the distribution's installation utilities. As you learn more, though, you'll want to customize your installation. For example, for an initial installation, distributions use a large kernel with every possible driver installed or present as a module. Although this isn't a problem by itself, it can slow down the bootup process, and definitely wastes some memory. By compiling a custom kernel (which can be done with GUI tools) you install exactly and only what you need. Linux applications are often very flexible and configurable, and you'll need to do some reading of the documentation to get the best possible performance out of them. Many of them are configured by editing text configuration files, like the ".INI" files of Windows. (There is nothing like the "Windows registry" in Linux - and many people consider this a very good thing). In the process of configuring the applications you will learn exactly how they work. One area where performance matters, and good knowledge of your hardware is essential, is configuring the X Window system. Acceptable if slow performance is possible using generic VGA or SVGA modes, but to get the best performance out of your monitor and video card you may have to look up some information in the manuals. But as noted before, the results can be well worth it.

file:///D|/Linux Presentation/3-3/underhood.html [08\23\2002 4:50:57 PM]

Disadvantages of Linux - Paradigm Shift

You Will Be More Productive


How much work have you lost to system crashes? Do you waste time waiting for your disk to stop churning when you switch applications? Is there a battle for the only computer in the house with Internet access? Do you have a fast machine and a slow one, and everyone fights over who gets to use them? Would you like to run your own webserver? Would you like to run your own mailserver? Would you like to experiment with Internetworking but can't find or afford all the right software? Are you a programmer? How many languages would you like to learn, but you can't afford the compilers? Would you like to learn from high-end, well-debugged and thoroughly tested software? Do you want to learn low-level programming without buying a separate "Driver Development Kit"? Do you want to be able to set things up to run automatically when you do certain things, or at certain times, but you can't afford the add-on Schedulers, and even if you could the applications you want to use aren't scriptable? Given the time and effort to learn it, Linux will reward you with absolute raw power over your system and freedom from hangs, crashes, "illegal operations" and reboots.

file:///D|/Linux Presentation/3-3/productive.html [08\23\2002 4:50:58 PM]

You might also like