EmbLogic's Blog

Category Archives: Uncategorized

Usb driver

Endpoints Endpoints can be described as sources or sinks of data. As the bus is host centric, endpoints occur at the end of the communications channel at the USB function. At the software layer, your device driver may send a … Continue reading →

Posted in Uncategorized | Leave a comment

USB

Unlike RS-232 and similar serial interfaces where the format of data being sent is not defined, USB is made up of several layers of protocols. Once you understand what is going on, you really only have to worry about the … Continue reading →

Posted in Uncategorized | Leave a comment

Progress Bar

van anybdy tell me …how to check the %age of running shell script…ie how much it is completed(so dat i cn show it by a progress bar)…this shell script is mainly used here to install a no of library packages…dat … Continue reading →

Posted in Uncategorized | Leave a comment

usb driver

All devices have an upstream connection to the host and all hosts have a downstream connection to the device. Upstream and downstream connectors are not mechanically interchangeable, thus eliminating illegal loopback connections at hubs such as a downstream port connected … Continue reading →

Posted in Uncategorized | Leave a comment

Wait queue pointer

Wait queues are implemented as cyclical lists whose elements include pointers to process descriptors. Each element of a wait queue list is of type wait_queue: struct wait_queue { struct task_struct * task; struct wait_queue * next; }; Each wait queue … Continue reading →

Posted in Uncategorized | Leave a comment

Wait queue

Wait queues have several uses in the kernel, particularly for interrupt handling, process synchronization, and timing. Wait queues implement conditional waits on events: a process wishing to wait for a specific event places itself in the proper wait queue and … Continue reading →

Posted in Uncategorized | Leave a comment

network driver

struct net_device *alloc_netdev(int sizeof_priv, const char *name, void (*setup)(structnet_device *)); Here, sizeof_priv is the size of the driver’s “private data” area; with network devices, that area is allocated along with the net_device structure. In fact, the two are allocated together … Continue reading →

Posted in Uncategorized | Leave a comment

Original parent of process

p_opptr (original parent):- Points to the process descriptor of the process that created P or to the descriptor of process 1 (init) if the parent process no longer exists. Thus, when a shell user starts a background process and exits … Continue reading →

Posted in Uncategorized | Leave a comment

network driver

struct net_device *alloc_etherdev(int sizeof_priv); This function allocates a network device using eth%d for the name argument. It provides its own initialization function (ether_setup) that sets several net_device fields with appropriate values for Ethernet devices.

Posted in Uncategorized | Leave a comment

Parenthood Relationships Among Processes

Processes created by a program have a parent/child relationship. Since a process can create several children, these have sibling relationships. Several fields must be introduced in a process descriptor to represent these relationships. Processe 0 and 1 are created by … Continue reading →

Posted in Uncategorized | Leave a comment

USB

Unlike RS-232 and similar serial interfaces where the format of data being sent is not defined, USB is made up of several layers of protocols. While this sounds complicated, don’t give up now. Once you understand what is going on, … Continue reading →

Posted in Uncategorized | Leave a comment

network Driver

struct sk_buff Designed to easily support encapsulation/decapsulation of data through the protocol layers. In addition to the data itself, an sk_buff maintains head : the start of the packet data : the start of the packet payload tail : the … Continue reading →

Posted in Uncategorized | Leave a comment

Runqueues

The runqueue list groups together all processes in a TASK_RUNNING state. When it comes to grouping processes in other states, the various states call for different types of treatment. Processes in a TASK_STOPPED or in a TASK_ZOMBIE state are not … Continue reading →

Posted in Uncategorized | Leave a comment

Runqueues

The add_to_runqueue( ) function inserts a process descriptor at the beginning of the list, while del_from_runqueue( ) removes a process descriptor from the list. For scheduling purposes, two functions, move_first_runqueue( ) and move_last_runqueue( ), are provided to move a process … Continue reading →

Posted in Uncategorized | Leave a comment

The list of TASK_RUNNING processes

When looking for a new process to run on the CPU, the kernel has to consider only the runnable processes (that is, the processes in the TASK_RUNNING state). Since it would be rather inefficient to scan the whole process list, … Continue reading →

Posted in Uncategorized | Leave a comment