? Use the gdb command backtrace. In the backtrace below, we can see that we are currently inside func2(), which was called by func1(), which was called from main() (gdb) backtrace #0 func2 (x=30) at test.c:5 #1 0x80483e6 in func1 … Continue reading
Applications that use nonblocking I/O often use the poll, select, and epoll system calls as well. poll, select, and epoll have essentially the same functionality .each allow a process to determine whether it can read from or write to one … Continue reading
The scullpipe driver is a special form of scull that implements a pipe-like device. Within a driver, a process blocked in a read call is awakened when data arrives,usu- ally the hardware issues an interrupt to signal such an event, … Continue reading
Unix systems have traditionally restricted privileged operations to the superuser account. This meant that privilege was an all-or-nothing thing—the superuser can do absolutely anything, but all other users are highly restricted. The Linux kernel pro- vides a more flexible system … Continue reading
The prototype of kmalloc is: void *kmalloc(size_t size,int flags); The first argument to the kmalloc is the size of the block to be allocated.The second argument is allocation flag. The most commonly used allocation flag is GFP_KERNEL means that allocation … Continue reading