History of Computers - Linux

From SJS Wiki
Revision as of 10:11, 8 September 2013 by Karaja (Talk | contribs)

Jump to: navigation, search

Linux is a Unix-like, low-cost, open-source operating system written in C language. The Linux kernel (core of the operating system that carries out system functions) was created by a University of Helsinki student, Linus Torvalds, in 1991. Linux was originally designed for PCs based on Intel x-86 architecture, but it has since been adapted for more computer hardware platforms than any other operating system.[1][2]


linux-150x150.jpg[3]


Overview

The Linux kernel is monolithic (in contrast to microkernels), meaning that it controls hardware and computer processing (including file system access, memory management, device drivers, etc.) at the lowest level.[4] [5]


An installed Linux system may have the following:

  • bootloader (program executed when the computer is turned on; loads the Linux kernel into RAM): examples are GNU GRUB or LILO
  • init program: first process launched by Linux kernel; starts processes like system services and login prompts
  • software libraries (contain code that can be used by running processes): the most commonly used one on Linux systems is the GNU C library
  • graphical user interface (GUI): the most commonly used one on Linux systems is built on top of an implementation of the X Window System
  • userland (programs and libraries the operating system uses to interact with the kernel): the GNU userland is most commonly used; it provides a shell, an implementation of the C library, and many of the common Unix tools used to carry out basic operating system tasks[2]


Linux has all the features of Unix and supports the following:

  • multitasking: allows several programs to run at the same time
  • memory protection: protects against one program bringing the whole system down
  • multi-user usage: allows several users on the same machine at the same time
  • multithreading: having several, independent threads of control
  • virtual memory: maps virtual addresses used by a program into physical addresses in computer memory
  • demand loading: only reading into RAM the parts of the program that are necessary
  • copy-on-write: if more than one copy of an application is loaded, all tasks can share the same memory; this decreases memory usage and increases speed
  • swap space: pages of memory can be written to a reserved area of a disk (the swap space) and treated as an extension of physical memory (RAM); used when the amount of physical RAM available is insufficient
  • multiple virtual consoles: allows for up to 64 independent login sessions through the console
  • supports a variety of file systems: including minix, Xenix, and V file systems[6][4]

Linux runs on many different CPUs (not just Intel's) and is used on a wide range of devices: servers, mainframes and supercomputers, desktops, electric keyboards, readers, etc. In fact, more than 90% of today's fastest supercomputers run some form of Linux. Linux even runs on embedded systems, in which the operating system is built into non-volatile memory (such as ROM); for example, it is used on mobile phones (the Android system is built upon the Linux kernel), tablet computers, network routers, televisions, and video game consoles. [2]

The Linux kernel, in combination with many other utilities and applications that together form the complete operating system, is called a distribution. Linux has been packaged into over 300 distributions, with about a dozen for general-purpose use. Popular distributions include Debian (and its derivatives, Linux Mint and Ubuntu), Fedora (and its derivatives, Red Hat and CentOS), Mandriva/Mageia, openSUSE, and Arch Linux. [7][2]

Linux was released under the GNU General Public License (GPL), which allows people to take free software and distribute their own versions of it with or without charge, as long as they make the source code for their modifications available. Linux is still being developed and managed by the open-source community. Cite error: Closing </ref> missing for <ref> tag

References

  1. http://www.linux.org/threads/what-is-linux.4076/
  2. 2.0 2.1 2.2 2.3 http://en.wikipedia.org/wiki/Linux
  3. http://www.comtecknet.com/2010/03/18/breve-historia-de-linux/
  4. 4.0 4.1 http://library.thinkquest.org/C003740/history.html
  5. http://www.techopedia.com/definition/27003/monolithic-kernel
  6. http://www.etechplanet.com/blog/key-features-of-the-linux-operating-system.aspx
  7. http://www.tldp.org/HOWTO/INFO-SHEET-1.html