The implementation of USB Pendrive device driver theme is to gain the practical knowledge of working of modules and kernels, where we learn how the module is loaded in kernel for the execution of the code.
In this project, we aim to implement support for loadable kernel modules. As mentioned an ideal set of tools in Linux for supporting the kernel module include some additional OS facilities for inserting a module, removing a module and thus stating the currently loaded modules. Some other slightly advanced features include about determining the dependencies among the modules or loading or unloading the kernel modules based on its dependency with the other modules. System calls from user processes.
The kernel calls a device driver to perform the I/O operations on the device such as the open (2), read(2), and ioctl (2) functions User-level requests. The kernel calls the device drivers to send requests from the commands such as the prtconf(1M). Device interrupts. The kernel calls a device driver to handle the interrupts generated by a certain device.
sudo insmod readwrite.ko
sudo gcc -o read_write_2 readwrite2.c
sudo ./read_write_2