Diese Präsentation wurde erfolgreich gemeldet.
Die SlideShare-Präsentation wird heruntergeladen. ×
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Wird geladen in …3
×

Hier ansehen

1 von 19 Anzeige

Weitere Verwandte Inhalte

Diashows für Sie (20)

Andere mochten auch (20)

Anzeige

Ähnlich wie Linux kernel (20)

Aktuellste (20)

Anzeige

Linux kernel

  1. 1. By Goutam Sahoo Regd. No: 1301308101
  2. 2.  Introduction  History  What Is A Kernel  Types Of Kernel  Versions  Kernel Functional  Importance Of Kernel  The Linux Keys To Success  Linux Evolution  Conclusion
  3. 3.  Linux was initially developed by Linus Torvalds in 1991 as an operating system for IBM-compatible personal computers based on the Intel 80386 microprocessor. Linus remains deeply involved with improving Linux, keeping it up-to-date with various hardware developments and coordinating the activity of hundreds of Linux developers around the world.
  4. 4.  Over the years, developers have worked to make Linux available on other architectures including Alpha, SPARC, Motorola MC680x0, PowerPC, and IBM System/390.  Technically speaking, Linux is a true Unix kernel, although it is not a full Unix operating system, because it does not include all the applications such as file system utilities, windowing systems and graphical desktops, system administrator commands, text editors, compilers, and so on. However, since most of these programs are freely available under the GNU General Public License, they can be installed into one of the file systems supported by Linux.
  5. 5.  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.
  6. 6.  (Linux 2.4 was also notable in being the release that really broke Linux into the 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.).
  7. 7.  A set of code which directly interacts with hardware and allocate and manages resources such as CPU time, memory and I/O access .Kernel also contain system calls which provide specific functions.  it’s a program that runs in Kernel Mode.  CPUs run either in Kernel Mode or in User Mode.  when in User Mode, some parts of RAM can’t be addressed, some instructions can’t be executed, and I/O ports can’t be accessed.  when in Kernel Mode, no restriction is put on the program  besides running in Kernel Mode, kernels have three other peculiarities such as: -large size (millions of machine language instructions) -machine dependency (some parts of the kernel must be coded in Assembly language) - loading into RAM at boot time in a rather primitive way
  8. 8.  All OS services operate in kernel space  Good performance Disadvantages: -Dependencies between system component -Complex & huge (millions(!) of lines of code) -Larger size makes it hard to maintain  E.g. Multics, Unix, BSD, Linux  Minimalist approach -IPC, virtual memory, thread scheduling  Put the rest into user space -Device drivers, networking, file system, user interface  More stable with less services in kernel space Disadvantages: -Lots of system calls and context switches  E.g. Mach, L4, AmigaOS, Minix, K42
  9. 9.  Combine the best of both worlds -Speed and simple design of a monolithic kernel -Modularity and stability of a microkernel  Still similar to a monolithic kernel  E.g. Windows NT, NetWare, BeOS -Flexible -Modular -Easy to implement -Performance
  10. 10.  Linux distinguishes stable kernels from development kernels through a simple numbering scheme. Each version is characterized by three numbers, separated by periods. The first two numbers are used to identify the version; the third number identifies the release.  The third field is number of patch. Patches are intended to fix some bug, they almost never introduce new feature in stable kernel.  Patches that do not bring new features (they should be less than 100 lines in length) increase the fourth number.  If the fourth number is zero, it’s not written: first patch changes supposed 2.2.14 to 2.2.14.1 and the next one to 2.2.14.2 and so on.
  11. 11.  As shown in Figure 1-1, if the second number is even, it denotes a stable kernel; otherwise, it denotes a development kernel. The 2.2 kernel was first released in January 1999, and it differs considerably from the 2.0 kernel, particularly with respect to memory management. Work on the 2.3 development version started in May 1999. Figure 1-1. Numbering Linux versions
  12. 12.  It is responsible for storing information on disk and retrieving and updating this information.  The File System is accessed through system calls such as : open, read, write, … Example : - FAT16, FAT32, NTFS -ext2, ext3…  One of the purpose of an OS is to hide the system’s hardware from user.  Instead of putting code to manage the HW controller into every application, the code is kept in the Linux kernel.  It abstracts the handling of devices. - All HW devices look like regular files.
  13. 13.  The Unix OS is a time-sharing system.  Every process is scheduled to run for a period of time (time slice).  Kernel creates, manages and deletes the processes.  Every process (except init) in the system is create as the result of a fork system call.  The fork system call splits a process into two processes (Parent and Child).  Each process has a unique identifier (Process ID).  Physical memory is limited.  Virtual memory is developed to overcome this limitation such as: -Large Address space -Protection -Memory mapping -Fair physical memory allocation -Shared virtual memory
  14. 14.  Each operating system uses a kernel. Without a kernel, you can’t have an operating system that actually works. Windows, Mac OS X, and Linux all have kernels, and they’re all different. It’s the kernel that also does the grunt work of the operating system. Besides the kernel, there are a lot of applications that are bundled with the kernel to make the entire package something useful — more on that a bit later.  The kernel’s job is to talk to the hardware and software, and to manage the system’s resources as best as possible. It talks to the hardware via the drivers that are included in the kernel (or additionally installed later on in the form of a kernel module).  It also aims to avoid deadlocks, which are problems that completely halt the system when one application needs a resource that another application is using. It’s a fairly complicated circus act to coordinate all of those things, but it needs to be done and that’s what the kernel is for.
  15. 15.  The top reason for the success of Linux is that it is not driven by someone who has a technical, commercial, or political agenda.  Rather, Linux is driven by the requirements of the real world entities that want to adopt it: IT companies and final users.  Linus Torvalds and other top-level developers are thus similar to referees, who ensure that each change in the kernel is technically sound and, even more important, potentially beneficial to the whole Linux community.  Thus, it is not really surprising that Linus Torvalds has a full-time job in the Linux Foundation, which is a nonprofit consortium supported by many large IT companies and dedicated to fostering the growth of Linux Bovet.
  16. 16.  The Linux kernel now has a coherent and uniform model to organize busses, drivers and devices. The Linux kernel in general, uses some concept of object-oriented programming to structure the code.  The organization of device drivers has been greatly simplified and unified by using this model. Functionalities such as udev have been made possible using this unified model.  Nowadays Linux is no longer a pet project for young, brilliant computer geeks. . .  But Linux kernel hacking is still a fascinating art, as in the early days.  Most of the current work on the kernel is done by professional programmers. . .  But many of them were individual enthusiasts who spent their spare time hacking the kernel, and who were later hired by large companies to work full-time on Linux.
  17. 17. 1>http://en.wikipedia.org/wiki/colinux 2>http:// www.colinux.org 3> http://www.sourceforge.net/projets/coLinux 4>http:// www.howstuffworks.com 5> http://www.user-mode-linux.sf.net 6>http://www.google.co.in

×