Download PDF version of this article PDF

Embedded Linux Primer:

A Practical Real-world Approach

Christopher Hallinan, Prentice Hall PTR, 2006, $44.99, ISBN: 0131679848

The recent evolution of embedded network appliances has been dominated by a rather surprising fact: the general-purpose operating system, Linux, has proved itself a major competitor in this area, and many embedded devices now have a Linux kernel as their main driving technology. Such devices can range from portable appliances to heavy-duty industrial control-process devices.

Relying on Linux as an underlying platform has major financial and technological advantages: its large developer community, its open source-based software development process, and the superior technological quality of a well-designed Linux system are the ingredients for a reliable and cost-effective system. This design process, however, requires deep knowledge of the necessary tools, conceptual approaches, and targeted system hardware. Embedded Linux Primer addresses this process and provides a solid technical and practical overview of the essentials required to succeed with such a project.

Developers must face only a few, but quite difficult, issues when designing a Linux-based embedded system: compiling the kernel to fit a particular microprocessor, designing and implementing a file system, programming device drivers, and debugging the overall programming activity. These topics represent the main logical flow of Embedded Linux Primer. It starts with an introductory chapter on embedded systems and then moves on to a realistic first example. The next chapters are detailed overviews of the core components encountered in an embedded Linux system, and the following chapters show that the Linux kernel can be adapted to work on a broad range of processors. The next two chapters address, respectively, the issues of kernel initialization and system initialization, which are important steps during a system startup procedure.

Since an embedded device is not a mere processor, but, rather, an ensemble of processor, memory, storage space, and additional hardware, the author continues in the remaining three chapters with topics related to file systems, boot loaders, flash chips, and the popular BusyBox distribution. The last logical part of the book is centered on the development process for embedded Linux.

This book is a welcome addition for all Linux enthusiasts. Written by a highly competent author, it addresses the important topic of pushing Linux to the embedded devices within consumer-oriented smart appliances. This work is a must-read for anyone wishing to learn the basics of embedded Linux development; many other types of readers will also appreciate this very interesting book.

—Radu State

Pro JSF and Ajax: Building Rich Internet Components

Jonas Jacobi and John Fallows, Apress, 2006, $49.99, ISBN: 1590595807

JSF (JavaServer Faces) is a standard framework that seeks to solve incompatibilities. The first part of this book is on JSF. The second part is on designing rich Internet components. The whole book is a good blueprint for implementing JSF and RIT (rich Internet technologies). The code examples throughout the book are working samples.

The two parts span 10 chapters. The initial chapters help the reader understand the JSF event model and how to create client-specific renderers. The next few chapters provide a good introduction to the market’s leading view technologies: Ajax, Microsoft’s HTCs (HTML components), and Mozilla’s XUL (XML User Interface Language). These chapters also discuss weblets, resource loading, and weblet integration with JSF. The last few chapters address the Ajax-enabling of the Date Field component, RIA (rich Internet applications) technology, Mozilla XUL renderers, and Microsoft’s HTC renderers.

The description of the JSF component model and life cycle is so good that a beginner could follow it, but in general, this book is not for beginners. A good deal of experience in J2EE would be helpful. The examples provided are working and extensible. The essentials of the technology, such as creating prototypes and renderers, are well explained. The next step for Java-based Internet applications is improved usability of RIA.

The authors present, with equal weight, an in-depth examination of the architecture and component models of Ajax, XUL, and HTC. This book is a good resource for experienced developers in this area of technology.

—S. Balaraman


Originally published in Queue vol. 5, no. 3
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.