Introduction to Linux

This topic was published by and viewed 2821 times since "". The last page revision was "".

Viewing 1 post (of 1 total)
  • Author

  • Test Dummy
    • Topics - 11
    • @testdummy

    Linux is an operating system that was initially created as a hobby by a young student, Linus Torvalds, at the University of Helsinki in Finland. Linus had an interest in Minix, a small UNIX system, and decided to develop a system that exceeded the Minix standards. He began his work in 1991 when he released version 0.02 and worked steadily until 1994 when version 1.0 of the Linux Kernel was released. The kernel, at the heart of all Linux systems, is developed and released under the GNU General Public License and its source code is freely available to everyone. It is this kernel that forms the base around which a Linux operating system is developed. There are now literally hundreds of companies and organizations and an equal number of individuals that have released their own versions of operating systems based on the Linux kernel.

    When Linus Torvalds first developed Linux back in August of 1991, the operating system basically consisted of his kernel and some GNU tools. With the help of others Linus added more and more tools and applications. With time, individuals, university students and companies began distributing Linux with their own choice of packages bound around Linus' kernel. This is where the concept of the "distribution" was born.

    Linus has placed the Linux kernel under the GNU General Public License, which basically means that you may freely copy, change, and distribute it, but you may not impose any restrictions on further distribution, and you must make the source code available. In addition, Linux is freely available, and no one is required to register with any central authority.

    Today, you can buy a boxed version of Linux from companies such as Red Hat, SuSE, MandrakeSoft and others. You can also download Linux from any number of companies and individuals. There are distributions of all types and for practically any kind of computing endeavor. There are versions of Linux that will give you a firewall, boot the entire OS from a CD-ROM, or can be used to power TV "set-top" boxes. No operating system can do everything, but Linux comes pretty close to being able to do it.

    Hardware Support

    Linux runs successfully on most computers, laptops, and platforms. There are several projects underway to port Linux to other hardware configurations. An overview of hardware compatibility resources are listed below.

    Supported systems and platforms include

    • x86 and x86-64 (Intel, Cyrix, and AMD)
    • IDT WinChip C6
    • Symmetrical Multiprocessing (multiple CPUs)
    • NUMA systems
    • ARM (Aarch32 and Aarch64)
    • MIPS
    • MicroBlaze
    • SPARC
    • PowerPC
    • and many more

    Despite what some may say, Linux is perfectly suitable to run numerous computers, Linux lets you do everything you want to do. You may have read or heard people say that Linux works well on older hardware. In a general sense, this is true. However, "works well" depends on what you are going to do with the machine. Linux is also well suited to work as a central server for a business. With Linux, you can serve your own web pages up for public consumption and handle your own email, easing uptime and privacy concerns. You can centralize your print and file services with one Linux server running an application known as Samba. The hardware does not have to be top of the line either. You can take advantage of older hardware to get these tasks done with Linux.

    What is Linux?

    The name "Linux" is used to refer to three similar yet slightly different things, which can be confusing to all but the hardcore geek. The three usages vary by how much of a complete software system the speaker is talking about.

    At the lowest level, every Linux system is based on the Linux kernel — the very low-level software that manages your computer hardware, multi-tasks the many programs that are running at any given time, and other such essential things. These low-level functions are used by other programs, so their authors can focus on the specific functionality they want to provide. Without the kernel, your computer is a very expensive doorstop. It has all of the features of a modern operating system: true multitasking, threads, virtual memory, shared libraries, demand loading, shared, copy-on-write executables, proper memory management, loadable device driver modules, video frame buffering, and TCP/IP networking.

    Most often, the name "Linux" is used to refer to the Linux Operating System. An OS includes the kernel, but also adds various utilities - the kinds of programs you need to get anything done. For example, it includes a shell (the program that provides a command prompt and lets you run programs), a program to copy files, a program to delete files, and many other odds and ends. Some people honor the request of Richard Stallman and the GNU Project, and call the Linux OS GNU/Linux, because a good number of these utility programs were written by the GNU folks.

    Finally, software companies (and sometimes volunteer groups) add on lots of extra software, like the XFree86 X Window System, Gnome, KDE, games and many other applications. These software compilations which are based on the Linux OS are called Linux distributions.

    So, there are three Linuxes: the Linux kernel, the Linux OS, and the various Linux distributions. Most people, however, refer to the operating system kernel, system software, and application software, collectively, as "Linux", and that convention is used in this FAQ as well.

    Linux is considered a Unix-like (or Unixoid) system. Officially an operating system is not allowed to be called a Unix until it passes the Open Group's certification tests, and supports the necessary API's. Nobody has yet stepped forward to pay the large fees that certification involves, so we're not allowed to call it Unix. Certification really doesn't mean very much anyway. Very few of the commercial operating systems have passed the Open Group tests.


    • multitasking: several programs running at the same time
    • multiuser: several users on the same machine at the same time
    • multiplatform: runs on many different CPUs, not just Intel.
    • multiprocessor: SMP support is available
    • multithreading: has native kernel support for multiple independent threads of control within a single process memory space
    • runs in protected mode on the 386.
    • has memory protection between processes, so that one program cannot bring the whole system down
    • demand loaded executables: Linux only reads from disk those parts of a program that are actually used.
    • shared copy-on-write pages among executables. This means that multiple process can use the same memory to run in. When one tries to write to that memory, that page (4KB piece of memory) is copied somewhere else. Copy-on-write has two benefits: increasing speed and decreasing memory use.
    • virtual memory using paging (not swapping whole processes) to disk
    • a unified memory pool for user programs and disk cache, so that all free memory can be used for caching, and the cache can be reduced when running large programs
    • dynamically linked shared libraries (DLL's), and static libraries too, of course
    • does core dumps for post-mortem analysis, allowing the use of a debugger on a program not only while it is running but also after it has crashed
    • compatible with POSIX, System V, and (almost) BSD at the source level.
    • mostly compatible with SCO, SVR3, and SVR4 at the binary level.
    • POSIX job control
    • pseudoterminals (pty's)
    • 387-emulation
    • support for many national or customized keyboards, and it is fairly easy to add new ones dynamically
    • multiple virtual consoles
    • Supports several common filesystems, including minix, Xenix, and all the common system V filesystems
    • transparent access to MS-DOS partitions (or OS/2 FAT partitions)
    • Special filesystem called UMSDOS which allows Linux to be installed on a DOS filesystem
    • HPFS-2 support for OS/2 2.1
    • HFS (Macintosh) file system support is available separately as a module.
    • CD-ROM filesystem which reads all standard formats of CD-ROMs.
    • TCP/IP networking, including ftp, telnet, NFS, etc.
    • Appletalk server
    • Netware client and server
    • Lan Manager/Windows Native (SMB) client and server
    • Many networking protocols: the base protocols available in the latest development kernels include TCP, IPv4, IPv6, AX.25, X.25, IPX, DDP (Appletalk), Netrom, and others. Stable network protocols included in the stable kernels currently include TCP, IPv4, IPX, DDP, and AX.25.

    Further Reading

    The user "Test Dummy" (@testdummy & 87535) is an account used by the admins to run tests or anonymously post on another's behalf.

Viewing 1 post (of 1 total)