EmbLogic's Blog

Signals

Signal handlers usually execute on the current stack of the process. This lets the signal handler return to the point that execution was interrupted in the process. This can be changed on a per-signal basis so that a signal handler executes on a special stack. If a process must resume in a different context than the interrupted one, it must restore the previous context itself.

What it means ?????

Posted in Uncategorized | Leave a comment

GFP_KERNEL

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 is performed on behalf of a process running in the kernel space.This means that the calling function is executing a system call on behalf of a process.Using GFP_KERNEL means that kmalloc can put the current process to sleep waiting for a page when called in low-memory situations.

A function that allocates memory using GFP_KERNEL must, therefore, be reentrant and cannot be running in atomic context. While the current process sleeps, the kernel takes proper action to locate some free memory, either by flushing buffers to disk or by swapping out memory from a user process.

Posted in Uncategorized | Leave a comment

A , B , C …. Java Blah Blah

Today there are so many computer languages that we use, it has been long since we are using the C language. But with new languages being developed , is it that C has eventually become out dated, or there are chances that it might get replaced ???

What is the current scenario ???

Posted in Uncategorized | 5 Comments

fork

pid_t fork(void);

fork()  creates  a new process by duplicating the calling process.  The new process, referred to as the child, is an  exact  duplicate  of  the calling  process,  referred  to as the parent, except for the following points:

  • The child has its own unique process ID, and this PID does not match the ID of any existing process group.
  • The  child’s  parent  process ID is the same as the parent’s processID.
  • The child does not inherit  its  parent’s  memory  locks.
  • Process  resource  utilizations and CPU time counters are reset to zero in the child.
  • The child’s set of pending  signals  is  initially  empty.
  • The  child  does  not  inherit semaphore adjustments from its parent.
  • The child does not inherit record locks from its parent.
  • The  child  does  not  inherit timers from its parent.
  • The child does not inherit outstanding asynchronous  I/O  operations from its parent.
Posted in Linux Internals and System Programming | 1 Comment

Data Compression

Compression

Data compression is often referred to as coding, where coding is a very general term encompassing any special representation of data which satisfies a given need.

A simple characterization of data compression is that it involves transforming a string of characters in some representation (such as ASCII) into a new string (of bits, for example) which contains the same information but whose length is as small as possible. Data compression has important application in the areas of data transmission and data storage. Many data processing applications require storage of large volumes of data, and the number of such applications is constantly increasing as the use of computers extends to new disciplines.

Posted in Word from Admin | 2 Comments

Hello Embedded Wizards

This blog is designed for the latest updates necessary for the embedded enthusiasts.

Posted in Word from Admin | 4 Comments