Linux Docu
Linux Docu
Columban College
Olongapo City
Linux
A Research Paper Submitted in Partial
Fulfillment of the Course Requirements in
BSIT12-Operating System
TWF-1:30-3:00pm
Submitted to:
Mrs.Kaye Dominado-Sibayan
Submitted by:
Vincent Hernandez
History
In April 1991, Linus Torvalds, a 21-year-old student at the University of Helsinki, Finland
started working on some simple ideas for an operating system. He started with a task
switcher in Intel 80386 assembly language and a terminal driver. Then, on 26 August
1991, Torvalds posted the following to comp.os.minix, a newsgroup on Usenet:
I'm doing a (free) operating system (just a hobby, won't be big and professional like gnu)
for 386(486) AT clones. This has been brewing since April, and is starting to get ready.
I'd like any feedback on things people like/dislike in minix, as my OS resembles it
somewhat (same physical layout of the file-system (due to practical reasons) among
other things).
I've currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies
that I'll get something practical within a few months [...] Yes - it's free of any minix code,
and it has a multi-threaded fs. It is NOT portable (uses 386 task switching etc), and it
probably never will support anything other than AT-harddisks, as that's all I have :-(.
[...] It's mostly in C, but most people wouldn't call what I write C. It uses every
conceivable feature of the 386 I could find, as it was also a project to teach me about
the 386. As already mentioned, it uses a MMU, for both paging (not to disk yet) and
segmentation. It's the segmentation that makes it REALLY 386 dependent (every task
has a 64Mb segment for code & data - max 64 tasks in 4Gb. Anybody who needs more
than 64Mb/task - tough cookies). [...] Some of my "C"-files (specifically mm.c) are
almost as much assembler as C. [...] Unlike minix, I also happen to LIKE interrupts, so
interrupts are handled without trying to hide the reason behind them. [11]
After that, many people contributed code to the project. Early on, the MINIX community
contributed code and ideas to the Linux kernel. At the time, the GNU Project had
created many of the components required for a free operating system, but its own
kernel, GNU Hurd, was incomplete and unavailable. The BSD operating system had not
yet freed itself from legal encumbrances. Despite the limited functionality of the early
versions, Linux rapidly accumulated developers and users.
By September 1991, Linux version 0.01 was released, uploading it to the FTP server
(ftp.funet.fi) of the Helsinki University of Technology (HUT). It had 10,239 lines of code.
In October 1991, Linux version 0.02 was released.
In December 1991, Linux 0.11 was released. This version was the first to be self-hosted
- Linux 0.11 could be compiled by a computer running Linux 0.11. When he released
version 0.12 in February 1992, Torvalds adopted the GNU General Public License
(GPL) over his previous self-drafted license, which had not permitted commercial
redistribution.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
A newsgroup known as alt.os.linux was started, and on 19 January 1992, the first post
to alt.os.linux was made.[14] On 31 March 1992, alt.os.linux became comp.os.linux.
The X Window System was soon ported to Linux. In March 1992, Linux version 0.95
was the first to be capable of running X. This large version number jump (from 0.1x to
0.9x) was due to a feeling that a version 1.0 with no major missing pieces was
imminent. However, this proved to be somewhat overoptimistic, and from 1993 to early
1994, 15 development versions of version 0.99 appeared.
On 14 March 1994, Linux 1.0.0 was released, with 176,250 lines of code. In March
1995, Linux 1.2.0 was released (310,950 lines of code).
Version 2 of Linux, released on 9 June 1996, was followed by additional major versions
under the version 2 header:
In July 2009 Microsoft submitted Hyper-V drivers to the kernel, which improve the
performance of virtual Linux guest systems in a Windows hosted environment. Microsoft
was forced to submit the code when it was discovered that Microsoft had incorporated a
Hyper-V network driver with GPL-licensed components statically linked to closed-source
binaries. While Microsoft has done some interim work on the drivers, they are not
officially supported by the company and are slated for removal as of kernel version
2.6.35.
Versions Feature
Version 1.0 of the Linux kernel was released on 14 March 1994. This release of the
Linux kernel only supported single-processor i386-based computer systems. Portability
became a concern, and so version 1.2 (released 7 March 1995) gained support for
computer systems using processors based on the Alpha, SPARC, and MIPS
architectures.
Version 2.0 was released 9 June 1996. There were 41 releases in the series. The major
feature of 2.0 was SMP support (that is, support for multiple processors in a single
system) and support for more types of processors.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
Version 2.2 (released 26 January 1999) removed the global spinlock and provided
improved SMP support, and added support for the m68k and PowerPC architectures as
well as new filesystems (including read-only support for Microsoft’s NTFS filesystem).
Version 2.4.0, released on 4 January 2001, [61] contained support for ISA Plug and Play,
USB, and PC Cards.[62] It also included support for the PA-RISC processor from
Hewlett-Packard. Development for 2.4.x changed a bit in that more features were made
available throughout the duration of the series, including: support for Bluetooth, Logical
Volume Manager (LVM) version 1, RAID support, InterMezzo and ext3 filesystems.
Version 2.6.0 was released on 18 December 2003. The 2.6 series of kernels is still the
active series of stable kernels as of September 2010. The development for 2.6. x
changed further towards including new features throughout the duration of the series.
Among the changes that have been made in the 2.6 series are: integration of µClinux
into the mainline kernel sources, PAE support, support for several new lines of CPUs,
integration of ALSA into the mainline kernel sources, support for up to 2 32 users (up
from 216), support for up to 2 29 process IDs (up from 2 15), substantially increased the
number of device types and the number of devices of each type, improved 64-bit
support, support for filesystems of up to 16 terabytes, in-kernel preemption, support for
the Native POSIX Thread Library, User-mode Linux integration into the mainline kernel
sources, SELinux integration into the mainline kernel sources, Infiniband support, and
considerably more. Also notable are the addition of several filesystems throughout the
2.6.x releases: FUSE, JFS, XFS, ext4 and more.
Maintenance
While Linus Torvalds supervises code changes and releases to the latest kernel versions, he has
delegated the maintenance of older versions to other programmers. Major releases as old as 2.0
(officially made obsolete with the kernel 2.2.0 release in January 1999) are maintained as
needed, although at a very slow pace.
Kernel Current
Maintainer Support Model
series version
2.4 2.4.37.10[74] Willy Tarreau (former maintainer Will be EOL if no major bugs reported by
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
Marcelo Tosatti) September 2011
2.6.x 2.6.35.7[1] Linus Torvalds (current only) (releases every three months)
2.6.x-linux- next-
latest develo
next 20100820[2]
Development model
The current development model of the Linux kernel is such that Linus Torvalds makes the
releases of new versions, also called the "vanilla" or "mainline" kernels, meaning that they
contain the main, generic branch of development. This branch is officially released as a new
version approximately every three months, after Torvalds does an initial round of integrating
major changes made by all other programmers, and several rounds of bug-fix pre-releases.
In the current scheme, the main branch of development is not a traditional "stable" branch,
instead it incorporates all kinds of changes, both the latest features as well as security and bug
fixes. For users who do not want to risk updating to new versions containing code that may not
be well tested, a separate set of "stable" branches exist, one for each released version, which are
meant for people who just want the security and bug fixes, but not a whole new version. These
branches are maintained by the stable team (Greg Kroah-Hartman, Chris Wright, maybe others).
Most Linux users use a kernel supplied by their Linux distribution. Some distributions ship the
"vanilla" and/or "stable" kernels. However, several Linux distribution vendors (such as Red Hat
and Debian) maintain another set of Linux kernel branches which are integrated into their
products. These are by and large updated at a slower pace compared to the "vanilla" branch, and
they usually include all fixes from the relevant "stable" branch, but at the same time they can
also add support for drivers or features which had not been released in the "vanilla" version the
distribution vendor started basing their branch from.
The development model for Linux 2.6 was a significant change from the development model for
Linux 2.5. Previously there was a stable branch (2.4) where only relatively minor and safe
changes were merged, and an unstable branch (2.5), where bigger changes and cleanups were
allowed. Both of these branches had been maintained by the same set of people, led by Torvalds.
This meant that users would always have a well-tested 2.4 version with the latest security and
bug fixes to use, though they would have to wait for the features which went into the 2.5 branch.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
The downside of this was that the "stable" kernel ended up so far behind that it no longer
supported recent hardware and lacked needed features. In the late 2.5.x series kernel some
maintainers elected to try and back port their changes to the stable series kernel which resulted in
bugs being introduced into the 2.4.x series kernel. The 2.5 branch was then eventually declared
stable and renamed to 2.6. But instead of opening an unstable 2.7 branch, the kernel developers
elected to continue putting major changes into the 2.6 branch, which would then be released at a
pace faster than 2.4.x but slower than 2.5.x. This had the desirable effect of making new features
more quickly available and getting more testing of the new code, which was added in smaller
batches and easier to test.
As a response to the lack of a stable kernel tree where people could coordinate the collection of
bug fixes as such, in December 2005 Adrian Bunk announced that he would keep releasing
2.6.16.y kernels when the stable team moved on to 2.6.17. He also included some driver updates,
making the maintenance of the 2.6.16 series very similar to the old rules for maintenance of a
stable series such as 2.4. Since then, the "stable team" had been formed, and it would keep
updating kernel versions with bug fixes. In October 2008 Adrian Bunk announced that he will
maintain 2.6.27 for a few years as a replacement of 2.6.16. The stable team picked up on the idea
and as of 2010 they continue to maintain that version and release bug fixes for it, in addition to
others.
After the change of the development model with 2.6.x, developers continued to want what one
might call an unstable kernel tree, one that changes as rapidly as new patches come in. Andrew
Morton decided to repurpose his -mm tree from memory management to serve as the destination
for all new and experimental code. In September 2007 Morton decided to stop maintaining this
tree. In February 2008, Stephen Rothwell created the linux-next tree to serve as a place where
patches aimed to be merged during the next development cycle are gathered. Several subsystem
maintainers also adopted the suffix -next for trees containing code which is meant to be
submitted for inclusion in the next release cycle.
Person Involved
Linus Benedict Torvalds (born December 28, 1969 in Helsinki, Finland) is a
Finnish software engineer best known for having initiated the development of the Linux
kernel and git revision control system.
He later became the chief architect of the Linux kernel, and now acts as the project's
coordinator.
He is also the maintainer of the linux-hotplug and created the udev projects.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
Advantage
Low cost: You don’t need to spend time and money to obtain licenses since Linux and
much of its software come with the GNU General Public License.
You can start to work immediately without worrying that your software may stop
working anytime because the free trial version expires.
Additionally, there are large repositories from which you can freely download high
quality software for almost any task you can think of.
It doesn’t freeze up or slow down over time due to memory leaks and such.
Continuous up-times of hundreds of days (up to a year or more) are not uncommon.
It can handle unusually large numbers of users simultaneously, and can make old
computers sufficiently responsive to be useful again.
Network friendliness: Linux was developed by a group of programmers over the Internet
and has therefore strong support for network functionality; client and server systems
can be easily set up on any computer running Linux.
It can perform tasks such as network backups faster and more reliably than alternative
systems.
Flexibility: Linux can be used for high performance server applications, desktop
applications, and embedded systems.
You can save disk space by only installing the components needed for a particular use.
You can restrict the use of specific computers by installing for example only selected
office applications instead of the whole suite.
Compatibility: It runs all common Unix software packages and can process all
common file formats.
Choice: The large number of Linux distributions gives you a choice. Each distribution is
developed and supported by a different organization.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
You can pick the one you like best; the core functionalities are the same; most software
runs on most distributions.
Fast and easy installation: Most Linux distributions come with user-friendly installation
and setup programs.
Popular Linux distributions come with tools that make installation of additional software
very user friendly as well.
Full use of hard disk: Linux continues work well even when the hard disk is almost full.
Multitasking: Linux is designed to do many things at the same time; e.g., a large
printing job in the background won’t slow down your other work.
Security: Linux is one of the most secure operating systems. “Walls” and flexible file
access permission systems prevent access by unwanted visitors or viruses.
Linux users have to option to select and safely download software, free of charge, from
online repositories containing thousands of high quality packages.
Open Source: If you develop software that requires knowledge or modification of the
operating system code, Linux’s source code is at your fingertips.
Disadvantage
1.There’s no standard edition of Linux. Whereas Microsoft offers several different
editions of each version of Windows, there are countless variations of Linux. For a new
user it can be confusing to work out which is best for you.
2.Linux has patchier support for drivers (the software which coordinates your hardware
and your operating system).
This means you’ll sometimes find it trickier to get a new device set up.
3.Linux is, for new users at least, not as easy to use as Windows. That’s largely
because Linux gives you more control, but does mean you’ll have to spend some time
getting used to the way it works.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
4.Because Linux is neither as popular as Windows, nor a commercial product, support
works in a different way. You may have to look harder to find the answer to a problem
and, while Linux supporters are more likely to offer help, it may not always match your
own level of technical understanding.
5.Many of the programs you are used to in Windows will only run in Linux through a
complicated emulator. These programs aren’t guaranteed to work perfectly, and in
some cases may be noticeably slower.
6.While Linux can be suitable for an individual user, its small market share means it’s
much harder to introduce in a corporate setting. With most office workers already
familiar with Windows and Microsoft programs, there’ll likely be a notable time cost in
converting staff to using a Linux system.
7.While there are perfectly passable alternatives to many popular Windows programs
(such as the various Office components), some high-end applications such as
Photoshop don’t have as close equivalents in Linux.
8.Fans of PC gaming may find Linux offers them a much more limited range. That’s
partially because the latest games are nearly always a commercial operation and much
harder to reproduce in Linux because they are much more individual than, for example,
office software.
9.While there’s no specific reason why this should be the case, in practice quite a few
users report finding printing can be troublesome to set up in Linux.
10.Because Linux is a free, open source system, there are no legal comebacks if you
find software isn’t up to scratch or if it causes a problem. While there’s no guarantee
you’d win, you do at least have some right of complaint with commercial products such
as Windows.
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel
Screenshots
http://wiki.answers.com/Q/What_are_the_advantages_and_disadvantages_of_Linux
http://en.wikipedia.org/wiki/Linux_kernel