Canada IT Courses
ExitCertified US




ExitCertified - Excellence in IT Certified Education
 
IT education classes
IT training feature sheet
 
   
 
start > courses and registration > training feature sheet
 
 
ibm certified training   this course works with savings passes
 
code. QLX90   length. 5 days
type. Instructor-Led   partner. IBM
price.
$2,700  
 
 
There is a vast amount of open information about the Linux operating system. Learn how to locate information about device drivers for unique or unusual device types. While this course focuses on devices for the Personal Computer (PC) environment, the basic knowledge gained is essential for writing device drivers for any hardware platform. Learn to write device drivers for character and block devices in the Linux operating system.

Perhaps the most challenging job for a Linux programmer is to write a device driver. It requires not only a strong C programming background, but also intimate knowledge of some aspects of the Linux kernel, and familiarity with the characteristics of the hardware for which the device driver is to be written. Get detailed information of the workings of the Linux kernel that are essential to support device drivers, such as file system structures, memory management, timing functions and kernel building and debugging. Also, learn about those aspects of various hardware devices that come in to play with the device drivers, such as interrupt handling for both block and character devices. Reinforce your learning experience with many lab exercises. This course assumes you already have programming skills.
 
course schedule  
 
There are currently no scheduled dates for this course. If you are interested in this course, request a course date with the links below.
   
Request course date Request on site training
 
who can benefit
 
 
System programmers who need to write device drivers for Linux.
 
prerequisites
 
 
You should complete:

Linux Internals Overview (QLX95)
or have working familiarity with the Linux kernel. You should also have moderate to strong C programming skills.


 
skills gained
 
 

Explain the differences between user memory and kernel memory
List the major subsystems of the Linux kernel
Describe several types of Linux kernel extensions
Describe the address space architecture of a 32-bit, Intel-based Linux process
List and describe the characteristics of the states of the life cycle of a Linux process
Explain how Linux implements file and device Input/Output (I/O) operations
Explain how the Linux kernel implements the virtual file system concept
Locate the Linux source code and header file directory trees
Use the printk( ) function to print messages from within the Linux kernel
Build a new Linux kernel
Relate the significance of the above objectives to the role of a Linux device driver writer
Write, compile, install, and remove simple Linux kernel modules
List the modules being used by the kernel
Pass parameters into module code when the code is loaded into the kernel
Export or prevent the exporting of symbols from one module to another
Stack modules
Describe the kernel structures used to manage modules
Describe how Linux implements the virtual file system concept and how it relates to device I/O
Write applications that perform file I/O with a simple character device driver
Explain how Linux assigns device major numbers
Create a device special file using the mknod command
Implement macros that track the current usage of a device driver
List the aspects of hardware involved in writing a simple device driver
Explain the use of I/O ports and Interrupt Requests (IRQ)
Allocate and free I/O ports and IRQ lines
Describe how interrupts occur and how to handle them
Describe the pin configuration of the parallel port
Write data to an I/O port
Read data from I/O ports
Build a complete character-based device driver
Use the ioctl( ) system call to control the behavior of a device driver from an application
Explain the logic behind ioctl( ) command values and use macros to manipulate them
Copy data from an application in user space to a device driver in kernel space
Copy data from a device driver in kernel space to an application in user space
Access fields from the task_struct structure of a process that is using the device driver
Perform blocking and non-blocking I/O operations
Use various time management techniques within a device driver
Describe and use various kernel task queues
Allocate and deallocate memory from within a device driver
Describe the entire scope of Linux interrupt handling
Install fast and slow interrupt handlers
Install and call bottom half interrupt handlers
List and describe many ways of disabling interrupts in Linux
Describe many ways of setting IRQs within a Linux device driver
Use the /proc file system to help determine IRQs and track number of interrupts
Briefly describe the characteristics of the Peripheral Component Interconnect (PCI) hardware environment
Describe the address layout of the PCI environment
Describe the layout of the PCI configuration header
Write a module that detects a PCI device
Describe how the functions referenced by a block device driver jump table differ from those referenced by a character device driver
Register and unregister a block device driver
Create a device driver that supports multiple devices through minor numbers
Describe the attributes that the Linux kernel maintains for block device drivers
Populate Linux kernel structures with attribute information for a block device
Describe the use of the blk_dev_struct structure
Code I/O requests for a block device driver
Code a block device driver to properly open, close and clean up a block device


 
ibm education advantage program eligibility:
 
 

Yes - IBM Education Pack - online account




 
course content details  
 


  Course Topics

Review of the Linux kernel
Creating Linux modules
Creating a character device driver
Managing hardware resources
Programming with ioctl( )
Interrupt handling
Utilities for Linux device drivers
Creating a block device driver
Mapped I/O
PCI





 
Free $100 Best Buy Gift Certificate

Save on IBM Training



find a course
 
phone us
 
view course schedule





Free PSP - FREE GPS

 
go to top
Sun Microsystems, Veritas, Oracle, Symantec, and Project Management IT Education Sun Microsystems, Veritas, Oracle, Symantec, and Project Management IT Education
© 2008 ExitCertified. All rights reserved.
terms of use and disclaimer :: privacy policy :: webmaster :: link to us
   
Sacramento Training :: 916.669.3970 | Las Vegas Training :: 1.800.803.EXIT (3948) | San Francisco Training :: 415.975.3948 | San Jose Training :: 408.288.EXIT (3948)
Phoenix, Arizona Training | Los Angeles, California Training | San Diego, California Training | Broomfield, Colorado Training | Fort Lauderdale, Florida Training
Tampa, Florida Training | Atlanta, Georgia | Downers Grove, Illinois | Kansas City, Kansas Training | Portland, Maine Training | Baltimore, Maryland Training | Burlington, Massachusetts Training
Troy, Detroit, Michigan Training | Minneapolis, Minesota Training | St. Louis, Missouri Training | Omaha, Nebraska Training | Edison, New Jersey Training | New York City, New York Training
Raleigh, North Carolina Training | Columbus, Ohio Training | Philadelphia, Pennsylvania Training | Nashville, Tennessee Training | Dallas, Texas Training
Houston, Texas Training | Hampton, Virginia Training | Madison, Wisconsin Training | Seattle, Washington Training

ExitCertified is a global provider of authorized technology training. Some of our popular course topic searches include:

Java Training | J2EE Training | JSP Training | Java Courses | Servlets Training | EJB Training | Struts Training | Networking Courses | Solaris Training
Red Hat Training | SUSE Training | XML Training | Oracle SQL | Oracle PL/SQL | DBA Training | DBA Certification | Oracle Certification
RedHat Training | Solaris Certification | Java Certification | Veritas Certification | PeopleSoft Training | 11g Training | 11g Certification
RedHat Courses | SQL Training | 10g Training | 9i Training | Application Development Training | Certified Training | Corporate Training
Government Training | Course Catalogue | Training Schedule | Certification Training | Project Management Training | Linux Training
Solaris 10 Training | Unix Training | NetBackup Training | Virus Protection Courses | Education Technology Newsletter | zSeries Training
s/390 Training | iSeries Training | DB2 Training | OS/400 Training | AIX Training | Rational Courses | PMI Training | Project Management Training
SeeBeyond Training | Java Composite Application Platform (JCAPS) Training | MySQL Training | MySQL Database Course | Hyperion Training | Fusion Middleware