Device Driver & Writing (Dept Elec - III) (2181106)   Old Code : 181106

Syllabus

Sr. Topics Teaching Hours Module Weightage
1
An Introduction to Device Drivers and Char Drivers:
The Role of the Device Driver, Splitting the Kernel, Classes of Devices and Modules, Security Issues, Building and Running Modules. The Design of scull, Major and Minor Numbers, Some Important Data Structures, Char Device Registration, open and release, scull’s Memory Usage, read and write
12
25 %
2
Debugging Techniques
Debugging Support in the Kernel, Debugging by Printing, Debugging by Querying, Debugging by Watching, Debugging System Faults, Debuggers and Related Tools
4
8 %
3
Concurrency and Race conditions:
Pitfalls in scull, Concurrency and Its Management, Semaphores and Mutexes, Completions, Spinlocks, Locking Traps, Alternatives to Locking.
4
8 %
4
Advanced Char driver operations:
Ioctl, Blocking I/O, poll and select, Asynchronous Notification, Seeking a Device, Access Control on a Device File
3
5 %
5
Time, Delays and Deferred work:
Measuring Time Lapses, Knowing the Current Time, Delaying Execution, Kernel Timers, Tasklets, Workqueues.
3
5 %
6
Allocating memory and communicating with hardware:
Lookaside Caches, get_free_page and Friends, vmalloc and riends, PerCPU Variables, Obtaining Large Buffers, I/O Ports and I/O Memory Using I/O Ports, An I/O Port Example, Using I/O Memory.
6
12 %
7
Interrupt handling and data types in the kernel:
Preparing the Parallel Port, Installing an Interrupt Handler, Implementing a Handler, Top and Bottom Halves, Interrupt Sharing, Interrupt-Driven I/O, Use of Standard C Types, Assigning an Explicit Size to Data Items, Interface-Specific Types, Other Portability Issues, Linked Lists.
6
12 %
8
PCI drivers and USB drivers:
The PCI Interface, A Look Back: ISA, PC/104 and PC/104+ Other PC Buses, SBus, NuBus, External Buses, USB Device Basics, USB and Sysfs, USB Urbs, Writing a USB Driver, USB Transfers Without Urbs.
10
25 %