1 / 19

Linux Kernel 101

Linux Kernel 101. Sriram Sundararajan. Linux :. /lee'nuhks/ or /li'nuks/, not /li:'nuhks/ n. The free Unix workalike created by Linus Torvalds and friends starting about 1991 – The Jargon File Resources , compiled by ESR et al. Why Linux?. Copious Documentation Free Source

lana
Télécharger la présentation

Linux Kernel 101

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Linux Kernel 101 Sriram Sundararajan

  2. Linux : • /lee'nuhks/ or /li'nuks/, not /li:'nuhks/ n. • The free Unix workalike created by Linus Torvalds and friends starting about 1991 – The Jargon File Resources , compiled by ESR et al.

  3. Why Linux? • Copious Documentation • Free Source • Fully Customizable • All you need is a 386 + 4MB • Powerful

  4. Contd…. • Great technical Support • POSIX compliant • And It’s a Great OS anyways

  5. Dig This • Linux and other OSS advocates are making a progressively more credible argument that OSS software is at least as robust -- if not more -- than commercial alternatives. -- Halloween Docs.

  6. Linus on Linux • The power of Linux is as much about the community of cooperation behind it as the code itself.

  7. The Process • Ok I know that you all know what it is…. • Fundamental abstraction • Process/kernel model

  8. Linux Vs.*nix • Monolithic Kernel • Support for modules • Kernel Threading • Multithreaded application support

  9. Contd… • Nonpreemptive kernel • Multiprocessor Support • File System • STREAMS I/O

  10. Linux Solaris AIX BSD System V SCO Mach Minix …. ??? On Kernels Mono and Micro…

  11. The Bootstrap • BIOS • Boot Loader • Floppy / Hard Disk • setup( ) • startup_32( ) • start_kernel( )

  12. BIOS • Test Hardware (POST) • Initialize Hardware • Boot from FDD/CD/HDD • Copy sector 1 to 7c00

  13. Floppy bootsect.S Move to 0009 0000 Setup real mode stack from 0000 3ff4 Display “Loading…” Load setup( ) to 90200 Load rest of kernel and jump to setup( ) Hard disk MBR Move to 0009 a000 Setup real mode stack from 9b000 to 9a200 Display “Loading…” Load setup( ) to 90200 Load rest of kernel and jump to setup( ) Boot Loader

  14. setup( ) • Initialize a load of Hardware devices • Adjust kernel image (low to high) • Reprograms PIC • Switches CPU from real to protected mode • Jumps to startup_32( )

  15. startup_32( ) • Actually there are two of these • Initializes the segment registers and stack • Fills the uninitialized data area • Invokes decompress_kernel( ) • Jump to 0010 0000

  16. Contd.. • The other startup_32( ) • Init segment regs with final values • Setup stack for process 0 • Invokes setup_idt( ) • Identifies processor model • Loads GDT and IDT • Jump to start_kernel( )

  17. start_kernel( ) • Finally…. • Initialize page tables • Initialize page descriptors • Final initialization of IDT • Initialize Slab allocator • Initialize system date and time • Create thread for Process 1

  18. Next… • Memory Management

  19. References • Understanding the Linux Kernel • Linux Resource Exchange Operating Systems comparison http://www.falconweb.com/~linuxrx/WS_Linux/OS_comparison.html • The Jargon File http://www.tuxedo.org/~esr/jargon/quoting.html

More Related