Portable operating environment for information devices
First Claim
1. A software program for providing instructions to one or more processors to execute processes on an embedded computing device configured for establishing a network connection with at least one other computing device, comprising:
- (a) an operating system layer;
(b) an application framework; and
(c) a programming environment including a contention locking scheme for setting light object locks, which are handled in user space, and heavy object locks, which are handled at the system level, and wherein the contention locking scheme is configured to set a light object lock on an initially unlocked object when a first thread attempts to lock the object, and to maintain a light lock on the object when a nested intra-thread lock is attempted by the first thread.
2 Assignments
0 Petitions
Accused Products
Abstract
A software program for use on an embedded computing device includes an operating system layer, an application framework, and a programming environment. the programming environment includes a contention locking scheme for setting light object locks, which are handled in user space, and heavy object locks, which are handled at the system level. The contention locking scheme is configured to set a light object lock on an initially unlocked object when a first thread attempts to lock the object, and to maintain a light lock on the object when a nested intra-thread lock is attempted by the first thread.
-
Citations
20 Claims
-
1. A software program for providing instructions to one or more processors to execute processes on an embedded computing device configured for establishing a network connection with at least one other computing device, comprising:
-
(a) an operating system layer;
(b) an application framework; and
(c) a programming environment including a contention locking scheme for setting light object locks, which are handled in user space, and heavy object locks, which are handled at the system level, and wherein the contention locking scheme is configured to set a light object lock on an initially unlocked object when a first thread attempts to lock the object, and to maintain a light lock on the object when a nested intra-thread lock is attempted by the first thread. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A software program for providing instructions to one or more processors to execute processes on an embedded computing device configured for establishing a network connection with at least one other computing device, comprising:
-
(a) an operating system layer;
(b) an application framework; and
(c) a programming environment including a contention locking scheme for setting light object locks, which are handled in user space, and heavy object locks, which are handled at the system level, and wherein the contention locking scheme is configured to set a light object lock on an initially unlocked object when a first thread attempts to lock the object, and to maintain a light lock on the object when a nested intra-thread lock is attempted by the first thread, and (d) wherein the contention locking scheme includes a stack-based local lock slot structure for addressing stack variables to identify threads, and (e) wherein the contention locking scheme further includes a lock structure and a lock structure reference in an object header of the object, the lock structure including a lock holder and wait queues.
-
-
11. A method for executing processes with contention-locking which uses light locks, which are handled at the user level, and heavy locks, which are handled at the system level, on an embedded computing device configured for establishing a network connection with at least one other computing device, comprising the steps of:
-
(a) setting a light object lock, for handling at the user level, on an initially unlocked object when a first thread attempts to lock the object; and
(b) determining to maintain the light object lock when a nested intra-thread lock is attempted by the first thread. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification