SlideShare a Scribd company logo
Android Kernel Modules
By : Alaa Abdelmoneam (Elmagic)
Egypt
Kernel Modules :
•1-Network :
-Netlink.
-Network Scheduler.
-Netfilter and nftables .
2-Sound :
-Advanced Linux Sound Architecture .
Kernel Modules (Contd) 
•3- Graphics :
-Direct rendering manager .
-Graphics Execution manager .
4- Input :
-evdev(event device).
 Network 
•** Netlink **
Netlink is a socket family used for IPC between the kernel and user
space processes, as well as between user processes (e.g. Unix domain
sockets) or a mixture of both types.
Netlink is a flexible, robust, wire-format communications channel
typically used for kernel to user communication although it can also be
used for user to user and kernel to kernel communications.
 Network (Contd)
•** Network Scheduler **
A network scheduler, also called packet scheduler, is an
arbiter program that manages the sequence of network
packets in the transmit and receive queues of the network
interface controller, which is a circular data buffer. There are
several network schedulers available for the different
operating system kernels, that implement many of the existing
network scheduling algorithms.
 Network (Contd)
•** Netfilter **
Netfilter is a framework inside the Linux kernel which offers flexibility
for various networking-related operations to be implemented in form
of customized handlers. Netfilter offers various options for packet
filtering, network address translation, and port translation. These
functions provide the functionality required for directing packets
through a network, as well as for providing ability to prohibit packets
from reaching sensitive locations within a computer network.
 Network (Contd)
•** Nftables **
nftables is the project that aims to replace the existing
{ip,ip6,arp,eb}tables framework. Basically, this project
provides a new packet filtering framework .
 Sound 
•**Advanced Linux Sound Architecture**
(ALSA) is a software framework and part of the Linux kernel that
provides an application programming interface (API) for sound card
device drivers. Some of the goals of the ALSA project at its inception
were automatic configuration of sound-card hardware and graceful
handling of multiple sound devices in a system, goals which it has
largely met. ALSA is released under the GNU General Public License
(GPL) and the GNU Lesser General Public License (LGPL).
 Graphics 
•**Direct rendering manager**
The Direct Rendering Manager (DRM) is a subsystem of the Linux
kernel responsible for interfacing with GPUs of modern video cards.
DRM exposes an API that user space programs can use to send
commands and data to the GPU, and perform operations like
configuring the mode setting of the display.
The Direct Rendering Manager can be compiled into the Linux kernel or
loaded via the standard module interface.
 Graphics (Contd)
•** Graphic Execution Manager**
The Graphics Execution Manager (GEM) is a computer software system
developed by Intel to do memory management for device drivers for
graphics chipsets. GEM is part of the Direct Rendering Manager.
GEM manages graphics memory (which means dealing with Non-
Uniform Memory Access (NUMA) on modern graphics chipsets) and
controls the execution context for graphics-related code
 Input 
•**evdev**
In computing, evdev (for event device) is a component of the Linux
kernel for handling input (from keyboards, mice, joysticks, etc.) and a
closely related input driver for both the X.Org Server and Wayland
compositors.
Finally  
Contact Me :
Facebook :
https://www.facebook.com/elmagic.alaa.395

More Related Content

What's hot

Linux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddyLinux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddy
Stryker King
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
Saurabh Bangad
 
Kernel Configuration and Compilation
Kernel Configuration and CompilationKernel Configuration and Compilation
Kernel Configuration and Compilation
Bud Siddhisena
 
Linux device driver
Linux device driverLinux device driver
Linux device driver
chatsiri
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
Morteza Nourelahi Alamdari
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
Shreyas MM
 
Ami device driver_services ver. 1.1
Ami device driver_services ver.  1.1Ami device driver_services ver.  1.1
Ami device driver_services ver. 1.1
Sunil Sam
 
Introduction to Linux Kernel
Introduction to Linux KernelIntroduction to Linux Kernel
Introduction to Linux Kernel
Stryker King
 
linux device driver
linux device driverlinux device driver
linux device driver
Rahul Batra
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
Shay Cohen
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
Abhishek Sagar
 
LINUX Device Drivers
LINUX Device DriversLINUX Device Drivers
LINUX Device Drivers
Partha Bhattacharya
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
guest547d74
 
Linux architecture
Linux architectureLinux architecture
Linux architecturemcganesh
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image艾鍗科技
 
Linux kernel
Linux kernelLinux kernel
Linux kernel module programming guide
Linux kernel module programming guideLinux kernel module programming guide
Linux kernel module programming guide
Dũng Nguyễn
 
Linuxdd[1]
Linuxdd[1]Linuxdd[1]
Linuxdd[1]mcganesh
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
Tushar B Kute
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
Stephan Cadene
 

