• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Architecture Of The Linux Kernel
 

Architecture Of The Linux Kernel

on

  • 29,337 views

Overview of the Linux Kernel, based on "Anatomy of the Linux Kernel" by M. Tim Jones, (IBM Developerworks) http://www.ibm.com/developerworks/linux/library/l-linux-kernel/

Overview of the Linux Kernel, based on "Anatomy of the Linux Kernel" by M. Tim Jones, (IBM Developerworks) http://www.ibm.com/developerworks/linux/library/l-linux-kernel/

Statistics

Views

Total Views
29,337
Views on SlideShare
23,086
Embed Views
6,251

Actions

Likes
4
Downloads
569
Comments
0

41 Embeds 6,251

http://ubuntuliving.blogspot.com 3562
http://ubuntuliving.blogspot.de 287
http://ubuntuliving.blogspot.ro 255
http://ubuntuliving.blogspot.fr 237
http://ubuntuliving.blogspot.pt 182
http://ubuntuliving.blogspot.co.uk 178
http://ubuntuliving.blogspot.com.es 169
http://ubuntuliving.blogspot.it 154
http://www.villageidiotsavant.com 130
http://ubuntuliving.blogspot.nl 103
http://ubuntuliving.blogspot.in 101
http://ubuntuliving.blogspot.com.br 93
http://ubuntuliving.blogspot.ru 85
http://ubuntuliving.blogspot.tw 65
http://ubuntuliving.blogspot.ca 55
http://ubuntuliving.blogspot.gr 54
http://ubuntuliving.blogspot.be 49
http://ubuntuliving.blogspot.com.au 40
http://ubuntuliving.blogspot.co.at 39
http://ubuntuliving.blogspot.com.ar 37
http://ubuntuliving.blogspot.se 34
http://ubuntuliving.blogspot.ae 34
http://ubuntuliving.blogspot.dk 33
http://ubuntuliving.blogspot.mx 30
http://ubuntuliving.blogspot.cz 30
http://ubuntuliving.blogspot.co.il 28
http://ubuntuliving.blogspot.hu 28
http://ubuntuliving.blogspot.sk 23
http://ubuntuliving.blogspot.hk 22
http://villageidiotsavant.blogspot.com 21
http://ubuntuliving.blogspot.no 19
http://www.slideshare.net 15
http://ubuntuliving.blogspot.jp 11
http://ubuntuliving.blogspot.ie 11
http://ubuntuliving.blogspot.sg 10
http://ubuntuliving.blogspot.ch 9
http://ubuntuliving.blogspot.fi 6
http://ubuntuliving.blogspot.kr 6
http://ubuntuliving.blogspot.co.nz 4
http://translate.googleusercontent.com 1
http://ubuntuliving.blogspot.com.tr 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Architecture Of The Linux Kernel Architecture Of The Linux Kernel Presentation Transcript

    • Architecture of the Linux Kernel by Dominique Gerald M Cimafranca dominique.cimafranca@gmail.com This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Philippines License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ph/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.
    • Fundamental Architecture User Applications User Space GNU C Library (glibc) System Call Interface Kernel Kernel Space Architecture Dependent Kernel Code Hardware Platform
    • User Space Components ● User applications ● glibc ● Provides the system call interface that connects to the kernel ● Provides the mechanism to transition between user- space application and kernel ● Each user space process occupies its own virtual address space (vs the kernel which runs on the single address space)
    • Kernel Space Components ● System Call Interface ● Provides the basic functions such as read() and write() ● Kernel ● Architecture-independent kernel code ● Common to all processor architectures supported by Linux ● Architecture-Dependent Code ● Processor- and platform-specific code ● Also known as Board Support Package
    • Kernel Subsystems System Call Interface Process Management Virtual File System Memory Management Network Stack Arch Device Drivers
    • System Call Interface ● Provides the means to perform function calls from user space into the kernel. ● This interface can be architecture dependent, even within the same processor family. ● Can be found in ● ./linux/kernel ● ./linux/arch
    • Process Management ● Focused on the execution of processes ● Each has an individual virtualization of the processor (thread code, data, stack, and registers) ● Kernel provides API through SCI to start, stop, and communicate with processes ● Processes are managed by a scheduler
    • Scheduler ● Kernel implements a scheduling algorithm ● Operates in constant time, regardless of threads ● O(1), meaning, same time to schedule one thread or many threads ● Can be found in ● ./linux/kernel ● ./linux/arch
    • Memory Management ● Memory is managed in pages ● Typically 4KB per page for most architectures ● Can be adjusted ● Support for hardware mechanisms for physical and virtual mappings, e.g. MMU on Pentium ● Keeps tracks of which pages are full, partially used, or empty ● Or if physical memory runs out, swap to disk ● Can be found in ./linux/mm
    • Virtual File System Virtual File System ext3 ... FAT32 /proc Buffer Cache Device Drivers Physical Devices
    • Virtual File System ● Presents a common API abstraction of functions such as open, close, read, and write ● Translates to abstractions specific to a file system ● Support for over 50 different file systems ● Can be found in ./linux/fs
    • Buffer Cache ● Caching layer that optimizes access to the physical devices by keeping data around for a short time ● Provides a common set of functions to the file system layer (independent of any particular file system)
    • Network Stack ● Follows a layered architecture modeled after the TCP/IP protocols ● TCP layer communicates with SCI via sockets ● Sockets provide a standard API to the networking subsystem ● Manage connections ● Move data between endpoints ● Can be found in ./linux/net
    • Device Drivers and Architecture- Dependent Code ● Most of the Linux kernel source code consists of device drivers ● Can be found in ./linux/drivers ● While Linux kernel is mostly architecture ● Can be found in ./linux/arch
    • Questions?
    • References ● Anatomy of the Linux Kernel, M. Tim Jones, IBM Developerworks (http://www.ibm.com/developerworks/linux/library/l-linux-kernel/)
    • Architecture of the Linux Kernel by Dominique Gerald M Cimafranca dominique.cimafranca@gmail.com This work is licensed under the Creative Commons Attribution-Share Alike 3.0 Philippines License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ph/ or send a letter to Creative Commons, 171 Second Street, Suite 300, San Francisco, California, 94105, USA.