Linux, also known as GNU/Linux, is a free, UNIX-like operating system, developed originally for home PCs, but which now runs on practically every hardware platform available including PowerPC, Macintosh, DEC Alpha, Sun Sparc, ARM, Mainframes, and many others. Linux aims for POSIX compliancy to maintain maximum compatibility with other UNIX-like systems. With millions of users worldwide, Linux is probably the most popular UNIX-like OS in the world.
The Linux System
The central nervous system of Linux is the kernel, the operating system code which runs the whole computer. The kernel is under constant development and is always available in both the latest stable release and the latest experimental release. Progress on development is very fast, and the recent 2.6-series kernels are simply amazing on all counts. The kernel design is modular, so that the actual OS code is very small yet able to load whatever functionality it needs when it needs it. Because of this, the kernel remains small and fast yet highly extensible, in comparison to other operating systems which slow down the computer and waste memory by loading everything all the time, whether it is needed or not.
Linux systems excel in many areas, ranging from end-user concerns such as stability, speed, and ease of use, to serious concerns such as development and networking. Nowadays, Linux even offers a wide variety of free and commercial productivity packages such as the OpenOffice suite which can import and export files from other platforms, including Windows and MacOS.
Linux has long been praised for its stability--Linux boxes are known for running months or even years at a time without crashing, freezing, or having to be rebooted. Linux users sometimes poke fun at other, less stable operating systems, by way of screensavers like BSOD (Blue Screen of Death, which displays crash screens from various other platforms).
Linux is extremely secure compared to other platforms. Viruses and Trojan Horse programs are practically non-existent. Linux servers practically run the World Wide Web, so one cannot argue that there are so few malicious programs for Linux because it represents an insignificant number of target machines.
So much of the web is built on Linux that the acronym LAMP has emerged. LAMP represents Linux, Apache (web server), MySQL (database) and PHP (web application language). This acronym may need to be changed eventually due to the rapid growth of PostgreSQL, Ruby, and Java on Linux web servers.
Unlike some commercial operating systems, no free Linux distributions impose any artificial constraints on how you use the operating system. There are no arbitrary limits to the number of user accounts you can create, the number of simultaneous connections your Linux-based web server can handle, or arbitrary limits any other Linux resources.
Linux machines are known to be extremely fast, because the operating system is very efficient at managing resources such as memory, CPU power, and disk space. NASA, Sandia, Fermilabs and many others have built very powerful yet inexpensive supercomputers by creating clusters of Linux boxes running in parallel. Clusters of Linux systems have been responsible for rendering the graphics for movies like Shrek, Titanic, and many others.
Many high-profile organizations have adopted Linux. For example, visit the NOAA (the National Weather Service at www.srh.noaa.gov) and you can thank Linux for the weather reports you will see online.
Linux has dozens of different, highly configurable graphical interfaces (known as window managers) which run on top of Xorg, a free implementation of the X Window System. The most popular complete desktop environments at present are KDE (the K Desktop Environment) and GNOME (the GNU Network Object Model Environment). These offer the point-and-click, drag-and-drop functionality associated with other user-friendly environments (for example, Macintosh). Both can be configured to look and feel like other environments such as Windows or Mac, and KDE is remarkably extensible. Even complex tasks like system administration, package installation, upgrading, and network configuration can be done easily through graphical programs. Almost all programs that work with one window manager work with all the others, so you don't need to feel like you must pick your favorite desktop environment based on your favorite applications.
Xorg now supports 3-D windowing environments such as Beryl and Compiz for amazing visual effects, and most people won't have to upgrade their computers in order to take advantage of these enhancements.
Programmers often find that the Linux development environment is second to none--a good thing for end users who depend on these software developers to provide free software. Nearly all development software for Linux is free and covered under the GNU Public License, which guarantees that it will always remain free. Linux systems come standard with C and C++ compilers and an assembler, and usually include Pascal, FORTRAN, compiled Java, Perl, Python, and BASIC implementations as well. In addition, modern languages like Ruby and classic languages like LISP are all available, fully functional and completely free.
Linux runs two of the most popular development environments, Eclipse and KDevelop, and you can use these environments to with just about any programming language available. These two development tools support web application development, but there are additional free/open source highly sophisticated development tools dedicated to building web applications.
In addition, the source code for nearly any Linux program is freely available (and often included by default). This not only means that bugs are discovered and corrected almost immediately, but development of software proceeds at a much faster pace than one finds even at extremely successful commercial software houses. This phenomenon is called Open Source and is the subject of much discussion and amazement in the business world, the computer world, and the press.
The Open Source nature of Linux also makes it ideal for embedded and specialized systems (routers, cell phones, multimedia entertainment centers, point-of-sale systems), because there's no limit to what you can do to customize Linux for your special needs.
Networking comes naturally to Linux. Probably all networking protocols in use on the Internet are native to UNIX and/or Linux, so one can expect that UNIX and Linux would network better than any other platforms. Setting up a network on a Linux machine is surprisingly simple, because Linux handles most of the work.
A large part of the Web is running on Linux boxes, especially because of the Apache Web Server which dramatically defeated its commercial competitors, proving the effectiveness and viability of the Open Source approach.
Productivity software availability has exploded in recent years, and commercial developers have been producing excellent software for the Linux platform. The Firefox browser, Opera, and Mozilla are freely available (with some licensing restrictions) as well as the OpenOffice productivity suite, KOffice and a host of others, which often come standard on Linux distributions. Many distributors package commercial software with their distributions, and many commercial producers offer free downloads for Linux. Linux productivity packages can usually read and write files from productivity packages on other platforms; Linux has always been at the leading edge of compatibility and openness.
Linux happily coexists on the same machine as other operating systems including Windows or Mac OSX, and Linux easily accesses the files stored by other operating systems. You can use one of many virtualization techniques to run Linux and Windows or any other operating system (even another version of Linux) on the same machine, simultaneously. You can run many Windows programs on Linux via Wine, or commercial helper products such as Crossover Office or Cedega, both of which even support the popular game Word of Warcraft! There are countless Linux distributions which run beautifully from a CD or DVD without the need to install the operating system. This makes it possible for new Linux users to see if they like Linux without erasing their old OS or having to buy another computer.
The open source nature of Linux guarantees it is here to stay, and the amazing growth of Linux over the past years bears that out. Best of all, as long as you stick with a truly free/open source operating system like Linux and truly free/open source applications, you can never get locked into depending on any particular vendor. Linux puts you in control of what you do with your software, how, when and if you choose to change or upgrade it.
|Designing Electronics with Linux||May 22, 2013|
|Dynamic DNS—an Object Lesson in Problem Solving||May 21, 2013|
|Using Salt Stack and Vagrant for Drupal Development||May 20, 2013|
|Making Linux and Android Get Along (It's Not as Hard as It Sounds)||May 16, 2013|
|Drupal Is a Framework: Why Everyone Needs to Understand This||May 15, 2013|
|Home, My Backup Data Center||May 13, 2013|
- Designing Electronics with Linux
- New Products
- Making Linux and Android Get Along (It's Not as Hard as It Sounds)
- Linux Systems Administrator
- Dynamic DNS—an Object Lesson in Problem Solving
- Senior Perl Developer
- Technical Support Rep
- UX Designer
- Using Salt Stack and Vagrant for Drupal Development
- Reply to comment | Linux Journal
5 hours 2 min ago
- Dynamic DNS
5 hours 36 min ago
- Reply to comment | Linux Journal
6 hours 35 min ago
- Reply to comment | Linux Journal
7 hours 25 min ago
- Not free anymore
11 hours 27 min ago
15 hours 14 min ago
- Reply to comment | Linux Journal
15 hours 22 min ago
- Understanding the Linux Kernel
17 hours 37 min ago
20 hours 6 min ago
- Kernel Problem
1 day 6 hours ago
Enter to Win an Adafruit Pi Cobbler Breakout Kit for Raspberry Pi
It's Raspberry Pi month at Linux Journal. Each week in May, Adafruit will be giving away a Pi-related prize to a lucky, randomly drawn LJ reader. Winners will be announced weekly.
Fill out the fields below to enter to win this week's prize-- a Pi Cobbler Breakout Kit for Raspberry Pi.
Congratulations to our winners so far:
- 5-8-13, Pi Starter Pack: Jack Davis
- 5-15-13, Pi Model B 512MB RAM: Patrick Dunn
- 5-21-13, Prototyping Pi Plate Kit: Philip Kirby
- Next winner announced on 5-27-13!
Free Webinar: Hadoop
How to Build an Optimal Hadoop Cluster to Store and Maintain Unlimited Amounts of Data Using Microservers
Realizing the promise of Apache® Hadoop® requires the effective deployment of compute, memory, storage and networking to achieve optimal results. With its flexibility and multitude of options, it is easy to over or under provision the server infrastructure, resulting in poor performance and high TCO. Join us for an in depth, technical discussion with industry experts from leading Hadoop and server companies who will provide insights into the key considerations for designing and deploying an optimal Hadoop cluster.
Some of key questions to be discussed are:
- What is the “typical” Hadoop cluster and what should be installed on the different machine types?
- Why should you consider the typical workload patterns when making your hardware decisions?
- Are all microservers created equal for Hadoop deployments?
- How do I plan for expansion if I require more compute, memory, storage or networking?