What's hot (20)

Linux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddyLinux Device Driver Training-TutorialsDaddy
Linux Device Driver Training-TutorialsDaddy
 
Kernel Module Programming
Kernel Module ProgrammingKernel Module Programming
Kernel Module Programming
 
Kernel Configuration and Compilation
Kernel Configuration and CompilationKernel Configuration and Compilation
Kernel Configuration and Compilation
 
Linux device driver
Linux device driverLinux device driver
Linux device driver
 
Basic Linux kernel
Basic Linux kernelBasic Linux kernel
Basic Linux kernel
 
Device Drivers in Linux
Device Drivers in LinuxDevice Drivers in Linux
Device Drivers in Linux
 
Ami device driver_services ver. 1.1
Ami device driver_services ver.  1.1Ami device driver_services ver.  1.1
Ami device driver_services ver. 1.1
 
Introduction to Linux Kernel
Introduction to Linux KernelIntroduction to Linux Kernel
Introduction to Linux Kernel
 
linux device driver
linux device driverlinux device driver
linux device driver
 
Linux Internals - Kernel/Core
Linux Internals - Kernel/CoreLinux Internals - Kernel/Core
Linux Internals - Kernel/Core
 
Linux device drivers
Linux device driversLinux device drivers
Linux device drivers
 
LINUX Device Drivers
LINUX Device DriversLINUX Device Drivers
LINUX Device Drivers
 
Architecture Of The Linux Kernel
Architecture Of The Linux KernelArchitecture Of The Linux Kernel
Architecture Of The Linux Kernel
 
Linux architecture
Linux architectureLinux architecture
Linux architecture
 
Linux Kernel Image
Linux Kernel ImageLinux Kernel Image
Linux Kernel Image
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Linux kernel module programming guide
Linux kernel module programming guideLinux kernel module programming guide
Linux kernel module programming guide
 
Linuxdd[1]
Linuxdd[1]Linuxdd[1]
Linuxdd[1]
 
Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)Part 01 Linux Kernel Compilation (Ubuntu)
Part 01 Linux Kernel Compilation (Ubuntu)
 
Linux Kernel and Driver Development Training
Linux Kernel and Driver Development TrainingLinux Kernel and Driver Development Training
Linux Kernel and Driver Development Training
 

Viewers also liked

Psi android telephony_case_study_v10
Psi android telephony_case_study_v10Psi android telephony_case_study_v10
Psi android telephony_case_study_v10Primesoftinc
 
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM SystemLabmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Syuan Wang
 
Encrypted Voice Communications
Encrypted Voice CommunicationsEncrypted Voice Communications
Encrypted Voice Communications
sbwahid
 
Voice encryption for gsm using arduino
Voice encryption for gsm using arduinoVoice encryption for gsm using arduino
Voice encryption for gsm using arduinoiruldaworld
 
RT Procedure new KTM
RT Procedure new KTMRT Procedure new KTM
RT Procedure new KTMRaj Pradhan
 
Android telephony stack
Android telephony stackAndroid telephony stack
Android telephony stackDavid Marques
 
Android Telephony Manager and SMS
Android Telephony Manager and SMSAndroid Telephony Manager and SMS
Android Telephony Manager and SMSJussi Pohjolainen
 
5432 cellular network
5432 cellular network5432 cellular network
5432 cellular network
Raafat younis
 
Voice securityprotocol review
Voice securityprotocol reviewVoice securityprotocol review
Voice securityprotocol review
Fabio Pietrosanti
 
RIL and Android Telephony
RIL and Android TelephonyRIL and Android Telephony
RIL and Android Telephony
Leaf Johnson
 
Telephony API
Telephony APITelephony API
Telephony API
Rashad Aliyev
 
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Egor Elizarov
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer InterfaceChun-Yu Wang
 
Image encryption and decryption
Image encryption and decryptionImage encryption and decryption
Image encryption and decryption
Aashish R
 
UNDERWATER SENSORS NETWORKS
UNDERWATER SENSORS NETWORKSUNDERWATER SENSORS NETWORKS
UNDERWATER SENSORS NETWORKS
Alessandro Gonella
 
PrivateGSM user manual multiplatform_en
PrivateGSM user manual multiplatform_enPrivateGSM user manual multiplatform_en
PrivateGSM user manual multiplatform_enPrivateWave Italia SpA
 
PrivateGSM - Voice Encryption Technical Overview
PrivateGSM - Voice Encryption Technical OverviewPrivateGSM - Voice Encryption Technical Overview
PrivateGSM - Voice Encryption Technical Overview
PrivateWave Italia SpA
 

Viewers also liked (20)

