linux kernel 2

Upload: palselgonda

Post on 02-Apr-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 Linux Kernel 2

    1/4

    LINUX KERNEL 2.6

    INTERNAL GUIDE: B.PADMAJA

    NAME: T.RAMNATH REDDY

    ROLL NO. : 10U51A1257

    BRANCH: INFORMATION TECHNOLOGY

    SECTION: B

  • 7/27/2019 Linux Kernel 2

    2/4

    ABSTRACT:

    This thesis is a study of internal working and interfaces of Linux kernel version 2.6.

    It emphasizes differences towards kernel 2.4 and it tries to introduce this problems

    to reader knowledgable only in common principles of operating systems.

    The thesis starts with briefing of kernel subsystems and continues with deeper

    analysis of important issues like various locking, semaphores and other synchronization

    mechanisms, suitable data structures, interrupt handling, atomic operations,

    device driver model and memory allocation.

    Process management and new scheduler with support for multiprocessing and

    NUMA architectures and preemption are explored deeply. The core of the work

    is concluded with description of loadable kernel module creation together with an

    exemplar module.

    INTRODUCTION:

    linux (also known as GNU/Linux) is a computer operating system, like Microsoft Windows or

    Apple Mac OS. Unlike those two, however, Linux is built with a collaborative development

    model. The operating system and most of its software are created by volunteers and employees

    of companies, governments and organisations from all over the world.

    The operating system is free to use and everyone has the freedom to contribute to its

    development. This co-operative development model means that everyone can benefit. Because of

    this, we like to call itFree Software, or Socially Responsible Software. Closely related is the

    concept ofOpen Source Software. Together, Free and Open Source Software is collectively

    abbreviated as FOSS. Thiscontrasts with theproprietary (or closed source) development model

    used by some software companies today.

    http://www.softwareliberty.com/http://www.softwareliberty.com/http://www.softwareliberty.com/http://www.opensource.org/docs/osdhttp://www.opensource.org/docs/osdhttp://www.opensource.org/docs/osdhttp://en.wikipedia.org/wiki/Open_source_vs._closed_sourcehttp://en.wikipedia.org/wiki/Open_source_vs._closed_sourcehttp://www.linfo.org/proprietary.htmlhttp://www.linfo.org/proprietary.htmlhttp://www.linfo.org/proprietary.htmlhttp://www.linfo.org/proprietary.htmlhttp://en.wikipedia.org/wiki/Open_source_vs._closed_sourcehttp://www.opensource.org/docs/osdhttp://www.softwareliberty.com/
  • 7/27/2019 Linux Kernel 2

    3/4

    Many of the principles behind FOSS are derived from the axiom ofstanding on the shoulders

    of giants, most famously used by Isaac Newton, which has guided scientific and industrial

    development for hundreds of years.Transparency of the code and development process means

    that it can be participated in and audited at all levels. Software is just another form of

    information, and people have the right to have full control over that information. In the same way

    that you are free to share cooking recipes with your neighbour, you should also have the freedom

    to share and change software.

    Linux has many otherbenefits, including speed, security and stability. It is renowned for its

    ability to run well on more modest hardware. Linux comes from the venerableUNIX family of

    operating systems, and so has been built from the ground-up with Internet-style networking and

    security in mind. Hence, viruses, worms, spyware and adware are basically a non-issue on Linux.

    Linux is a free open-source operating system based on UNIX. Linux was originally created by

    Linus Torvalds with the assistance of developers from around the globe. Linux is free to

    download, edit and distribute. Linux is a very powerful operating system and it is gradually

    becoming popular throughout the world.

    HISTORY:

    The Linux kernel project was started in 1991 by Linus Torvalds as a Minix-like Operating

    System for his 386. (Linus had originally wanted to name the project Freax, but the now-familiar

    name is the one that stuck.) The first official release of Linux 1.0 was in March 1994, but it

    supported only single-processor i386 machines. Just a year later, Linux 1.2 was released (March

    1995) and was the first version with support for different hardware platforms (specifically:

    Alpha, Sparc, and Mips), but still only single-processor models. Linux 2.0 arrived in June of

    1996 and also included support for a number of new architectures, but more importantly brought

    Linux into the world of multi-processor machines (SMP). After 2.0, subsequent major releases

    have been somewhat slower in coming (Linux 2.2 in January 1999 and 2.4 in January 2001),

    each revision expanding Linux's support for new hardware and system types as well as boosting

    scalability. (Linux 2.4 was also notable in being the release that really broke Linux into the

    http://www.cyber.com.au/users/conz/shoulders.htmlhttp://www.cyber.com.au/users/conz/shoulders.htmlhttp://www.cyber.com.au/users/conz/shoulders.htmlhttp://www.cyber.com.au/users/conz/shoulders.htmlhttp://en.wikipedia.org/wiki/Radical_transparencyhttp://en.wikipedia.org/wiki/Radical_transparencyhttp://www.linfo.org/reasons_to_convert.htmlhttp://www.linfo.org/reasons_to_convert.htmlhttp://www.linfo.org/reasons_to_convert.htmlhttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Unix-likehttp://en.wikipedia.org/wiki/Unix-likehttp://www.linfo.org/reasons_to_convert.htmlhttp://en.wikipedia.org/wiki/Radical_transparencyhttp://www.cyber.com.au/users/conz/shoulders.htmlhttp://www.cyber.com.au/users/conz/shoulders.html
  • 7/27/2019 Linux Kernel 2

    4/4

    desktop space with kernel support for ISA Plug-and-Play, USB, PC Card support, and other

    additions.) Linux 2.6, released 12/17/03, stands not only to build on these features, but also to be

    another "major leap" with improved support for both significantly larger systems and

    significantly smaller ones (PDAs and other devices.)

    FEATURES IN KERNEL 2.6

    Scalability. Preemptible kernel. New scheduling algorithm Improved threading model Hyperthreading Module subsystem and device model System hardware support Block device support INPUT/OUTPUT support Audio and multimedia