Blog
In the previous posts we discussed about what are device drivers and how to create one, load them into linux kernel and test them. In this post we will discuss about what to be implemented in a device driver. Core function for device drivers: An important structure in any device driver is the file_operations. It holds the pointers […]
Filesystem(FS) is a part of OS, whose purpose is to store and retrieve information (data) from any storage medium. Without a FS, information on storage medium is meaningless or just a single piece of huge data and we cannot navigate through directories/files. Device driver or File system Let’s discuss this in detail. Any storage device […]
As discussed in earlier post we know that File System is an organized way to access huge information/data stored in permanent storage devices. To retrieve meaning of the raw data from the storage device, we need a FS.In this we post we will discuss some of the important data structures used in UNIX based file system. i-node […]
Compile & Boot Linux from source code It becomes absolutely necessary for a Kernel Hacker (Linux) to compile various kernel sources and boot them for either taking traces or testing a modification for a kernel module. Although there are lot of blogs talk about this compile and booting, I found the following resource useful (http://www.wikihow.com/Compile-the-Linux-Kernel). […]
I thought sharing some code for accessing word from in little & big endian ways will be helpful for someone. get_word() implementation: int get_word(int address) { int i = address — from; //From is the start address of memory in the Linear Address Space if (CONSTANTS.BIG_ENDIAN) { return (((int) memory[i] << 24) | (((int) memory[i […]
What is Virtual memory? Virtual memory is the ‘memory management’ component of operating system, which creates the illusion to users of a very large (main) memory. Typically when RAM runs low, ‘memory manager’ move some data from RAM to a special location in disk and frees RAM. The freed memory can be used to serve […]
In a typical application using Database, it is natural all the changes for fixing bugs or new features are sent as SQL scripts. In most of the cases we have single line scripts (DDL / DML statements). But there are some scenarios we need to run multi-line scripts like creating and running some procedures / […]
Have you ever wondered how exactly the computer does all the tasks from browsing, playing games, videos, editing documents, etc… By Computers I mean everything from mobile phones, and laptops to Dedicated server class machines and even the world’s fastest supercomputers. All most all of them work on the same basic design done by Von […]
Most of the system programmer used the Timer Interrupt for various reasons especially in synchronization. Some of the including me didn’t spent much time on how exactly it works. This post is my attempt to explain my understanding on how it works? Most of the IBM compatible PCs come with a hardware unit called Programmable […]