Linux System Programming
And Kernel Internals
RR Embedded Systems – Embedded Placements in India with
the best Embedded Systems Training in Hyderabad
Web: http://rrembedded.com
C2, 4th Floor, KVR Enclave,
Above ICICI Bank, Beside Satyam Theatre,
Ameerpet, Hyderabad-16.
Contact No : 040-4012 3104 / 994 8203 203
Email : info@rrembedded.com
Linux System Programming And Kernel
Internals
OS Introduction
• Linux Architecture
• Application
• Shell and Services
• System Calls
• Error Handling
Linux System Programming And Kernel
Internals
Library
• Linker and Loader
• Static and Dynamic Libraries
• Shared Libraries
Linux System Programming And
Kernel Internals
Shell Scripting
• Types of Shell
• Shell Variables
• Control Statements
• Looping
• Command Line Arguments
Linux System Programming And Kernel
Internals
Development Tools
• Make files
• Source Code Control
• RPM packages
• Other Package Formats
Linux System Programming And Kernel
Internals
Debugging Tools
• General Debugging Techniques
• Debugging with GDB
Linux System Programming And Kernel
Internals
File Management
• Linux File Structure
• System calls & Library Functions
• Low Level File Access
• Standard I/O Library
• Formatted I/O
• File and Directory Maintenance
• Scanning Directories
• Errors
• Proc File System
Linux System Programming And
Kernel Internals
Process Management
• Process Structure
• Starting New Processes
• Parent process and child process
• Waiting for a Process
• Zambie Processes
Linux System Programming And
Kernel Internals
Managing Memory
• Memory Allocation
• Abusing Memory
• Null Pointer
• Freeing Memory
• Other Memory Allocation Functions
• File Locking
Linux System Programming And Kernel
Internals
Signals
• Sending  signals
• Catching and Handling Signals
• Advanced Signal Handling
Linux System Programming And Kernel
Internals
POSIX Threads
• Why Threads?
• Advantages and Drawbacks of Threads
• Synchronization with Semaphores
• Synchronization with Mutexes
• Thread Attributes
• Cancelling a Thread
Linux System Programming And Kernel
Internals
Inter Process Communication &
Synchronization
• Pipes
• Fifos
• Message Queues
• Semaphores
• Shared Memory
Linux System Programming
And Kernel Internals
Networking and TCP/IP Concepts
• Network Structure
• Classifications and Topologies
• Switching and Routing
• Gateway, repeater, Hub, Bridge
• OSI & TCP/IP Protocol Layers
• Physical & Logical Addresses
• ARP & RARP
• internet Protocol
• Routing Protocol and IP Datagrams
• Error and Control Messages (ICMP) UDP
• Transfer Control Protocol
• TCP Networking Applications
• (FTP, TFTP, TELNET,DNS,DHCP,SNTP,POP3,IMAP,SNMP
Linux System Programming And
Kernel Internals
Socket Programming
• What is a Socket?
• Socket Attributes
• Creating a Socket
• Naming a socket
• Creating Socket Queue
• Requesting Connections
• Accepting Connections
• Closing a Socket
• Multiple clients
Linux System Programming And
Kernel Internals
Linux kernel Introduction
• Essentials of Linux kernel architecture
• Understanding need for kernel programming
• Kernel programming models
• Modifying kernel sources
• Kernel configuration and compilation
• Introduction to kernel modules
• Kernel modules vs. Applications
• Exploring kernel module architecture
Linux System Programming And
Kernel Internals
Process Management
• Process Descriptor & Task Structure
• Process creation & Termination
• Linux Implementation of Threads
Linux System Programming And
Kernel Internals
Process Scheduling
• Policy
• Scheduling Algorithm
• Preemption & Context Switching
• Real Time Scheduling
• Scheduling Related System Calls
Linux System Programming And
Kernel Internals
System Calls
• System Call Handlers
• System Call Implementation
• System Call Context
Linux System Programming And
Kernel Internals
Interrupt & Interrupt Handlers
• Interrupts
• Interrupt Handles
• Registering Interrupt Handler
• Interrupt Context
• Interrupt Control
Linux System Programming And
Kernel Internals
Bottom Halves
• Why Bottom Halves
• Softirqs
• Tasklets
• Work Queues
• Locking Between Bottom Halves
• Disabling Bottom Halves
Linux System Programming And
Kernel Internals
Kernel Synchronization
• Introduction
• Atomic Operation
• Spin Locks
• Semaphores
• Spin Locks Vs Semaphores
Linux System Programming And
Kernel Internals
Timers And Time Management
• Jiffies
• Hardware Clocks And Timers
• Timers
• Timer Interrupt Handler
• Delaying Execution
Linux System Programming And
Kernel Internals
Memory Management
• Pages
• Zones
• Getting Pages
• Slab Layer
• Slab Allocator Interface
• High Memory Mappings
• Per-CPU Allocations
Linux System Programming And
Kernel Internals
Virtual File System
• File System Interface
• File System Abstraction Layer
• Linux File Systems
• VFS Objects
Linux System Programming And
Kernel Internals
Block I/O Layer
• Anatomy of a Block Device
• Request Queues
• I/O Schedulers
Linux System Programming And
Kernel Internals
Process Address Space
• Memory Descriptor
• Memory Areas
• Manipulating Memory Areas
Linux System Programming And
Kernel Internals
Modules
• Building Kernel Modules
• Installing Modules
• Generating Module Dependencies
• Loading Modules
• Managing Configuration Options
• Kobjects
Linux System Programming And
Kernel Internals
Linux driver architecture
• Device Drivers defined
• Linux Driver model
• Types of Linux drivers
• Driver stacks
Linux System Programming And
Kernel Internals
Kernel message logging infrastructure
• Need for kernel message logging
• Kernel message ring buffer
• Kernel message Log priorities
• Message Ring buffer management
• Accessing messages from user mode apps
• Linux message logging daemons
Linux System Programming And
Kernel Internals
Debugging
• Kernel Bugs
• Kernel Debugging Techniques
Follow RR Embedded Trainings @
https://www.facebook.com/rrembeddedtrainings
https://twitter.com/rrembedded
https://plus.google.com/+RrembeddedTrainings
http://www.slideshare.net/satishratnam7
https://www.youtube.com/user/rrembeddedtrainings
http://www.authorstream.com/satishratnam7/RR-Embedded-
Trainings/
http://rrembedded.blogspot.in/
Get in Touch
www.rrembedded.com
C2, 4th Floor, KVR Enclave,
Above ICICI Bank, Beside Satyam Theatre,
Ameerpet, Hyderabad-16.
Contact No : 040-4012 3104 / 994 8203 203
Email : info@rrembedded.com

Rr embedded systems linux system programming and kernel internals

  • 1.
    Linux System Programming AndKernel Internals RR Embedded Systems – Embedded Placements in India with the best Embedded Systems Training in Hyderabad Web: http://rrembedded.com C2, 4th Floor, KVR Enclave, Above ICICI Bank, Beside Satyam Theatre, Ameerpet, Hyderabad-16. Contact No : 040-4012 3104 / 994 8203 203 Email : info@rrembedded.com
  • 2.
    Linux System ProgrammingAnd Kernel Internals OS Introduction • Linux Architecture • Application • Shell and Services • System Calls • Error Handling
  • 3.
    Linux System ProgrammingAnd Kernel Internals Library • Linker and Loader • Static and Dynamic Libraries • Shared Libraries
  • 4.
    Linux System ProgrammingAnd Kernel Internals Shell Scripting • Types of Shell • Shell Variables • Control Statements • Looping • Command Line Arguments
  • 5.
    Linux System ProgrammingAnd Kernel Internals Development Tools • Make files • Source Code Control • RPM packages • Other Package Formats
  • 6.
    Linux System ProgrammingAnd Kernel Internals Debugging Tools • General Debugging Techniques • Debugging with GDB
  • 7.
    Linux System ProgrammingAnd Kernel Internals File Management • Linux File Structure • System calls & Library Functions • Low Level File Access • Standard I/O Library • Formatted I/O • File and Directory Maintenance • Scanning Directories • Errors • Proc File System
  • 8.
    Linux System ProgrammingAnd Kernel Internals Process Management • Process Structure • Starting New Processes • Parent process and child process • Waiting for a Process • Zambie Processes
  • 9.
    Linux System ProgrammingAnd Kernel Internals Managing Memory • Memory Allocation • Abusing Memory • Null Pointer • Freeing Memory • Other Memory Allocation Functions • File Locking
  • 10.
    Linux System ProgrammingAnd Kernel Internals Signals • Sending  signals • Catching and Handling Signals • Advanced Signal Handling
  • 11.
    Linux System ProgrammingAnd Kernel Internals POSIX Threads • Why Threads? • Advantages and Drawbacks of Threads • Synchronization with Semaphores • Synchronization with Mutexes • Thread Attributes • Cancelling a Thread
  • 12.
    Linux System ProgrammingAnd Kernel Internals Inter Process Communication & Synchronization • Pipes • Fifos • Message Queues • Semaphores • Shared Memory
  • 13.
    Linux System Programming AndKernel Internals Networking and TCP/IP Concepts • Network Structure • Classifications and Topologies • Switching and Routing • Gateway, repeater, Hub, Bridge • OSI & TCP/IP Protocol Layers • Physical & Logical Addresses • ARP & RARP • internet Protocol • Routing Protocol and IP Datagrams • Error and Control Messages (ICMP) UDP • Transfer Control Protocol • TCP Networking Applications • (FTP, TFTP, TELNET,DNS,DHCP,SNTP,POP3,IMAP,SNMP
  • 14.
    Linux System ProgrammingAnd Kernel Internals Socket Programming • What is a Socket? • Socket Attributes • Creating a Socket • Naming a socket • Creating Socket Queue • Requesting Connections • Accepting Connections • Closing a Socket • Multiple clients
  • 15.
    Linux System ProgrammingAnd Kernel Internals Linux kernel Introduction • Essentials of Linux kernel architecture • Understanding need for kernel programming • Kernel programming models • Modifying kernel sources • Kernel configuration and compilation • Introduction to kernel modules • Kernel modules vs. Applications • Exploring kernel module architecture
  • 16.
    Linux System ProgrammingAnd Kernel Internals Process Management • Process Descriptor & Task Structure • Process creation & Termination • Linux Implementation of Threads
  • 17.
    Linux System ProgrammingAnd Kernel Internals Process Scheduling • Policy • Scheduling Algorithm • Preemption & Context Switching • Real Time Scheduling • Scheduling Related System Calls
  • 18.
    Linux System ProgrammingAnd Kernel Internals System Calls • System Call Handlers • System Call Implementation • System Call Context
  • 19.
    Linux System ProgrammingAnd Kernel Internals Interrupt & Interrupt Handlers • Interrupts • Interrupt Handles • Registering Interrupt Handler • Interrupt Context • Interrupt Control
  • 20.
    Linux System ProgrammingAnd Kernel Internals Bottom Halves • Why Bottom Halves • Softirqs • Tasklets • Work Queues • Locking Between Bottom Halves • Disabling Bottom Halves
  • 21.
    Linux System ProgrammingAnd Kernel Internals Kernel Synchronization • Introduction • Atomic Operation • Spin Locks • Semaphores • Spin Locks Vs Semaphores
  • 22.
    Linux System ProgrammingAnd Kernel Internals Timers And Time Management • Jiffies • Hardware Clocks And Timers • Timers • Timer Interrupt Handler • Delaying Execution
  • 23.
    Linux System ProgrammingAnd Kernel Internals Memory Management • Pages • Zones • Getting Pages • Slab Layer • Slab Allocator Interface • High Memory Mappings • Per-CPU Allocations
  • 24.
    Linux System ProgrammingAnd Kernel Internals Virtual File System • File System Interface • File System Abstraction Layer • Linux File Systems • VFS Objects
  • 25.
    Linux System ProgrammingAnd Kernel Internals Block I/O Layer • Anatomy of a Block Device • Request Queues • I/O Schedulers
  • 26.
    Linux System ProgrammingAnd Kernel Internals Process Address Space • Memory Descriptor • Memory Areas • Manipulating Memory Areas
  • 27.
    Linux System ProgrammingAnd Kernel Internals Modules • Building Kernel Modules • Installing Modules • Generating Module Dependencies • Loading Modules • Managing Configuration Options • Kobjects
  • 28.
    Linux System ProgrammingAnd Kernel Internals Linux driver architecture • Device Drivers defined • Linux Driver model • Types of Linux drivers • Driver stacks
  • 29.
    Linux System ProgrammingAnd Kernel Internals Kernel message logging infrastructure • Need for kernel message logging • Kernel message ring buffer • Kernel message Log priorities • Message Ring buffer management • Accessing messages from user mode apps • Linux message logging daemons
  • 30.
    Linux System ProgrammingAnd Kernel Internals Debugging • Kernel Bugs • Kernel Debugging Techniques
  • 31.
    Follow RR EmbeddedTrainings @ https://www.facebook.com/rrembeddedtrainings https://twitter.com/rrembedded https://plus.google.com/+RrembeddedTrainings http://www.slideshare.net/satishratnam7 https://www.youtube.com/user/rrembeddedtrainings http://www.authorstream.com/satishratnam7/RR-Embedded- Trainings/ http://rrembedded.blogspot.in/
  • 32.
    Get in Touch www.rrembedded.com C2,4th Floor, KVR Enclave, Above ICICI Bank, Beside Satyam Theatre, Ameerpet, Hyderabad-16. Contact No : 040-4012 3104 / 994 8203 203 Email : info@rrembedded.com