||As someone who is not particularly "tech-savvy" I encountered many problems with the technology and the confusing jargon that Linux users so liberally employ,...
You are not tech-savvy yet you were asked to engage in a far-reaching research project into the up-and-coming operating system Linux, or GNU/Linux as some of its more extreme supporters insist on calling it. First off you are not tech savvy yet you attempt to write an article about Linux. And who asked you to engage in this study? Must have been an idiot. Why do I say that? Because so many dumb asses refer to linux as an operating rather than what it is, a kernel. Not to mention your obvious lack of knowledge.
Now it's time for the long list of correction. I pwon't go into the opinion based bullshit like that fact that it's Linus Torvalds not Lunis Torrvaldez.
(A "patchy" server) A widely-used public domain, UNIX-based Web server from the Apache Group (www.apache.org). It is based on, and is a plug-in replacement for, NCSA's HTTPd server Version 1.3. The name came from a body of existing code and many "patch files."
(Aho Weinberger Kernighan) A UNIX programming utility developed in 1977 by Alfred Aho, Peter Weinberger and Brian Kernighan. Due to its unique pattern-matching syntax, awk is often used in data retrieval and data transformation. Awk is widely used to search for a particular occurrence of text and perform some operation on it. Awk is an interpreted language, which has been ported to other computing environments, including DOS.
(Bourne Again SHell shell) A command line processor for UNIX from the Free Software Foundation. It is the de facto command processor in Linux.
(Berkeley Software Distribution UNIX) A version of UNIX developed by the Computer Systems Research Group of the University of California at Berkeley from 1979 to 1993. BSD enhancements, known as the "Berkeley Extensions," include networking, virtual memory, task switching and large file names (up to 255 chars.). BSD's UNIX was distributed free, with a charge only for the media. USL code is contained in most BSD versions, and users require a valid USL license in such cases.
Bill Joy ran the group until 1982 when he co-founded Sun Microsystems, bringing 4.2BSD with him as the foundation of SunOS. The last BSD version released by BSD was 4.4BSD.
Berkeley Software Design, Inc., Colorado Springs, CO (www.bsdi.com), a private company founded in 1991, continued to develop BSD code until 2001, when Wind River Systems (www.windriver.com) acquired its software assets. Wind River also supports Free BSD, a collaborative open source effort.
A high-level programming language developed at Bell Labs that is able to manipulate the computer at a low level like assembly language. During the last half of the 1980s, C became the language of choice for developing commercial software.
C can be compiled into machine languages for almost all computers. For example, UNIX is written in C and runs in a wide variety of micros, minis and mainframes.
C, as well as C++, are written as a series of functions that call each other for processing. Even the body of the program is a function named "main." Functions are very flexible, allowing programmers to choose from the standard library that comes with the compiler, to use third party functions from other C suppliers, or to develop their own.
Compared to other high-level programming languages, C appears complicated. Its intricate appearance is due to its extreme flexibility. C was standardized by ANSI (X3J11 committee) and ISO in 1989. The Origins of C
Software that translates a program written in a high-level programming language (COBOL, C, etc.) into machine language. A compiler usually generates assembly language first and then translates the assembly language into machine language. A utility known as a "link editor" then combines all required machine language modules into an executable program that can run in the computer.
A UNIX utility (UNIX daemon) that executes commands in a crontab file at a specified time and date. Cron is used to schedule such functions as backup and maintenance procedures.
(Concurrent Versions System) A version control system for UNIX that was initially developed as a series of shell scripts in the mid-1980s. CVS maintains the changes between one source code version and another and stores all the changes in one file. It supports group collaboration by merging the files from each programmer.
A UNIX program that executes in the background ready to perform an operation when required. Functioning like an extension to the operating system, a daemon is usually an unattended process that is initiated at startup. Typical daemons are print spoolers and e-mail handlers or a scheduler that starts up another process at a designated time. The term comes from Greek mythology meaning "guardian spirit."
(Editor MACroS) A text editor developed at MIT by Richard Stallman that is used for writing UNIX programs. It provides a wide variety of editing features including multiple windows. GNU EMACS is maintained by the Free Software Foundation.
As an adjective: able to be run in its current format. As a noun: a program file ready to run in a particular environment. The file extension exe is short for executable.
This is software that is free either through licensing (open source software such as Linux) or cost alone (freeware). The term does not imply open source.
(Gnu's Not UNIX) A project sponsored by the Free Software Foundation that develops and maintains a complete software environment including operating system kernel and utilities, editor, compiler and debugger. Many consultants and organizations provide support for GNU software, and more than 150 software products are available online or on CD-ROM. For information, visit www.gnu.org.
Shory for General Public License. The license that accompanies the GNU software. Also known as a "copyleft," it gives everyone the right to use and modify the material as long as they make it available to everyone else with the same licensing stipulation.
(GNU Network Object Modeling Environment) A GUI-based user interface for Linux and other UNIX environments that grew out of the GNU project. Providing an alternative to the KDE interface, GNOME is either pronounced "guhnome" or "nome." Companies such as Red Hat Software (www.redhat.com) and Helix Code, Inc. (www.helixcode.com) support the GNOME environment. For more information, visit www.gnome.org.
(Global Regular Expression and Print) A UNIX pattern matching utility that searches files for a string of text and outputs any line that contains the pattern. Grep came from ed, the UNIX text editor, in which the expression g/re/p means "display all text in the file that matches this." That single function became a utility program itself.
(K Desktop Environment) A GUI-based user interface for UNIX workstations. It provides a complete desktop environment like Windows and the Mac with its own unique style and features. The source code is freely distributed and is maintained by developers around the world. Widely use with Linux, which is also freeware, information can be found at www.kde.org.
The fundamental part of a program, typically an operating system, that resides in memory at all times and provides the basic services. It is the part of the operating system that is closest to the machine and may activate the hardware directly or interface to another software layer that drives the hardware.
A version of UNIX that runs on a variety of hardware platforms including x86 PCs, Alpha, PowerPC and IBM's product line. Linux is open source software, which is freely available; however, the full distribution of Linux along with technical support and training are available for a fee from vendors such as Red Hat Software (www.redhat.com) and Caldera (www.caldera.com). The distribution CD-ROMs include the complete source code as well as hundreds of tools, applets and utilities.
Due to its stability, Linux has gained popularity with ISPs as the OS for hosting Web servers. Its usage is expected to grow as a server OS as well as for the desktop (see KDE and GNOME). IBM is supporting Linux for all of its hardware platforms in order to have a common OS for all product lines.
In 1990, Finnish computer science student Linus Torvalds turned Minix, a popular classroom teaching tool, into Linux, which is closer to the real UNIX. Torvalds created the kernel, and most of the supporting applications and utilities came from the GNU project of the Free Software Foundation. Many programmers have contributed to the Linux/GNU system. VA Linux Systems provides a Web site devoted entirely to Linux (www.linux.com).
As for the pronunciation of the word, if you live in Finland, you would say "lee-nooks," because Linus is pronounced "lee-noose." Since the English pronunciation of Linus is "line-us," many call it "line-ucks." Also quite common is "lin-ucks," which is somewhere in between. No matter how you say it, Linux is growing rapidly.
A version of UNIX for the PC, Mac, Amiga and Atari ST developed by Andrew Tannenbaum and published by Prentice-Hall. It comes with complete source code.
The code name for Netscape Navigator and Netscape's first alligator-like mascot. It stood for "Mosaic Killer." Mosaic was the Web browser that caused the Web to become popular, which was created by the same people who later founded Netscape.
In early 1998, Netscape Communicator was made free of charge, and its source code was also made available to the developer world. An internal group within Netscape, entitled "mozilla.org," was created to act as a central clearing house for improvements made to Communicator by third parties. For more information, visit www.mozilla.org.
A version of mSQL
Free source code of a program, which is made available to the development community at large. The rationale is that a broader group of programmers will utlimately produce a more useful and more bug-free product for everyone, especially because more people will be reviewing the code. Peer review is considered one of the most important safeguards to prevent buggy code, but is often not given enough, if any, attention by software companies. Peer review is a natural byproduct of open source projects.
In addition to having better code, open source software allows an organization to modify the product for its own use rather than hope that the vendor of a proprietary product will implement its suggestions in a subsequent release. Examples of popular open source programs are the Apache Web server, sendmail mail server and Linux operating system. Netscape Communicator was made open source in 1998 (see Mozilla). For more information, visit www.opensource.org.
(Practical Extraction Report Language) A programming language written by Larry Wall that combines syntax from several UNIX utilities and languages. Introduced in 1987, Perl is designed to handle a variety of system administrator functions and provides comprehensive string handling functions. It is widely used to write Web server programs for such tasks as automatically updating user accounts and newsgroup postings, processing removal requests, synchronizing databases and generating reports. Perl has also been adapted to non-UNIX platforms.
A popular, object-oriented scripting language used for writing system utilities and Internet scripts. It is also used as a glue language for integrating components in C and C++. Created by Guido van Rossum in Amsterdam in the early 1990s, it was named after the BBC comedy series "Monty Python's Flying Circus." Python is an interpreted language that compiles to bytecode and requires a "virtual machine" for runtime execution. It uses elements from C, C++ and Modula and supports interfaces to popular functions and libraries such as UNIX sockets, the Tk GUI library, Microsoft Foundation Classes (MFC) and X11.
A person with unlimited access privileges who can perform any and all operations on the computer. Also called "superuser." In Windows this account is referred to as Administrator. Various other administrator-like accounts can be created or permissions can be set to give limited priviledges to other accounts in Windows, Unix, and other OSes.
The top level of a hierarchy. (For example Unix = /, Windows = \)
(SaMBa) Software that allows a UNIX server to act as a file server to Windows clients. Samba is a free, open source implementation of the CIFS file sharing protocol, which evolved from SMB, hence the SMB in SaMBa. Samba runs under Linux, FreeBSD and other UNIX variants. It can be used with any modern PC as well as other hardware, but due to its efficiency, it also lends itself to old 486s that are recycled to serve as inexpensive file, print and backup servers in a Windows environment.
(Stream EDitor) A UNIX text editor that processes an entire file. It executes "ed" commands from an earlier UNIX editor, but instead of interactively editing text one line at a time, sed applies the commands to the entire file. Thus, sed is the stream-oriented version of ed.
The outer layer of a program that provides the user interface, or way of commanding the computer. In UNIX, the Bourne shell was the original command processor, with C shell and Korn shell developed later. In DOS, the shell command typically specifies COMMAND.COM, the command processor that interprets commands such as Dir and Type. DOS also came with an optional user interface with menus, known as the DOS Shell, but was never very popular.
A file of executable UNIX commands that is created in a text editor. When the file is run, each command is executed until the end of the file is reached. Shell scripts are the UNIX counterpart to DOS batch files and scripts supported by the Windows Scripting Host. Once the shell script is written, it is made usable by changing its file status to "executable" with the UNIX chmode (change mode) command.
Programming statements and instructions that are written by a programmer. Source code is what a programmer writes, but it is not directly executable by the computer. It must be converted into machine language by compilers, assemblers or interpreters.
In some cases, source code can be machine generated by conversion programs that convert the source code of one programming language or dialect into the source code of another language or dialect.
A disk file used to temporarily save a program or part of a program running in memory.
(Visual Interface) A UNIX full-screen text editor that can be run from a terminal or the system console. It is a fast, programmer-oriented utility.
(Virtual Interface) A memory to memory transport protocol that is used for high-speed transfer of data between machines. Used in clusters of two or more computers, VI enables long blocks of data to be sent from one application in one machine directly to another application in a remote machine without the overhead associated with being broken up into packets by a transport protocol. However, the lower data link protocols VI relies on to transmit over a network may or may not break up the data into frames. Another feature is VI's ability to communicate directly from the application's buffer to the network interface and bypass the operating system. Also known as Virtual Interface Architecture (VIA), VI could be considered a "remote DMA."
Simulating more memory than actually exists, allowing the computer to run larger programs or more programs concurrently. It breaks up the program into small segments, called "pages," and brings as many pages into memory that fit into a reserved area for that program. When additional pages are required, it makes room for them by swapping them to disk. It keeps track of pages that have been modified, so that they can be retrieved when needed again.
If a program's logic points back and forth to opposite ends of the program, excessive disk accesses, or "thrashing," can slow down execution.
Virtual memory can be implemented in software only, but efficient operation requires virtual memory hardware. Virtual memory claims are sometimes made for specific applications that bring additional parts of the program in as needed; however, true virtual memory is a hardware and operating system implementation that works with all applications.
Software incorporated into all popular GUIs, which displays a window with accompanying menus, buttons and scroll bars. It allows the windows to be relocated, overlapped, resized, minimized and maximized.
(WINdows Emulator) Software that emulates Windows applications under certain versions of UNIX (such as Linux) running on an x86 machine. It is made up of two components. The program loader loads and executes Windows binaries, and an emulation library converts Windows calls into X Window calls.
(X Window System) Also called "X Windows" and simply "X," it is a windowing system developed at MIT, which runs under UNIX and all major operating systems. It lets users run applications on other computers in the network and view the output on their own screen.
X Window generates a rudimentary window that can be enhanced with GUIs, such as Open Look and Motif, but does not require applications to conform to a GUI standard. The window manager component of the GUI allows multiple resizable, relocatable X windows to be viewed on screen at the same time.
X client software resides in the computer that performs the processing and X server software resides in the computer that displays it. Both components can also be in the same machine. This seems opposite to today's client/server terminology, but the concept is that the server is "serving up" the image.