It is a Char Device driver for linux kernel, it consists of a dynamic circular queue, that uses IOCTL calls to talk to user programs to:
- Set the size of queue
- Push data to queue
- Pop data from queue
- Clone the repo
- Go to /kernel folder and run
make sudo insmod vk.ko sudo mesg -w
- Open another terminal and go to /user folder
- And compile and run the user programs , configurator.c filler.c and redear.c
gcc configuartor.c -o configurator gcc filler.c -o filler gcc redear.c -o redear
- Run
sudo ./configuartor sudo ./filler sudo ./redear
- Blocking nature for POP : When the queue is empty and you try to pop some data out, the queue goes to waiting mode and waits untill received by an interupt or data is pushed by some other program.
- The queue uses mutex so, it can be used by multiple user programs at the same time


