Innovation... driven by intelligence and logic

Block Device Driver Development

Modules and Projects

in

Embedded Systems Software Engineering


Module 12: Block Device Driver Development

Abstract:

A Block device driver provides access to the block devices that transfer randomly accessible data in fixed size of blocks .All the mass storage devices are Block devices so they all need block driver i.e. Pen drive, hard disk .A block is a fixed size of junk of data determined by the linux kernel . Blocks are generally 4096 of bytes generally but their size depends on the architecture and the file system type . Block drivers are conduit between core memory and secondary storage because modern systems with virtual memory shift unneeded data to the secondary storage . Similarly a Sector is small size of block which size is usually determined by the underlying hardware . Today block devices becomes necessary part to store large amount of data .

Training Contents for Module 11 Block Device Driver Development

  • Introduction to Kernel Block IO Layer
  • Introduction to Block Device Driver Architecture
  • Block Device Driver Registration and Initialization
  • Gendisk Allocation
  • Block Data Structures and Methods
  • IO Scheduling
  • Request Queue Configuration
  • Request Queue Architecture
  • Implementing Block IO Operations
    • ​open
    • ioctl
    • direct_access
    • media_change
    • getgeo
  • Request Processing and Optimization
  • Direct memory Access (DMA)

Other Modules in ESSE Training are as follows.

Sl No

Module/Project

Sessions

labs

Hours

1

Linux System Administration.   click here for more...

5

5

30

2

Data Structures with C using Linux, vim, gcc, gdb, SCCT.   click here for more...

25

35

190

3

Shell Scripting using Bash.   click here for more...

10

5

52

4

Linux Network Administration.   click here for more...

5

5

30

5

C++ with Eclipse and QT on Linux.   click here for more...

20

25

160

6

Linux System Programming using Processes, IPC, Sync & threads.   click here for more...

10

15

80

7

Linux System Programming, Data Management and MySQL.   click here for more...

10

10

44

8

Linux Network Programming using Sockets & NW Protocols.   click here for more...

10

15

80

9

Character Device Driver Development.   click here for more...

20

20

120

10

Parallel Port Device Driver Development.   click here for more...

5

5

30

11

Serial Port Device Driver Development.   click here for more...

5

5

30

12

Block Device Driver Development.   click here for more...

10

10

60

13

Embedded Linux ARM, Configuring and Porting using Storage.   click here for more...

10

10

60

14

An Embedded Linux on ARM, Configuring GUI and Interfaces.   click here for more...

10

10

60

15

Programming and Scripting using Python using Eclipse on Linux.   click here for more...

20

20

120

 

Total

175

Sessions

195

Labs

1130

Hours


__Back__


EmbLogic™ is an ISO 9001:2008(QMS) (Quality Management System) Certified Company.

Go to Top ^