C H A P T E R 3

Managing Native Resources

The typical device is constrained in the amount of resources, such as memory or sockets, that it has available. When the Java Wireless Client software is running on a device, it is often provided with a fixed set of resources that it cannot exceed. In a single-tasking environment, a single MIDlet has access to all of the available resources. However, in a multitasking environment, multiple MIDlets might have to compete among themselves for this fixed set of resources.

For example, assume that the Java Wireless Client software has 600 kilobytes of heap memory, and that MIDlet A requires 400 kilobytes and MIDlet B requires 300 kilobytes. The user can run either MIDlet A alone or MIDlet B alone, and each works fine. However, if MIDlet A is running and the user starts MIDlet B, MIDlet B might receive an out-of-memory error.

MIDlets sometimes allocate only some of the memory they need at startup, but allocate more memory when a certain operation is performed. For example, suppose MIDlet A is running and consumes 350 kilobytes, and the user starts MIDlet B. At startup, MIDlet B might consume only 100 kilobytes and might appear to work fine. However, when the user attempts a particular operation using MIDlet B, it might allocate the additional 200 kilobytes, causing an out-of-memory error during its operation. Alternatively, if the user switches to MIDlet A and MIDlet A allocates more memory, then MIDlet A might receive the out-of-memory error.

This is a difficult problem because each MIDlet might test successfully with the Java Wireless Client software and work fine when run individually. However, when run at the same time, the MIDlets could appear to be unstable, receiving out-of-memory errors at unpredictable times.

21

Page 33
Image 33
Sun Microsystems 2 manual Managing Native Resources

2 specifications

Sun Microsystems, founded in 1982, was a significant player in the computing industry, best known for its innovative technology solutions and workstations, particularly the Sun-4, which represented a key milestone in the company's history. The Sun-4 architecture, launched in 1987, utilized the SPARC (Scalable Processor Architecture) RISC processor, notable for its high performance and scalability.

One of the primary features of Sun Microsystems' platforms was their ability to efficiently handle multitasking and resource management, making them ideal for enterprise-level applications and development environments. Sun-4 workstations boasted impressive graphics capabilities with the addition of advanced graphical user interfaces, support for color displays, and the SUNVIEW windowing system, which enhanced user experience and productivity.

The Sun-4 systems also supported the SunOS operating system, which was based on UNIX. This operating system was engineered for stability and robustness, offering features like multiuser support, networked environments, and advanced security options. Moreover, SunOS provided seamless integration with various programming languages, including C and C++, facilitating software development that aligned with industry standards.

Another standout characteristic of Sun Microsystems was its commitment to open systems and standards. By providing developers with comprehensive tools and environments, such as the Standardized Application Programming Interface (API) and support for networking protocols, Sun facilitated interoperability among different computing platforms. The emphasis on open architecture also meant that customers could easily upgrade their systems without being locked into proprietary solutions.

Sun Microsystems was also ahead of its time with innovations in network computing. Their workstations were among the first to support network file systems and distributed computing concepts, enabling seamless data sharing across multiple systems. With the introduction of the Network File System (NFS), Sun revolutionized how data was accessed and managed across networks, which played a significant role in the evolving landscape of client-server computing.

In summary, the Sun Microsystems 2 and its successive innovations in workstation technology highlighted the company's forward-thinking approach. By integrating powerful performance with open systems, robust operating systems, and advanced networking capabilities, Sun laid the groundwork for modern computing, influencing various sectors from academia to enterprise solutions. Even after its acquisition by Oracle in 2010, the legacy of Sun Microsystems continues to be felt across the computing industry.