Psi android telephony_case_study_v10
Psi android telephony_case_study_v10Psi android telephony_case_study_v10
Psi android telephony_case_study_v10
 
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM SystemLabmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
Labmeeting - 20150211 - Novel End-to-End Voice Encryption Method in GSM System
 
Encrypted Voice Communications
Encrypted Voice CommunicationsEncrypted Voice Communications
Encrypted Voice Communications
 
Android presentation
Android presentationAndroid presentation
Android presentation
 
Voice encryption for gsm using arduino
Voice encryption for gsm using arduinoVoice encryption for gsm using arduino
Voice encryption for gsm using arduino
 
RT Procedure new KTM
RT Procedure new KTMRT Procedure new KTM
RT Procedure new KTM
 
Cellular network
Cellular networkCellular network
Cellular network
 
Android telephony stack
Android telephony stackAndroid telephony stack
Android telephony stack
 
Android Telephony Manager and SMS
Android Telephony Manager and SMSAndroid Telephony Manager and SMS
Android Telephony Manager and SMS
 
5432 cellular network
5432 cellular network5432 cellular network
5432 cellular network
 
Voice securityprotocol review
Voice securityprotocol reviewVoice securityprotocol review
Voice securityprotocol review
 
RIL and Android Telephony
RIL and Android TelephonyRIL and Android Telephony
RIL and Android Telephony
 
Telephony API
Telephony APITelephony API
Telephony API
 
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
Android internals 10 - Debugging/Profiling, Bluetooth/WiFI/RIL (rev_1.1)
 
Android Radio Layer Interface
Android Radio Layer InterfaceAndroid Radio Layer Interface
Android Radio Layer Interface
 
Image encryption and decryption
Image encryption and decryptionImage encryption and decryption
Image encryption and decryption
 
UNDERWATER SENSORS NETWORKS
UNDERWATER SENSORS NETWORKSUNDERWATER SENSORS NETWORKS
UNDERWATER SENSORS NETWORKS
 
Ict encryption agt_fabio_pietrosanti
Ict encryption agt_fabio_pietrosantiIct encryption agt_fabio_pietrosanti
Ict encryption agt_fabio_pietrosanti
 
PrivateGSM user manual multiplatform_en
PrivateGSM user manual multiplatform_enPrivateGSM user manual multiplatform_en
PrivateGSM user manual multiplatform_en
 
PrivateGSM - Voice Encryption Technical Overview
PrivateGSM - Voice Encryption Technical OverviewPrivateGSM - Voice Encryption Technical Overview
PrivateGSM - Voice Encryption Technical Overview
 

Similar to Kernel modules

K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
Keroles karam khalil
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
Eric Theis
 
DACHSview++features
DACHSview++featuresDACHSview++features
DACHSview++featuresA. Steinhoff
 
Android architechture
Android architechtureAndroid architechture
Android architechture
Yojana Nanaware
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux MultimediaCaglar Dursun
 
MemVerge: The Software Stack for CXL Environments
MemVerge: The Software Stack for CXL EnvironmentsMemVerge: The Software Stack for CXL Environments
MemVerge: The Software Stack for CXL Environments
Memory Fabric Forum
 
Glossary of terms (assignment...)
Glossary of terms (assignment...)Glossary of terms (assignment...)
Glossary of terms (assignment...)gordonpj96
 
Add sale davinci
Add sale davinciAdd sale davinci
Add sale davinciAkash Sahoo
 
Resume
ResumeResume
Resume
pramod yadav
 
Operating system
Operating systemOperating system
Operating system
Nasrin Borsha
 
Glossary of terms (assignment...)
Glossary of terms (assignment...)Glossary of terms (assignment...)
Glossary of terms (assignment...)gordonpj96
 
Cluster computer
Cluster  computerCluster  computer
Cluster computer
Ashraful Hoda
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Pradeep Singh
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
Achyut Sinha
 
Direct X
Direct XDirect X
Direct X
Yash Mittal
 
Design and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web ServerDesign and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web Server
IJERA Editor
 
Data Acquisition and Control System for Real Time Applications
Data Acquisition and Control System for Real Time ApplicationsData Acquisition and Control System for Real Time Applications
Data Acquisition and Control System for Real Time Applications
ijsrd.com
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devices
Mender.io
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
Pearce Barry
 

Similar to Kernel modules (20)

K vector embedded_linux_workshop
K vector embedded_linux_workshopK vector embedded_linux_workshop
K vector embedded_linux_workshop
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
 
DACHSview++features
DACHSview++featuresDACHSview++features
DACHSview++features
 
Android architechture
Android architechtureAndroid architechture
Android architechture
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux Multimedia
 
