Linux101

Uploaded from authorPOINTLite
Views:
 
Category: Entertainment
     
 

Presentation Description

No description available.

Comments

By: raazendraw (16 month(s) ago)

i like this ppt . plz let me download

Presentation Transcript

Linux Kernel 101: 

Linux Kernel 101 Sriram Sundararajan

Linux :: 

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? : 

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

Contd….: 

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

Dig This: 

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.

Linus on Linux : 

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

The Process: 

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

Linux Vs.*nix: 

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

Contd…: 

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

On Kernels Mono and Micro… : 

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

The Bootstrap: 

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

BIOS: 

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

Boot Loader: 

Boot Loader 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( )

setup( ): 

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( )

startup_32( ): 

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

Contd..: 

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( )

start_kernel( ): 

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

Next…: 

Next… Memory Management

References: 

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