Best Linux Kernal Training in Jalandhar & Best Linux Kernal Industrial Training in Jalandhar

Task functions

  • Task states
  • Task hooks
  • Task synchronization

Scheduling

  • Multitasking Kernel
  • Context switch
  • Priority based scheduling
  • Round Robin scheduling

Task

  • What is a task creation?
  • Unitask approach Vs multitask approach
  • Task states

RTOS

  • Introduction to RTOS
  • What is Real Time System?
  • Requirements of Real time System
  • Hard Real-time Systems and Soft Real-time Systems

Main Building Blocks

  • Activity
  • Services
  • Content Providers
  • Broadcast Receivers

Writing a device Driver Program

  • Important header files
  • Writing a simple module
  • Compiling and loading modules
  • Device information in /proc
  • Character driver
  • character driver basics
  • major and minor numbers
  • creating device files with mknod
  • registering a character device driver
  • Hand- on Practice
  • Character Device Driver writing
  • Userspace interaction
  • Proc/sys model
  • LCD implementation
  • Understanding the serial device driver

LINUX DEVICE DRIVER

  • Introduction
  • Role of Device Driver
  • types of Device driver
  • loadable modules and its benefits
  • Functions used to load and unload modules
  • Passing parameters to a loadable module

Timers and Time Management

  • Jiffies
  • Hardware clocks and timers

An Introduction to Kernel Synchronization

  • Kernel Synchronization Methods
  • Spin locks
  • Reader-writer locks
  • Semaphores

Interrupts and Interrupt Handlers

  • Top Halves verses Bottom Halves
  • Registering an interrupt handler
  • Interrupt context
  • Taslets
  • Softirq

The Virtual File system

  • Common File system Interface
  • File system Abstraction Layer
  • Unix File systems
  • VFS Objects and Their Data Structures
  • The Superblock Object
  • Superblock Operations
  • The Inode Object
  • Inode Operations
  • The Dentry Object
  • The File Object
  • File Operations
  • Data Structures Associated with File systems
  • Data Structures Associated with a Process

Memory Management

  • Pages
  • Zones
  • Getting Pages
  • Getting Zeroed Pages
  • Freeing Pages
  • kmalloc()
  • gfp_mask Flags
  • Action Modifiers
  • Zone Modifiers
  • Type Flags
  • kfree()
  • vmalloc()
  • Slab Layer
  • Design of the Slab Layer
  • Slab Allocator Interface
  • Allocating from the Cache
  • The Process Address Space

System Calls

  • System Calls
  • Examples of system calls
  • Examples of Standard APIs
  • System call Implementation
  • API-system Call-OS relationship
  • Types of system calls
  • Processor Affinity System Calls
  • Yielding Processor Time
  • Communicating with the Kernel
  • APIs, POSIX, and the C Library
  • Accessing the System Call from User-Space

 

Process Scheduling

  • Multitasking
  • Linux’s Process Scheduler Policy
  • I/O-Bound Versus Processor-Bound Processes
  • Process Priority
  • Time slice
  • The Scheduling Policy in Action
  • The Linux Scheduling Algorithm Scheduler Classes
  • Process Scheduling in Unix Systems
  • Fair Scheduling
  • The Scheduler Entry Point
  • Wait Queues
  • Waking Up
  • Preemption and Context Switching

Linux Kernel and Device Driver Development Course Contents

  • The Process
  • Process Descriptor and the Task Structure
  • Allocating the Process Descriptor
  • Storing the Process Descriptor
  • Process State
  • Manipulating the Current Process State
  • Process Context
  • Copy-on-Write
  • Forking
  • vfork()
  • Kernel Threads

Main Building Blocks

  • Activity
  • Services
  • Content Providers
  • Broadcast Receivers