View the Most Wanted LQ Wiki articles.
LinuxQuestions.org > Linux Wiki > Embedded

From LQWiki

Jump to: navigation, search

Embedded Hardware

A computer is said to be Embedded if it's purpose is to be a part of a larger system, rather than a stand-alone machine.

The requirements on embedded computers are different to those on servers desktop machines. A small size is normally paramount, and so unneeded parts are removed. This often means that embedded computers do not have hard disks, but often use solid-state memory (or occasionally cheap read-only media such as CD-ROMs) to store the operating system.

Because they are parts of larger computers, embedded computers do not normally interact directly with a human being. Often, they do not have monitors or keyboards; instead they normally communicate over some sort of network or serial link. A notable exception to this would be a computer that is displays the output of another system, which would probably have a monitor but would not be likely to have a keyboard.

GNU/Linux is an ideal operating system for an embedded system, because it can be installed in a very small amount of storage space. DSL is an example of a distribution with small space in mind. On the other hand, it can be hard to install Linux on a randomly-chosen embedded computer as the hardware used tends not to be as standard as in larger systems. However, many companies do offer dedicated embeddable units running Linux.

Embedded Software

A computer program, or program library, can also be embedded into another program. This means that part of the work of the program is handled by code located outside of the program code, and linked to it only when the program is run.

There are three ways of doing this.

Static linking means embedding dependency information into the executable file so that a library is loaded and linked by the operating system when the program is run.

Dynamic linking means that the program generates the path to a library file and asks the operating system to load it when appropriate.

The third way is embedding in the user interface; this is where the output of one program is displayed in a window belonging to another. X-Windows provides a mechanism whereby a window handle can be taken from an area of a window can be used to display the output of another program. This is re-implemented in KDE using the KParts mechanism , which extends this functionality.

Netscape also established a method of doing this securely in Netscape Navigator (a method inherited by Mozilla Firefox and used by other browsers, including Konqueror). This method is called Plug-Ins, and is mainly used to display documents with active content, like movie files, PDF documents, Macromedia Flash files, and so on.


Personal tools