MemVerge: The Software Stack for CXL Environments
MemVerge: The Software Stack for CXL EnvironmentsMemVerge: The Software Stack for CXL Environments
MemVerge: The Software Stack for CXL Environments
 
Glossary of terms (assignment...)
Glossary of terms (assignment...)Glossary of terms (assignment...)
Glossary of terms (assignment...)
 
Add sale davinci
Add sale davinciAdd sale davinci
Add sale davinci
 
Resume
ResumeResume
Resume
 
Operating system
Operating systemOperating system
Operating system
 
Glossary of terms (assignment...)
Glossary of terms (assignment...)Glossary of terms (assignment...)
Glossary of terms (assignment...)
 
Cluster computer
Cluster  computerCluster  computer
Cluster computer
 
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
Development of Signal Processing Algorithms using OpenCL for FPGA based Archi...
 
Appl 1340
Appl 1340Appl 1340
Appl 1340
 
Linux operating system ppt
Linux operating system pptLinux operating system ppt
Linux operating system ppt
 
Direct X
Direct XDirect X
Direct X
 
Design and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web ServerDesign and Development of ARM9 Based Embedded Web Server
Design and Development of ARM9 Based Embedded Web Server
 
Data Acquisition and Control System for Real Time Applications
Data Acquisition and Control System for Real Time ApplicationsData Acquisition and Control System for Real Time Applications
Data Acquisition and Control System for Real Time Applications
 
The ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devicesThe ultimate guide to software updates on embedded linux devices
The ultimate guide to software updates on embedded linux devices
 
Pearce Barry Resume
Pearce Barry ResumePearce Barry Resume
Pearce Barry Resume
 

Kernel modules

  • 1. Android Kernel Modules By : Alaa Abdelmoneam (Elmagic) Egypt
  • 2. Kernel Modules : •1-Network : -Netlink. -Network Scheduler. -Netfilter and nftables . 2-Sound : -Advanced Linux Sound Architecture .
  • 3. Kernel Modules (Contd)  •3- Graphics : -Direct rendering manager . -Graphics Execution manager . 4- Input : -evdev(event device).
  • 4.  Network  •** Netlink ** Netlink is a socket family used for IPC between the kernel and user space processes, as well as between user processes (e.g. Unix domain sockets) or a mixture of both types. Netlink is a flexible, robust, wire-format communications channel typically used for kernel to user communication although it can also be used for user to user and kernel to kernel communications.
  • 5.  Network (Contd) •** Network Scheduler ** A network scheduler, also called packet scheduler, is an arbiter program that manages the sequence of network packets in the transmit and receive queues of the network interface controller, which is a circular data buffer. There are several network schedulers available for the different operating system kernels, that implement many of the existing network scheduling algorithms.
  • 6.  Network (Contd) •** Netfilter ** Netfilter is a framework inside the Linux kernel which offers flexibility for various networking-related operations to be implemented in form of customized handlers. Netfilter offers various options for packet filtering, network address translation, and port translation. These functions provide the functionality required for directing packets through a network, as well as for providing ability to prohibit packets from reaching sensitive locations within a computer network.
  • 7.  Network (Contd) •** Nftables ** nftables is the project that aims to replace the existing {ip,ip6,arp,eb}tables framework. Basically, this project provides a new packet filtering framework .
  • 8.  Sound  •**Advanced Linux Sound Architecture** (ALSA) is a software framework and part of the Linux kernel that provides an application programming interface (API) for sound card device drivers. Some of the goals of the ALSA project at its inception were automatic configuration of sound-card hardware and graceful handling of multiple sound devices in a system, goals which it has largely met. ALSA is released under the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL).
  • 9.  Graphics  •**Direct rendering manager** The Direct Rendering Manager (DRM) is a subsystem of the Linux kernel responsible for interfacing with GPUs of modern video cards. DRM exposes an API that user space programs can use to send commands and data to the GPU, and perform operations like configuring the mode setting of the display. The Direct Rendering Manager can be compiled into the Linux kernel or loaded via the standard module interface.
  • 10.  Graphics (Contd) •** Graphic Execution Manager** The Graphics Execution Manager (GEM) is a computer software system developed by Intel to do memory management for device drivers for graphics chipsets. GEM is part of the Direct Rendering Manager. GEM manages graphics memory (which means dealing with Non- Uniform Memory Access (NUMA) on modern graphics chipsets) and controls the execution context for graphics-related code
  • 11.  Input  •**evdev** In computing, evdev (for event device) is a component of the Linux kernel for handling input (from keyboards, mice, joysticks, etc.) and a closely related input driver for both the X.Org Server and Wayland compositors.
  • 12. Finally   Contact Me : Facebook : https://www.facebook.com/elmagic.alaa.395