Many MIDlets are not designed to deal with failure in the midst of an operation. If such a MIDlet is updating one of its date structures when an allocation failure occurs, the date structure might end up in an inconsistent or corrupted state. Providing MIDlets with a resource reservation will prevent failures from occurring at arbitrary times, thus reducing the possibility of data structure corruption.

Limit

The limit mechanism allows a MIDlet to allocate up to a certain amount of some resource, but no more. If the MIDlet attempts to allocate more resources than its limit, the attempt fails, even if resources are actually available on the system.

Conversely, fewer actual resources might be available than a MIDlet’s limit might indicate. A MIDlet might attempt to allocate resources beneath its limit, but the attempt still fails if insufficient actual resources are available on the system.

For example, assume that 600 kilobytes total heap is available and that MIDlet A is using 400 kilobytes. MIDlet B has a limit of 300 kilobytes of heap. It receives an out- of-memory error after allocating 200 kilobytes, because that’s all the heap available, even though it is under its limit. Suppose, however, that MIDlet B has a limit of 150 kilobytes. It receives an error after allocating 150 kilobytes, even though 50 kilobytes of heap is still available.

The limit mechanism is useful to prevent MIDlets from attempting to use all available resources and thereby disrupting the operation of the system.

Reservations and limits work in concert to control competition among MIDlets that are using a pool of resources, such as heap memory or network sockets. It is typical for a running MIDlet to have both a reservation and a limit in effect at the same time. Note that it only makes sense for the limit to be greater than or equal to the reservation. A limit differs from a reservation in that a reservation guarantees that the reserved amount of the resource is always available, but it doesn’t prevent the MIDlet from attempting to exceed the reservation amount. A limit is quite complementary: It prevents the MIDlet from using more than a some amount of a resource, but it doesn’t guarantee that the amount is available.

When resources are explicitly released by a MIDlet, they might or might not become available to other MIDlets. It depends on the reservation policy for the resources.

Chapter 3 Managing Native Resources 23

Page 35
Image 35
Sun Microsystems 2 manual Limit

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.