It is possible to contemplate, now, the coming exponential proliferation of smart devices using Java and Linux. This trend is fueled by powerful and highly integrated system – on chip processors, coupled with large-capacity systems and storage memories (both disk and silicon), and empowered by wired and wireless communications interfaces (IrDA, Ethernet, Blue Tooth, 802.11).
As the boundaries of the traditional computing paradigm blur and a new reality based on distributed, interconnected, pervasive computing devices dawns, a few important attributes of the coming era draw into focus:
- The number of smart devices (products having embedded operating systems inside) will grow in a spectacular manner, reaching number in the billions.
- The choice of CPU will be more a matter of cost than architecture or technology.
- Most devices will have connectivity, whether wired or wireless.
- Most devices will have specific rather than general-purpose functionality, so their application software will be defined by their manufacturers, rather than loaded by their users.
- Almost all devices will have the ability to be upgraded or repaired remotely, by downloading new firmware or software.
It looks like most computing devices in this new era will not PCs. Instead, they will be smart appliances of various shapes and capabilities, used for information, entertainment, control and other purposes. Think of things like smart wristwatches, having PIM functions and built-in mobile phone. There are also advanced PDAs / cell phones, audio/video systems, automobile infotronics, audio/video systems, smart kitchen appliances and PC-like desktop terminals. The list can continue…
This is a very fertile field for Linux. As the variety and number of devices with embedded intelligence grows exponentially, the need to minimize costs and maximize specialization increases correspondingly. Embedded Linux becomes a highly desirable technology for the operating system due to its scalability, configurability and affordability.
It is worth nothing that until recently, the cost penalty associated with the CPU and memory resources necessary to run Linux had been a somewhat limiting factor, relative to using it in cost-sensitive devices. The baseline needs of embedding Linux 2MB Flash and 4MB RAM memory and a moderate speed processor have become reasonably inexpensive, thanks in large measure to Moore’s Law.
Moore’s law is the empirical observation in 1965 that the number of transistors on an integrated circuit for minimum component cost, doubles every 24 months. It is attributed to Gordon E. Moore, a co-founder of Intel. Gordon Moore’s observation was not named a “law” by Moore himself, but by the Caltech professor, VLSI pioneer, and entrepreneur Carver Mead.
Another important challenge in this new era in which we’ll be surrounded by billions of increasingly intelligent devices, all communicating with one another, is the obvious need to simplify and quicken the process of application development, deployment and maintenance. In this regard, Java appears postured to play an increasingly significant role.
Java was initially developed to serve as an embedded operating system within smart devices, but ended up providing a convenient means to enable moving applications around among computing devices, propelled to this position by the dramatic emergence of the Web.
Despite its early failure as an embedded operating system, Java is showing promise in the role of providing a device independent application platform, provides the benefit of masking the unique aspects of the underlying device and providing an array of services beyond those offered by the embedded operating systems.
One interesting example of a product based on a combination of embedded Java + Linux is a consumer entertainment system that was recently announced by Hewlett-Packard.