Overview of Linux Kernel Development<br />
Unix-Linux System Architecture :<br />
Linux v/s Unix<br />Linux kernel is monolithic.<br />Linux supports the dynamic loading of kernel modules.<br />Linux has ...
Linux Kernel Versions<br />Linux Kernel Naming Convention<br />Where to find ?<br />http://www.kernel.org<br />
Installing Kernel Source code :<br />How : $ tar xvjf linux-x.y.z.tar.bz2// $ tar xvzflinux-x.y.z.tar.gz<br />Where : /usr...
Kernel Directory Hierarchy :<br />
Building a Kernel :<br />Configuring :<br />Configuring options – prefixed by CONFIG_feature<br />Boolean or Tristate : <b...
Installing Kernel :<br />architecture and boot loader dependent.<br />Eg., on an x86 using grub<br />	 copy arch/i386/boot...
A Beast of a Different Nature<br />The kernel does not have access to the C library.<br /> The kernel is coded in GNU C.<b...
Process Management<br />Kernel Threads<br />Process Scheduling<br />System Calls<br /> <br />The relationship between appl...
Interrupts and Interrupt Handlers<br />Interrupts, IRQ,ISR, entry point<br />
Memory Management<br />Memory allocation<br />Pages :<br />Smallest – word	<br />MMU manages the system's page tables with...
Bugs in the Kernel<br />as varied as in user-space applications<br />INCORRECT CODE, SYNCRONISATION<br />Debugging:<br />S...
Thank You <br />
Upcoming SlideShare
Loading in...5
×

Overview of linux kernel development

1,956

Published on

Customization of Linux Kernels and Modules

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,956
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Overview of linux kernel development

  1. 1. Overview of Linux Kernel Development<br />
  2. 2. Unix-Linux System Architecture :<br />
  3. 3. Linux v/s Unix<br />Linux kernel is monolithic.<br />Linux supports the dynamic loading of kernel modules.<br />Linux has symmetrical multiprocessor (SMP) support. Traditional Unix did not.<br />The Linux kernel is preemptive. Traditional Unix are not.<br />Linux ignores some common Unix features that are thought to be poorly designed, such as STREAMS, or standards that are brain dead.<br />
  4. 4. Linux Kernel Versions<br />Linux Kernel Naming Convention<br />Where to find ?<br />http://www.kernel.org<br />
  5. 5. Installing Kernel Source code :<br />How : $ tar xvjf linux-x.y.z.tar.bz2// $ tar xvzflinux-x.y.z.tar.gz<br />Where : /usr/src/linux<br />Patches : $ patch -p1 < ../patch-x.y.z<br />
  6. 6. Kernel Directory Hierarchy :<br />
  7. 7. Building a Kernel :<br />Configuring :<br />Configuring options – prefixed by CONFIG_feature<br />Boolean or Tristate : <br /> yes, no, or module<br />$ make config<br />Or $ make menuconfig<br />Or $ make xconfig<br />Or $ make gconfig<br />
  8. 8. Installing Kernel :<br />architecture and boot loader dependent.<br />Eg., on an x86 using grub<br /> copy arch/i386/boot/bzImage to /boot,<br /> edit /boot/grub/grub.conf<br />Installing Modules :<br />% make modules_install<br />In /lib<br />
  9. 9. A Beast of a Different Nature<br />The kernel does not have access to the C library.<br /> The kernel is coded in GNU C.<br /> The kernel lacks memory protection like user-space.<br /> The kernel cannot easily use floating point.<br /> The kernel has a small fixed-size stack.<br />
  10. 10. Process Management<br />Kernel Threads<br />Process Scheduling<br />System Calls<br /> <br />The relationship between applications, the C library, and the kernel with a call to printf().<br />
  11. 11. Interrupts and Interrupt Handlers<br />Interrupts, IRQ,ISR, entry point<br />
  12. 12. Memory Management<br />Memory allocation<br />Pages :<br />Smallest – word <br />MMU manages the system's page tables with page-sized granularity<br />Virtual Filesystem (VFS)<br />
  13. 13. Bugs in the Kernel<br />as varied as in user-space applications<br />INCORRECT CODE, SYNCRONISATION<br />Debugging:<br />Seem difficult but quite easy.<br />Unlike large software, have typical issues<br />Time constraints, race conditions<br />
  14. 14. Thank You <br />

×