What is kernel in operating system?
Kernel is nothing but the software which is backbone of the operating system. It's easy to build an operating system but it's not easy to build a kernel. Usually a operating system consists of the tools which are of usual use and people building operating system build these tools on their own using languages like C++ or C but when it comes to kernel they have to look on the open source kernels like linux. So coming to topic again the kernel makes the backbone of an operating system. It makes the bridge between softwares and hardware. Software to perform a specific task it communicates with kernel to receive input and also communicates back the output of an operation. Usually to make anti-virus softwares ineffective rootkits are used by hackers which take over the kernel of the system and starts sending false messeges to anti-virus program regarding virus detection which makes it totally ineffective. So, this is the importance of the kernel in an operating system.
What is dynamic memory allocation? How it is done?
In regular programming we face the problem of the fact that if a variable is unused in a program then the memory gets wasted and as a result the system memory gets overloaded and leads to crashing of the system if applied on a big program. To cope up with this problem the concept of dynamic memory allocation is used. This is nothing but allocating the memory during runtime of the program and thus saving the memory if it is not used. Basically the 'new' operator is used for dynamic allocation in C++ , whereas malloc() function is used in C programming.
What are pointers??
Pointers are the most important concept in the field of programming. It's basically the way of accessing the memory location of the stored variables or the data. It helps us to directly deal with the memory location instead of the copying the data from the memory and using it somewhere else.